QUIK साठी प्रोग्रामिंग ट्रेडिंग रोबोट्ससाठी अल्गोरिदमिक भाषा QPILE.
ट्रेडिंग रोबोट्स प्रोग्राम कोड प्रमाणेच एका विशिष्ट भाषेत लिहिले जाऊ शकतात. QPILE हे त्यापैकी एक आहे, लेख या भाषेचा विचार करेल, QPILE आणि
LUA भाषांची तुलना करेल आणि या भाषेतील रोबोटची उदाहरणे देखील देईल.
- QPILE बद्दल सामान्य माहिती
- टेबलसह काम करणे
- QPILE बांधकाम
- डेटा प्रकार
- अभिव्यक्ती
- कार्ये
- डीबगिंग प्रोग्राम
- QPILE किंवा LUA?
- QPILE वर ट्रेडिंग रोबोट कसा तयार करायचा?
- QPILE वर ट्रेडिंग रोबोट्स – रेडीमेड सोल्यूशन्स
- हलणारा सरासरी रोबोट
- एन. मोरोश्किन पोझिशन कॅल्क्युलेटर
- व्हॉल्यूम फिल्टर
- पर्याय ग्रीक
- QUIK साठी TRIX ट्रेडिंग रोबोट
- 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 आणि संदेश उघडण्यासाठी MESSAGE.
कार्य करण्यासाठी कार्ये:
- वस्तूंचे संग्रह (संग्रह) . ते आपल्याला नवीन संग्रह तयार करण्यास, आवश्यक घटकांची संख्या परत करण्यास, इच्छित मूल्ये बदलण्याची किंवा घालण्याची परवानगी देतात.
- असोसिएटिव्ह अॅरे (MAP) . अॅरे तयार करण्यात आणि व्यवस्थापित करण्यात मदत करा.
- फाइल्स – मजकूर फाइल्ससह कार्य करणे, प्रोग्रामचा लॉग-लॉग राखणे. फाईलच्या नावात त्याचा मार्ग असू शकतो.
- स्ट्रिंग्स _
- आलेख . कार्ये GET_CANDLE मेणबत्ती डेटा ऍक्सेस करण्यासाठी आणि GET_CANDLE EX एक सहयोगी अॅरे परत करण्यासाठी.
- अर्ज . ऑर्डर तयार करणे आणि त्यांना ट्रेडिंग सिस्टममध्ये पाठवणे.
- टॅग्ज _ चार्टवर त्यांचे बांधकाम आणि स्थापना. एक किंवा सर्व लेबले जोडणे, हटवणे, विशिष्ट लेबलसाठी पॅरामीटर्स मिळवणे आणि सेट करणे.
यासाठी कार्ये देखील आहेत:
- अनियंत्रित QUIK सारण्यांच्या पंक्ती आणि उपलब्ध पॅरामीटर्सच्या सूचींमध्ये प्रवेश करण्यासाठी . कामाच्या ठिकाणी टेबल डेटामध्ये प्रवेश. यामध्ये MAP परत करण्यासाठी GET_ITEM आणि नोंदींची संख्या परत करण्यासाठी GET_NUMBER_OF यांचा समावेश आहे.
- प्रोग्राम करण्यायोग्य टेबलसह कार्य करण्यासाठी . या आज्ञा OWN टेबलवर कार्य करतात. मागील परिच्छेदातील मानक फंक्शन्स आणि या फंक्शन्सद्वारे ते वाचनीय आहे. या गटामध्ये अनुक्रमणिकेसह पंक्ती जोडणे, सुधारणे आणि हटवणे आणि OWN सारणी पूर्णपणे साफ करणे या आदेशांचा समावेश आहे.
मूल्ये मिळविण्यासाठी वापरा:
- चालू व्यवहारांची सारणी . GET_PARAM (_EX) कमांड्स वापरून एक्सचेंज माहिती पॅरामीटर्स मिळवणे.
- कोट विंडो . इन्स्ट्रुमेंट कोट्सची मूल्ये प्राप्त करणे.
- साधने आणि पैशांद्वारे पदांचे तक्ते . कोडद्वारे क्लायंट, फर्म, इन्स्ट्रुमेंट, डेपो खात्यावरील डेटा प्राप्त करणे.
सेवा कार्ये – चालू ट्रेडिंग सत्राची तारीख परत करणे, सहयोगी मालिका, वर्तमान तारीख आणि वेळ, कनेक्शन स्थिती निश्चित करणे, गणना मोडमध्ये व्यत्यय आणणे.
डीबगिंग प्रोग्राम
प्रोग्रामच्या ऑपरेशनवर चरण-दर-चरण नियंत्रण “डीबग” विंडोमध्ये केले जाते. हे “डीबग मोडमध्ये गणना प्रारंभ करा” संदर्भ मेनूमधून उघडले आहे. हे breakpoint() कमांडने देखील उघडले जाऊ शकते आणि प्रोग्राम लाइन लाल रंगात हायलाइट केली जाईल. विंडोमध्ये प्रोग्राम कोड आणि व्हेरिएबल व्हॅल्यूसह फील्ड आहेत. विंडोच्या तळाशी “पुढील पायरी”, “अंमलबजावणी सुरू ठेवा”, “गणना थांबवा” बटणे आहेत. F5 दाबल्याने प्रोग्रामची अंमलबजावणी सुरू राहील, Shift + F5 संयोजन डीबगिंग थांबवेल, F10 की पुढील ओळीवर निर्देशित करेल.
QPILE किंवा LUA?
ट्रेडिंग रोबोट्स तयार करण्यासाठी LUA ही एक नवीन प्रोग्रामिंग भाषा आहे. QPILE प्रमाणे, ते QUIK टर्मिनलमध्ये लागू केले जाते. https://articles.opexflow.com/programming/lua.htm ट्रेडिंगसाठी ट्रेडिंग रोबोट्सच्या विकासासाठी समर्पित साइट QPILE वर LUA भाषेचे फायदे दर्शवते. त्यामुळे, ते विकसक टूल्स आणि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग यंत्रणेसह सुसज्ज नसलेली संकलित स्क्रिप्ट आणि बायकोड म्हणून कार्य करू शकते. इतर प्रोग्रामिंग भाषांमध्ये लिहिलेल्या ऑब्जेक्ट्स LUA प्रोग्राम्सशी कनेक्ट केल्या जाऊ शकतात. LUA मेटाटेबल्ससह 8 डेटा प्रकार प्रदान करते. LUA भाषा बहु-थ्रेडेड, जलद आहे आणि व्यवहार आणि टर्मिनल इव्हेंट्स असिंक्रोनस आहेत. LUA हे QPILE पेक्षा अधिक सामान्य आहे आणि त्यासाठी अनेक विस्तार लिहिले गेले आहेत.
QPILE भाषा आता नापसंत झाली आहे. मंचावरील तज्ञ LUA वापरण्याची शिफारस करतात. जरी उपयुक्त आणि प्रभावी कार्यक्रम अजूनही वापरले जात आहेत.
तथापि, LUA च्या तुलनेत QPILE भाषा सोपी आहे, म्हणून जर तुम्हाला प्रोग्रामिंगचा अनुभव नसेल, तर QPILE निवडणे चांगले. या भाषेत, जर तुम्हाला जटिल गणना करण्याची आवश्यकता नसेल तर तुम्ही एक साधा रोबोट लिहू शकता.
QPILE वर ट्रेडिंग रोबोट कसा तयार करायचा?
ट्रेडिंग सल्लागार तयार करण्यासाठी, तुम्हाला खालील प्रोग्रामची आवश्यकता असेल:
- ITS Quik.
- नोटपॅड ++ कोड संपादक.
- QPILE साठी मार्गदर्शक.
- Notepad++ मध्ये कोड शोधण्यासाठी XML प्लगइन.
हे प्रोग्राम डाउनलोड आणि स्थापित करा. 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 मूल्यांसाठी स्तरांची गणना केली जाते. बारच्या वाढीच्या दिशेने एक स्थान उघडण्याच्या गणनेसह सुरुवातीच्या किंमतीपासून एका चरणात स्टॉप ऑर्डर नियुक्त करताना रोबोटला स्वीकार्य स्थितीचा खंड सापडतो. आढळलेले स्तर टर्मिनल विंडोमध्ये प्रविष्ट केले जातात, जे नंतर किंमत चार्टमध्ये प्रतिबिंबित होतात. दिलेल्या इन्स्ट्रुमेंटसाठी व्यवहार निश्चित केले जातात. एखादे स्थान उघडल्यास, रोबोट त्याच्या पॅरामीटर्सची गणना करण्यास सुरवात करतो. स्थितीतील बदलानुसार, नियुक्त केलेल्या ऑर्डर समायोजित केल्या जातात.
व्हॉल्यूम फिल्टर
मेणबत्त्यांसाठी व्हॉल्यूमच्या अंकगणित सरासरीची गणना करण्यासाठी आणि X गुणांकाने त्याची सरासरी उत्पादनाशी तुलना करण्यासाठी पोर्टफोलिओ रोबोट. निवडलेल्या कालावधीमध्ये प्लॉट केलेल्या चार्टसह योग्यरित्या कार्य करते.
पर्याय ग्रीक
पर्यायांची “ग्रीक” गणना आणि प्रदर्शित करण्यासाठी पोर्टफोलिओ. हे ब्लॅक-शॉवर पद्धतीपेक्षा वेगळे आहे.
QUIK साठी TRIX ट्रेडिंग रोबोट
कार्यक्रम TRIX इंडिकेटरवर आधारित आहे. जेव्हा निर्देशक शून्य रेषेच्या वर बंद होतो, निर्दिष्ट स्तरावर, रोबोट लांब स्थिती घेतो. टेक प्रॉफिट, स्टॉप लॉस किंवा ट्रेलिंग स्टॉपद्वारे स्थिती बंद केली जाते.
M4 प्रीप्रोसेसर
QPILE आणि Lua सह काम करण्यासाठी कार्यक्रम. एक्झिक्युटेबल फाइल्स, डॉक्युमेंटेशन आणि रेग्युलर एक्सप्रेशन पार्सिंगसह डीएलएल फाइल्ससह संग्रहण समाविष्ट करते. प्रोग्राम वापरण्यासाठी, तुम्हाला एक्झिक्युटेबल फाइल्स अनपॅक कराव्या लागतील आणि C:\Windows पाथमध्ये regexp2 ठेवा. QUIK साठी QPILE वरील धडे: https://youtu.be/vMTXwDUujpI क्विक टर्मिनलमध्ये QPILE वर स्क्रिप्ट स्थापित करणे: https://youtu.be/0B7qL8Svh7I गीथबवरील एक विभाग जो मध्ये तयार केलेल्या QPILE अल्गोरिदमिक भाषेच्या वापराचे वर्णन करतो लिंकवर स्थित QUIK सिस्टम वर्कस्टेशन – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE ही कालबाह्य भाषा आहे, परंतु अगदी सोपी आणि अगदी नवशिक्या व्यापार्यांसाठीही प्रवेशजोगी आहे. ट्रेडिंग रोबोट्स आणि प्रोग्राम्स ज्यांनी स्वतःला बर्याच काळापासून सिद्ध केले आहे ते त्यावर कार्य करत आहेत. तथापि, अधिक जटिल कार्यांसाठी LUA वापरणे चांगले आहे.
0к