QUIK के लिए प्रोग्रामिंग ट्रेडिंग रोबोट के लिए एल्गोरिथम भाषा QPILE।
ट्रेडिंग रोबोट को प्रोग्राम कोड के समान एक विशिष्ट भाषा में लिखा जा सकता है। QPILE उनमें से एक है, यह लेख इस भाषा पर विचार करेगा, QPILE और
LUA भाषाओं की तुलना करेगा , और इस भाषा में रोबोट के उदाहरण भी देगा।
- QPILE के बारे में सामान्य जानकारी
- एक टेबल के साथ काम करना
- QPILE निर्माण
- डेटा के प्रकार
- भाव
- कार्यों
- डिबगिंग कार्यक्रम
- QPILE या LUA?
- QPILE पर ट्रेडिंग रोबोट कैसे बनाएं?
- QPILE पर ट्रेडिंग रोबोट – तैयार समाधान
- मूविंग एवरेज रोबोट
- एन। मोरोस्किन स्थिति कैलकुलेटर
- वॉल्यूम फ़िल्टर
- विकल्प यूनानी
- क्विक के लिए ट्रिक्स ट्रेडिंग रोबोट
- M4 प्रीप्रोसेसर
QPILE के बारे में सामान्य जानकारी
QPILE एक संक्षिप्त नाम है जो QUIK प्रोग्रामेबल इंटरफेस और लॉजिक एनवायरनमेंट के लिए है।
यह QUIK वर्कस्टेशन द्वारा व्याख्या की गई कमांड की एक श्रृंखला है। इसका उपयोग मुख्य रूप से प्रतिभूतियों के पोर्टफोलियो की कीमत की गणना करने के लिए किया जाता है। भाषा का उपयोग इसके लिए भी किया जाता है:
- ब्रोकर के डेस्कटॉप और उनके पोर्टफोलियो में ग्राहकों की संपत्ति की कीमत का गतिशील पुनर्गणना। बाद के मामले में, उनकी कुल कीमत भी पुनर्गणना की जाती है;
- मार्जिन ऋण देने के लिए अपने स्वयं के एल्गोरिदम और डेटा का उपयोग करके लापता संकेतक ढूंढना;
- सही ट्रेडिंग रणनीति विकसित करना।
भाषा तालिका की संरचना का वर्णन करती है: स्तंभों और पंक्तियों की नियुक्ति, सूत्र। उत्तरार्द्ध में, गणना के लिए गणितीय संचालन, चर, अन्य तालिकाओं के डेटा का उपयोग किया जा सकता है। QUIK सर्वर या उपयोगकर्ता की डिस्क से लोड किए गए प्रोग्राम कोड को भाषा दुभाषिया द्वारा संसाधित किया जाता है, जो सूत्रों में मानों की गणना करता है। एक प्रोग्राम की तालिकाओं में एक डेटा स्रोत होता है, लेकिन गणना दोहराई नहीं जाती है और सिस्टम की दक्षता को प्रभावित नहीं करती है। QUIK तालिकाओं के साथ काम करते समय, QPILE पर तालिकाओं में मानक कार्य होते हैं। कार्यस्थल में QUIK QPILE कोड डीबगर से लैस है। https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm भाषा आपको किसी दिए गए ढांचे के साथ नई तालिकाओं का वर्णन करने, कुछ मूल्यों के साथ कोशिकाओं को हाइलाइट करने, गणितीय और तार्किक अभिव्यक्तियों के आधार पर फ़ील्ड की गणना करने की अनुमति देगी। उपयोगकर्ता को ध्वनि संकेत या पाठ संदेश के रूप में सूचनाएं प्राप्त होंगी। QPILE पर तालिकाओं को ODBC और DDE सर्वर के माध्यम से संपादित, मुद्रित, कॉपी, निर्यात किया जा सकता है। प्रारंभिक डेटा QUIK तालिकाओं से हैं:
- निष्पादन और अवैयक्तिक सहित लेनदेन;
- ओवर-द-काउंटर ट्रेडों और ऑर्डर के लिए स्टॉप ऑर्डर सहित ऑर्डर – निपटान सौदों में ट्रेडों के लिए रिपोर्ट;
- “क्लाइंट पोर्टफोलियो”, “खरीदें / बेचें”
- पैसे, ट्रेडिंग अकाउंट, इंस्ट्रूमेंट द्वारा प्रतिभागी की स्थिति से डेटा।
QPILE पर आधारित तालिकाओं को संदर्भ मेनू के माध्यम से एक टेक्स्ट फ़ाइल में कॉपी नहीं किया जा सकता है और तकनीकी विश्लेषण प्रणालियों को निर्यात किया जा सकता है, और उनके आधार पर चार्ट विकसित नहीं किए जा सकते हैं। QPILE-आधारित तालिकाओं को फ़िल्टर या सॉर्ट नहीं किया जा सकता है।
एक टेबल के साथ काम करना
प्रोग्राम कोड लोड करने के लिए, आपको सेवा मेनू, फिर QPILE स्क्रिप्ट का चयन करना होगा। आप संयोजन Ctrl+F11 का भी उपयोग कर सकते हैं। आपको “जोड़ें” पर क्लिक करने और वांछित फ़ाइल का चयन करने की आवश्यकता के बाद। इसका एक .qpl एक्सटेंशन है और इसका नाम उपलब्ध स्क्रिप्ट सूची में दिखाई देगा।
- तालिका नाम;
- कॉलम और क्लाइंट की संख्या;
- पहचानकर्ताओं और ग्राहकों की सूची;
- मापदंडों की सूची और फ़ाइल का स्रोत कोड।
QPILE निर्माण
डेटा के प्रकार
- स्ट्रिंग – स्ट्रिंग।
- डबल एक फ्लोटिंग पॉइंट नंबर है।
- संग्रह – एक संग्रह।
- नक्शा – एक सहयोगी सरणी – जोड़े का एक क्रम जो आपको कुंजी द्वारा जानकारी प्राप्त करने की अनुमति देता है।
भाव
जोड़, घटाव, गुणा, भाग के अंकगणितीय संचालन लागू होते हैं। तार्किक अभिव्यक्ति “और”, “या”, बराबर, अधिक, कम, असमानताएं, सशर्त निर्माण “अगर … तो …” का भी उपयोग किया जाता है।
कार्यों
कार्य कार्यक्रम में कहीं भी स्थित हो सकते हैं और उनके अलग-अलग नाम हो सकते हैं। तालिकाओं और मापदंडों, साहचर्य सरणियों, तालिकाओं की सूची और अन्य कार्यों के मूल्यों को प्राप्त करने के लिए कुल मिलाकर, गणितीय कार्यों और कार्यों के 18 समूह उपलब्ध हैं। प्रथम श्रेणी:
- गणितीय कार्य जो आपको साइन, कोसाइन, स्पर्शरेखा, तर्क के कोटेंगेंट के मूल्य को वापस करने की अनुमति देते हैं, तर्क के घातांक की गणना करते हैं, एक यादृच्छिक संख्या उत्पन्न करते हैं, आदि।
- सामान्य आदेश : NEW_GLOBAL एक वैश्विक चर प्रारंभ करने के लिए और संदेश खोलने के लिए संदेश।
साथ काम करने के लिए कार्य:
- वस्तुओं का संग्रह (संग्रह) । वे आपको एक नया संग्रह बनाने, आवश्यक संख्या में तत्वों को वापस करने, वांछित मूल्यों को बदलने या सम्मिलित करने की अनुमति देते हैं।
- सहयोगी सरणी (एमएपी) । सरणी बनाने और प्रबंधित करने में सहायता करें।
- फ़ाइलें – पाठ फ़ाइलों के साथ काम करना, प्रोग्राम का लॉग-लॉग बनाए रखना। फ़ाइल नाम में इसका पथ हो सकता है।
- तार ।
- रेखांकन । मोमबत्ती डेटा तक पहुंचने के लिए GET_CANDLE और एक सहयोगी सरणी वापस करने के लिए GET_CANDLE EX का कार्य करता है।
- अनुप्रयोग । ऑर्डर बनाना और उन्हें ट्रेडिंग सिस्टम में भेजना।
- टैग । चार्ट पर उनका निर्माण और स्थापना। एक या सभी लेबल जोड़ना, हटाना, विशिष्ट लेबल के लिए पैरामीटर प्राप्त करना और सेट करना।
इसके लिए कार्य भी हैं:
- मनमाने ढंग से QUIK तालिकाओं की पंक्तियों तक पहुँचने और उपलब्ध मापदंडों की सूची के लिए । कार्यस्थल तालिका डेटा तक पहुंच। इनमें एमएपी वापस करने के लिए GET_ITEM और प्रविष्टियों की संख्या वापस करने के लिए GET_NUMBER_OF शामिल हैं।
- प्रोग्राम टेबल के साथ काम करने के लिए । ये कमांड OWN टेबल पर काम करते हैं। यह पिछले पैराग्राफ के मानक कार्यों और इन कार्यों द्वारा पठनीय है। इस समूह में एक अनुक्रमणिका के साथ एक पंक्ति जोड़ने, संशोधित करने और हटाने और OWN तालिका को पूरी तरह से साफ़ करने के लिए आदेश शामिल हैं।
मान प्राप्त करने के लिए उपयोग करें:
- वर्तमान ट्रेडों की तालिकाएँ । GET_PARAM (_EX) कमांड का उपयोग करके एक्सचेंज सूचना पैरामीटर प्राप्त करना।
- विंडोज़ बोली । साधन उद्धरण के मूल्यों को प्राप्त करना।
- लिखतों और मुद्रा द्वारा पदों की सारणी . कोड द्वारा क्लाइंट, फर्म, इंस्ट्रूमेंट, डिपो अकाउंट पर डेटा प्राप्त करना।
सेवा कार्य – वर्तमान ट्रेडिंग सत्र की तारीख लौटाना, सहयोगी श्रृंखला, वर्तमान तिथि और समय, कनेक्शन की स्थिति का निर्धारण, गणना मोड को बाधित करना।
डिबगिंग कार्यक्रम
प्रोग्राम के संचालन पर चरण-दर-चरण नियंत्रण “डीबग” विंडो में किया जाता है। यह संदर्भ मेनू “डीबग मोड में गणना शुरू करें” से खोला गया है। इसे ब्रेकपॉइंट () कमांड के साथ भी खोला जा सकता है, और प्रोग्राम लाइन को लाल रंग में हाइलाइट किया जाएगा। विंडो में प्रोग्राम कोड और चर मान वाले फ़ील्ड हैं। विंडो के निचले भाग में “अगला चरण”, “निष्पादन जारी रखें”, “गणना रोकें” बटन हैं। F5 दबाने से प्रोग्राम का निष्पादन जारी रहेगा, संयोजन Shift + F5 डिबगिंग बंद कर देगा, F10 कुंजी अगली पंक्ति में निर्देशित होगी।
QPILE या LUA?
LUA ट्रेडिंग रोबोट बनाने के लिए एक नई प्रोग्रामिंग भाषा है। QPILE की तरह, इसे QUIK टर्मिनल में लागू किया गया है। https://articles.opexflow.com/programming/lua.htm ट्रेडिंग के लिए ट्रेडिंग रोबोट के विकास के लिए समर्पित एक साइट QPILE पर LUA भाषा के फायदे दिखाती है। इसलिए, यह एक असम्पीडित स्क्रिप्ट और बायटेकोड के रूप में कार्य कर सकता है, जो डेवलपर टूल और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग मैकेनिज्म से लैस है। अन्य प्रोग्रामिंग भाषाओं में लिखी गई वस्तुओं को LUA प्रोग्राम से जोड़ा जा सकता है। LUA मेटाटेबल्स सहित 8 डेटा प्रकार प्रदान करता है। LUA भाषा बहु-थ्रेडेड, तेज़ है, और लेन-देन और टर्मिनल ईवेंट अतुल्यकालिक हैं। QPILE की तुलना में LUA अधिक सामान्य है, और इसके लिए कई एक्सटेंशन लिखे गए हैं।
QPILE भाषा अब पदावनत कर दी गई है। मंचों पर विशेषज्ञ LUA का उपयोग करने की सलाह देते हैं। हालांकि उपयोगी और प्रभावी कार्यक्रम अभी भी उपयोग किए जा रहे हैं।
हालाँकि, LUA की तुलना में QPILE भाषा सरल है, इसलिए यदि आपके पास प्रोग्रामिंग का कोई अनुभव नहीं है, तो QPILE को चुनना बेहतर है। यदि आपको जटिल गणना करने की आवश्यकता नहीं है तो इस भाषा में आप एक साधारण रोबोट लिख सकते हैं।
QPILE पर ट्रेडिंग रोबोट कैसे बनाएं?
एक व्यापार सलाहकार बनाने के लिए, आपको निम्नलिखित कार्यक्रमों की आवश्यकता होगी:
- आईटीएस क्विक।
- नोटपैड ++ कोड संपादक।
- QPILE के लिए गाइड।
- नोटपैड++ में कोड डिटेक्शन के लिए एक्सएमएल प्लगइन।
इन प्रोग्रामों को डाउनलोड और इंस्टॉल करें। C:\Users\User\ AppData\Roaming\Notepad++\ पथ में userDefineLang.xml रखकर भाषा सिंटैक्स सक्षम करें
“उपयोगकर्ता सेटिंग्स” ब्लॉक को NUMBER और INTERVAL चर के साथ पूरक किया गया है, जिसका उपयोग अंतिम N बार प्राप्त करने के कार्य में किया जाएगा। DATETIME फ़ंक्शन सर्वर दिनांक और समय सेट करता है, और वर्तमान दिनांक और समय फ़ंक्शन CURDATE और CURTIME को इससे कॉल किया जाता है। वर्तमान समय को लाइन 24 पर एक संख्या में बदल दिया जाता है। लाइन 26 एल्गोरिथ्म के लिए 10:00:01 से 18:40:00 UTC तक चलने का समय निर्धारित करती है।
QPILE पर ट्रेडिंग रोबोट – तैयार समाधान
मूविंग एवरेज रोबोट
डेमो रोबोट वास्तविक व्यापार के लिए उपयुक्त नहीं है।
एन। मोरोस्किन स्थिति कैलकुलेटर
अधिकतम स्वीकार्य ड्राडाउन के स्तर की गणना के लिए एक कार्यक्रम और मौजूदा पूछ और बोली कीमतों पर लंबी और छोटी स्थिति के लिए लक्ष्य। स्तरों की गणना स्थिति प्रविष्टि मात्रा के 2 मानों के लिए की जाती है। बार के ऊपर की दिशा में पोजीशन खोलने की गणना के साथ ओपनिंग प्राइस से एक स्टेप में स्टॉप ऑर्डर असाइन करते समय रोबोट स्वीकार्य पोजीशन वॉल्यूम पाता है। पाए गए स्तर टर्मिनल विंडो में दर्ज किए जाते हैं, जो बाद में मूल्य चार्ट में परिलक्षित होते हैं। किसी दिए गए साधन के लिए लेन-देन निश्चित हैं। यदि कोई स्थिति खोली जाती है, तो रोबोट उसके मापदंडों की गणना करना शुरू कर देता है। स्थिति में परिवर्तन के आधार पर, सौंपे गए आदेशों को समायोजित किया जाता है।
वॉल्यूम फ़िल्टर
मोमबत्तियों के लिए वॉल्यूम के अंकगणितीय माध्य की गणना करने और एक्स गुणांक द्वारा औसत उत्पाद के साथ तुलना करने के लिए एक रोबोट-पोर्टफोलियो। एक चयनित अवधि में प्लॉट किए गए चार्ट के साथ सही ढंग से काम करता है।
विकल्प यूनानी
विकल्पों के “यूनानियों” की गणना और प्रदर्शित करने के लिए पोर्टफोलियो। यह ब्लैक-शॉवर्स विधि से अलग है।
क्विक के लिए ट्रिक्स ट्रेडिंग रोबोट
कार्यक्रम TRIX संकेतक पर आधारित है। जब संकेतक शून्य रेखा, निर्दिष्ट स्तर से ऊपर बंद हो जाता है, तो रोबोट लंबी स्थिति लेता है। टेक प्रॉफिट, स्टॉप लॉस या ट्रेलिंग स्टॉप द्वारा पोजीशन को बंद किया जाता है।
M4 प्रीप्रोसेसर
QPILE और Lua के साथ काम करने का कार्यक्रम। निष्पादन योग्य फ़ाइलों के साथ संग्रह, दस्तावेज़ीकरण और नियमित अभिव्यक्ति पार्सिंग के साथ DLL फ़ाइलें शामिल हैं। प्रोग्राम का उपयोग करने के लिए, आपको निष्पादन योग्य फ़ाइलों को अनपैक करना होगा और regexp2 को C:\Windows पथ में रखना होगा। QUIK के लिए QPILE पर पाठ: https://youtu.be/vMTXwDUujpI Quik टर्मिनल में QPILE पर एक स्क्रिप्ट स्थापित करना: https://youtu.be/0B7qL8Svh7I जीथब पर एक खंड जो QPILE एल्गोरिथम भाषा के उपयोग का वर्णन करता है, जिसे इसमें बनाया गया है लिंक पर स्थित QUIK सिस्टम वर्कस्टेशन – https://euvgub.github.io/quik_user_manual/ch8.html। QPILE एक पुरानी भाषा है, लेकिन नौसिखिए व्यापारियों के लिए भी काफी सरल और सुलभ है। ट्रेडिंग रोबोट और प्रोग्राम जो लंबे समय से खुद को साबित कर चुके हैं, इस पर काम करना जारी रखते हैं। हालांकि, अधिक जटिल कार्यों के लिए LUA का उपयोग करना बेहतर है।
0к