दृश्य प्रोग्रामिंग हमेशा से ही सॉफ्टवेयर डेवलपर्स का एक महत्वाकांक्षी लक्ष्य रहा है, यहां तक कि मात्रात्मक व्यापार के क्षेत्र में भी। क्योंकि विज़ुअलाइज़ेशन में "जो आप देखते हैं वही आप प्राप्त करते हैं" की विधि प्रोग्रामिंग विकास की तकनीकी सीमा को बहुत कम करती है। उपयोगकर्ताओं को अब उबाऊ कोड के ढेर से निपटने की ज़रूरत नहीं है। वे सिर्फ अपने कल्पना और तार्किक सोच का उपयोग व्यवसाय पर ध्यान केंद्रित करने के लिए करते हैं। आप जो भी प्रोग्राम चाहते हैं, उसे पूरा कर सकते हैं।
चलिए एक साथ मात्रात्मक व्यापारिक रणनीति के दृश्य प्रोग्रामिंग क्षेत्र में प्रवेश करते हैं!
लॉग इन करने के बादhttps://www.fmz.com, अपना खाता पंजीकृत करें (यदि आप पहले से पंजीकृत हैं, तो सीधे लॉग इन करें) और क्लिक करेंः डैशबोर्ड -> रणनीति -> रणनीति जोड़ें.
हम एक प्रारंभिक विज़ुअलाइज़ेशन रणनीति देख सकते हैं। इसका उपयोग केवल डिफ़ॉल्ट रूप से कॉन्फ़िगर किए गए एक्सचेंज (बैकटेस्ट या रोबोट पर जोड़ा गया पहला एक्सचेंज ऑब्जेक्ट) की खाता संपत्ति जानकारी आउटपुट करने के लिए किया जाता है। (नीचे चित्र देखें)
आप
इस तरह वर्गमूल गणना मॉड्यूल इस मॉड्यूल की गणना परिणाम आउटपुट करता है।
जैसा कि आप देख सकते हैं, यदि इनपुट पैरामीटर स्थिति डिफ़ॉल्ट है, तो डिफ़ॉल्ट मान 9 का उपयोग इनपुट पैरामीटर के रूप में किया जाएगा 9 के वर्गमूल की गणना करने के लिए।
बेशक, यदि आप इनपुट पैरामीटर के रूप में एक चर मॉड्यूल का उपयोग करना चाहते हैं, तो आप चर मॉड्यूल को सीधे टेनन (गोलाकार) स्थिति में स्प्लिस कर सकते हैं।
आप देख सकते हैं कि दृश्य संपादन क्षेत्र के बाईं ओर कई मॉड्यूल वर्गीकरण हैं, और प्रत्येक वर्गीकरण परियोजना में कई दृश्य मॉड्यूल उपलब्ध हैं।
इसमें 11 श्रेणियां हैं।
उपयोग मॉड्यूलः
आप पाठ मॉड्यूल में एक स्ट्रिंग दर्ज कर सकते हैं, ताकि जब आप आउटपुट सूचना मॉड्यूल चलाते हैं, तो पाठ मॉड्यूल में स्ट्रिंग सामग्री मुद्रित की जाएगी.
बैकटेस्टिंग:
जावास्क्रिप्ट भाषा कोड की तरहः
function main(){
Log("Hello, Blockly!")
}
जावास्क्रिप्ट भाषा कोड की तरहः
function main () {
Log("WeChat Push!@")
}
इसी तरह, जावास्क्रिप्ट रणनीति में, मुख्य फ़ंक्शन सीधे
function main () {
throw "The first sentence throws an exception to stop the program!"
}
बैकटेस्टिंग के परिणाम:
आम तौर पर, इसका उपयोग डिबगिंग के समय अधिक किया जाता है. उदाहरण के लिए, यदि आप चाहते हैं कि प्रोग्राम कुछ शर्तों के तहत रुक जाए और उस समय अवलोकन के लिए कुछ डेटा प्रिंट करें. या आप कोड प्रवाह में एक अपवाद मॉड्यूल रख सकते हैं जहां समस्याएं हो सकती हैं, प्रोग्राम को त्रुटियों की रिपोर्ट करने दें, और कुछ त्रुटियां खोजें।
जावास्क्रिप्ट रणनीति के रूप मेंः
function main () {
Sleep(1000 * 5)
}
नींद मॉड्यूल का परीक्षण करें:
बैकटेस्टिंग के परिणाम:
यह मॉड्यूल, एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर एपीआई फ़ंक्शन लॉगप्रॉफ़िट की तरह, जो रिटर्न लॉग प्रिंट करता है और इनपुट मापदंडों के अनुसार रिटर्न वक्र स्वचालित रूप से खींचता है।
उदाहरण के लिए:बैकटेस्टिंग का निष्पादन नीचे दिए गए चित्र में दिखाया गया हैः
संबंधित जावास्क्रिप्ट रणनीति कोड निम्नानुसार हैः
function main () {
LogProfit(1)
Sleep(1000 * 5)
LogProfit(2)
Sleep(1000 * 5)
LogProfit(3)
Sleep(1000 * 5)
LogProfit(2)
Sleep(1000 * 5)
LogProfit(5)
}
यह किसी भी स्थिति में spliced किया जा सकता है जहां आप आउटपुट वापसी जानकारी चाहते हैं.
परीक्षण:बैकटेस्टिंग के परिणाम:
हम देख सकते हैं कि
लूप निष्पादन हर एन सेकंडइस मॉड्यूल का उपयोग मूल रूप से लूप मॉड्यूल के समान है। एकमात्र अंतर यह है कि मॉड्यूल का अपना नींद है।
सटीक प्रसंस्करणइस मॉड्यूल का उपयोग तब किया जा सकता है जब चर मॉड्यूल या संख्यात्मक मान को सटीकता को नियंत्रित करने की आवश्यकता होती है। इनपुट पैरामीटर भाग का संख्यात्मक मान सेटिंग्स के अनुसार निर्दिष्ट दशमलव स्थान के संख्यात्मक मान के रूप में आउटपुट किया जाएगा।
उदाहरण के लिए, सटीक प्रसंस्करण 3.1415926535897 मूल्य पर किया जाता है।
बैकटेस्टिंग डिस्प्लेः
इसका प्रयोग लॉग को साफ करने के लिए किया जाता है। इनपुट पैरामीटर के अनुसार कुछ लॉग को बरकरार रखा जा सकता है। जैसा कि एपीआई दस्तावेज़ में हैः
LogReset()
इसका प्रयोग रिटर्न लॉग को साफ़ करने के लिए किया जाता है। इनपुट पैरामीटर के अनुसार कुछ लॉग को बरकरार रखा जा सकता है। जैसा कि एपीआई दस्तावेज़ में हैः
LogProfitReset()
जावास्क्रिप्ट रणनीति कोड की तरहः
function main () {
Log(exchange.GetTicker().Last)
}
सबसे पहले, हम K-लाइन नामक एक चर मॉड्यूल बनाते हैं।फिर हम K-लाइन डेटा प्राप्त करते हैं, इसे प्राप्त करने के लिए K-लाइन डेटा मॉड्यूल का उपयोग करते हैं, और चर मॉड्यूल को मान असाइन करते हैंः
पिछली के-लाइन बार का टाइमस्टैम्प बैकटेस्ट चलाने पर प्रिंट किया जाता है।
जावास्क्रिप्ट रणनीति कोड की तरहः
function main () {
Log(exchange.GetDepth().Asks[0])
}
जावास्क्रिप्ट रणनीति कोड की तरहः
function main () {
Log(exchange.GetAccount().Stocks)
}
बैकटेस्टिंग के परिणाम:
जावास्क्रिप्ट रणनीति कोड की तरहः
function main () {
Log(exchange.GetDepth().Asks[0].Price)
}
इसका उपयोग
इतना सब कुछ जानने के बाद, चलिए एक हेजिंग ऑपरेशन को जोड़ते हैं, अर्थात अल्पकालिक और वायदा दोनों अनुबंधों को हेज करते हैं।
हम एक सकारात्मक आर्बिट्रेज हेज करते हैं, यानी, वायदा अनुबंध के लिए एक छोटी स्थिति अनुबंध खोलते हैं, और हाल के अनुबंध के लिए एक लंबी स्थिति अनुबंध खोलते हैं।
बैकटेस्टिंग के परिणाम:
विज़ुअलाइज़ेशन रणनीतियों के उदाहरण:
https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318अधिक रणनीतियों के लिए, कृपया देखेंःhttps://www.fmz.com/square
इस श्रृंखला के अन्य लेख
व्यापारिक रणनीतियों के निर्माण के लिए विज़ुअलाइज़ेशन मॉड्यूल - गहन (https://www.fmz.com/digest-topic/9509) - ट्रेडिंग रणनीति के निर्माण के लिए विज़ुअलाइज़ेशन मॉड्यूल - उन्नत समझ (https://www.fmz.com/bbs-topic/9815)
बोरिंग प्रोग्रामिंग को आसानी से बिल्डिंग ब्लॉकों से पूरा किया जा सकता है। यह कोशिश करना बहुत दिलचस्प है!