संसाधन लोड हो रहा है... लोड करना...

ट्रेडिंग रणनीति के निर्माण के लिए विज़ुअलाइज़ेशन मॉड्यूल - पहला परिचित

लेखक:FMZ~Lydia, बनाया गयाः 2022-12-12 16:50:29, अद्यतन किया गयाः 2023-09-20 09:44:29

img

ट्रेडिंग रणनीति के निर्माण के लिए विज़ुअलाइज़ेशन मॉड्यूल - पहला परिचित

दृश्य प्रोग्रामिंग हमेशा से ही सॉफ्टवेयर डेवलपर्स का एक महत्वाकांक्षी लक्ष्य रहा है, यहां तक कि मात्रात्मक व्यापार के क्षेत्र में भी। क्योंकि विज़ुअलाइज़ेशन में "जो आप देखते हैं वही आप प्राप्त करते हैं" की विधि प्रोग्रामिंग विकास की तकनीकी सीमा को बहुत कम करती है। उपयोगकर्ताओं को अब उबाऊ कोड के ढेर से निपटने की ज़रूरत नहीं है। वे सिर्फ अपने कल्पना और तार्किक सोच का उपयोग व्यवसाय पर ध्यान केंद्रित करने के लिए करते हैं। आप जो भी प्रोग्राम चाहते हैं, उसे पूरा कर सकते हैं।

चलिए एक साथ मात्रात्मक व्यापारिक रणनीति के दृश्य प्रोग्रामिंग क्षेत्र में प्रवेश करते हैं!

आरंभिक FMZ Quant का दृश्य प्रोग्रामिंग

लॉग इन करने के बादhttps://www.fmz.com, अपना खाता पंजीकृत करें (यदि आप पहले से पंजीकृत हैं, तो सीधे लॉग इन करें) और क्लिक करेंः डैशबोर्ड -> रणनीति -> रणनीति जोड़ें.

img

हम एक प्रारंभिक विज़ुअलाइज़ेशन रणनीति देख सकते हैं। इसका उपयोग केवल डिफ़ॉल्ट रूप से कॉन्फ़िगर किए गए एक्सचेंज (बैकटेस्ट या रोबोट पर जोड़ा गया पहला एक्सचेंज ऑब्जेक्ट) की खाता संपत्ति जानकारी आउटपुट करने के लिए किया जाता है। (नीचे चित्र देखें)

img

इससे पहले कि हम विज़ुअलाइज़ेशन का उपयोग करना सीखें, हम विज़ुअलाइज़ेशन के कुछ डिज़ाइन अवधारणाओं को समझ सकते हैं।

  1. स्प्लिसिंग यदि आप ध्यान से देखें, तो आप देख सकते हैं कि मॉड्यूल में टैनन (गोलाकार) और मोर्टिस (गोलाकार) है, अर्थात मॉड्यूल कनेक्ट और कनेक्ट हो सकते हैं। यदि दो मॉड्यूल कार्यात्मक कोड का प्रतिनिधित्व करते हैं जिन्हें जोड़ा जा सकता है, तो जब आप उन्हें करीब लाएंगे तो दो मॉड्यूल के टीन और मोर्टिस एक साथ आकर्षित होंगे।

img

  1. मॉड्यूल सेटिंग और समायोजन कुछ मॉड्यूल में कुछ विशेष सेट करने योग्य क्षेत्र होते हैं, उदाहरण के लिएः

img

आप Item मॉड्यूल को Add मॉड्यूल के बाईं ओर खींच सकते हैं, ताकि आप टेनन (गोलाकार) स्थिति जोड़ सकें, इस प्रकार पाठ को स्प्लिस करने के लिए एक स्थिति जोड़ सकें। इस प्रकार, मॉड्यूल को समायोजित करने और सेट करने के लिए पिनियन पर क्लिक करें।

  1. मॉड्यूल के डिफ़ॉल्ट इनपुट पैरामीटर कुछ मॉड्यूल को कुछ पैरामीटर इनपुट करने की आवश्यकता होती है, जो संख्यात्मक मान या स्ट्रिंग हो सकते हैं। यदि आप मॉड्यूल के इनपुट पैरामीटर के रूप में चर नहीं जोड़ते हैं, तो मॉड्यूल डिफ़ॉल्ट इनपुट पैरामीटर के अनुसार निष्पादित होगा.

img

इस तरह वर्गमूल गणना मॉड्यूल इस मॉड्यूल की गणना परिणाम आउटपुट करता है।

img

जैसा कि आप देख सकते हैं, यदि इनपुट पैरामीटर स्थिति डिफ़ॉल्ट है, तो डिफ़ॉल्ट मान 9 का उपयोग इनपुट पैरामीटर के रूप में किया जाएगा 9 के वर्गमूल की गणना करने के लिए।

img

बेशक, यदि आप इनपुट पैरामीटर के रूप में एक चर मॉड्यूल का उपयोग करना चाहते हैं, तो आप चर मॉड्यूल को सीधे टेनन (गोलाकार) स्थिति में स्प्लिस कर सकते हैं।

img

  1. ऑपरेशन मॉड्यूल को माउस के बाएं बटन से क्लिक और ड्रैग किया जा सकता है। मॉड्यूल को ctrl+c के साथ कॉपी किया जा सकता है और ctrl+v के साथ पेस्ट किया जा सकता है, जो कोड या टेक्स्ट को कॉपी और पेस्ट करने के समान ही सुविधाजनक है। ऑपरेशन क्षेत्र को माउस व्हील से स्केल किया जा सकता है, और सभी मॉड्यूल बड़े या छोटे हो जाएंगे। ऑपरेशन क्षेत्र को स्थानांतरित करने के लिए ऑपरेशन क्षेत्र में रिक्त स्थिति पर क्लिक करें और खींचें. दाईं ओर कूड़ेदान हाल ही में हटाए गए मॉड्यूल को रिकॉर्ड करता है। सबसे महत्वपूर्ण बात यह है कि मॉड्यूल रणनीति को स्प्लिस करने के बाद, Save पर क्लिक करना न भूलें।

विज़ुअलाइज़ेशन टूल मॉड्यूल का परिचय

आप देख सकते हैं कि दृश्य संपादन क्षेत्र के बाईं ओर कई मॉड्यूल वर्गीकरण हैं, और प्रत्येक वर्गीकरण परियोजना में कई दृश्य मॉड्यूल उपलब्ध हैं।

इसमें 11 श्रेणियां हैं।

img

उपयोग मॉड्यूलः

img img img

  1. आउटपुट जानकारीः यह मॉड्यूल आमतौर पर पाठ वर्ग के मॉड्यूल के साथ मिलकर प्रयोग किया जाता है, जैसा कि नीचे दिखाया गया हैः

img

आप पाठ मॉड्यूल में एक स्ट्रिंग दर्ज कर सकते हैं, ताकि जब आप आउटपुट सूचना मॉड्यूल चलाते हैं, तो पाठ मॉड्यूल में स्ट्रिंग सामग्री मुद्रित की जाएगी.

img

बैकटेस्टिंग:

img img

जावास्क्रिप्ट भाषा कोड की तरहः

function main(){
    Log("Hello, Blockly!")
}
  1. वीचैट पुशः यह मॉड्यूल आउटपुट जानकारी के समान दिखता है, जो एक ही समय में चालू खाते से बंधे WeChat पर जानकारी भेजने वाले से अलग है।

img

जावास्क्रिप्ट भाषा कोड की तरहः

function main () {
Log("WeChat Push!@")
}
  1. अपवाद फेंकें अपवाद मॉड्यूल फेंकने से प्रोग्राम त्रुटि जारी करता है, और फिर प्रोग्राम निष्पादन बंद कर देता है (अपवाद हैंडलिंग कोड लिखे बिना) ।

img

इसी तरह, जावास्क्रिप्ट रणनीति में, मुख्य फ़ंक्शन सीधे string to output फ़ंक्शन को निष्पादित करता है.

function main () {
    throw "The first sentence throws an exception to stop the program!"
}

बैकटेस्टिंग के परिणाम:

img img

आम तौर पर, इसका उपयोग डिबगिंग के समय अधिक किया जाता है. उदाहरण के लिए, यदि आप चाहते हैं कि प्रोग्राम कुछ शर्तों के तहत रुक जाए और उस समय अवलोकन के लिए कुछ डेटा प्रिंट करें. या आप कोड प्रवाह में एक अपवाद मॉड्यूल रख सकते हैं जहां समस्याएं हो सकती हैं, प्रोग्राम को त्रुटियों की रिपोर्ट करने दें, और कुछ त्रुटियां खोजें।

  1. नींद स्लीप मॉड्यूल

img

जावास्क्रिप्ट रणनीति के रूप मेंः

function main () {
    Sleep(1000 * 5)
}

नींद मॉड्यूल का परीक्षण करें:

img

बैकटेस्टिंग के परिणाम:

img

  1. प्रिंट रिटर्न

img

यह मॉड्यूल, एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर एपीआई फ़ंक्शन लॉगप्रॉफ़िट की तरह, जो रिटर्न लॉग प्रिंट करता है और इनपुट मापदंडों के अनुसार रिटर्न वक्र स्वचालित रूप से खींचता है।

उदाहरण के लिए:imgबैकटेस्टिंग का निष्पादन नीचे दिए गए चित्र में दिखाया गया हैः

img

संबंधित जावास्क्रिप्ट रणनीति कोड निम्नानुसार हैः

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 किया जा सकता है जहां आप आउटपुट वापसी जानकारी चाहते हैं.

  1. लूपimgलूप मॉड्यूल स्प्लिस्ड मॉड्यूल संयोजनों की एक श्रृंखला को लपेट सकता है, जिससे मॉड्यूल संयोजन लूप को निष्पादित कर सकते हैं।

परीक्षण:imgबैकटेस्टिंग के परिणाम:

img

हम देख सकते हैं कि प्रिंट रिटर्न और स्लीप से मिलकर मॉड्यूल संयोजन लूप मॉड्यूल लपेटे जाने के बाद लगातार निष्पादित किया जाएगा।

  1. लूप निष्पादन हर एन सेकंडimgइस मॉड्यूल का उपयोग मूल रूप से लूप मॉड्यूल के समान है। एकमात्र अंतर यह है कि मॉड्यूल का अपना नींद है।img

  2. सटीक प्रसंस्करणimgइस मॉड्यूल का उपयोग तब किया जा सकता है जब चर मॉड्यूल या संख्यात्मक मान को सटीकता को नियंत्रित करने की आवश्यकता होती है। इनपुट पैरामीटर भाग का संख्यात्मक मान सेटिंग्स के अनुसार निर्दिष्ट दशमलव स्थान के संख्यात्मक मान के रूप में आउटपुट किया जाएगा।

उदाहरण के लिए, सटीक प्रसंस्करण 3.1415926535897 मूल्य पर किया जाता है।

img

बैकटेस्टिंग डिस्प्लेः

img

  1. लॉग साफ़ करेंimg

इसका प्रयोग लॉग को साफ करने के लिए किया जाता है। इनपुट पैरामीटर के अनुसार कुछ लॉग को बरकरार रखा जा सकता है। जैसा कि एपीआई दस्तावेज़ में हैः

LogReset()
  1. रिकवरी लॉग साफ़ करेंimg

इसका प्रयोग रिटर्न लॉग को साफ़ करने के लिए किया जाता है। इनपुट पैरामीटर के अनुसार कुछ लॉग को बरकरार रखा जा सकता है। जैसा कि एपीआई दस्तावेज़ में हैः

LogProfitReset()

निम्नलिखित कुछ अक्सर इस्तेमाल किया उपकरण मॉड्यूल हैं

  1. बाजार की एक निश्चित विशेषता प्राप्त करने के लिए कार्य मॉड्यूलimgइस टूल मॉड्यूल का उपयोग ट्रांजेक्शन मॉड्यूल प्रकार में बोली मॉड्यूल के साथ किया जाना चाहिए, जैसा कि चित्र में दिखाया गया हैःimgनवीनतम टिकर बाजार के नवीनतम लेनदेन मूल्य को आउटपुट करने के लिए आउटपुट सूचना मॉड्यूल का उपयोग करें:imgबैकटेस्टिंग डिस्प्लेःimg

जावास्क्रिप्ट रणनीति कोड की तरहः

function main () {
    Log(exchange.GetTicker().Last)
}
  1. मॉड्यूल जो K-लाइन डेटा के एक पट्टी की विशेषता प्राप्त करता हैimgइस मॉड्यूल का उपयोग ट्रांजेक्शन मॉड्यूल प्रकार में K-लाइन डेटा अधिग्रहण मॉड्यूल के साथ भी किया जाना चाहिए।

सबसे पहले, हम K-लाइन नामक एक चर मॉड्यूल बनाते हैं।imgफिर हम K-लाइन डेटा प्राप्त करते हैं, इसे प्राप्त करने के लिए K-लाइन डेटा मॉड्यूल का उपयोग करते हैं, और चर मॉड्यूल को मान असाइन करते हैंः K-लाइनimgफिर हम K-लाइन चर मॉड्यूल की लंबाई प्राप्त करने के लिए List Module Type में सूची लंबाई मॉड्यूल का उपयोग करते हैं, जिसका उपयोग डेटा प्राप्त करने के लिए K-लाइन पर किस पट्टी को निर्दिष्ट करने के लिए किया जाता है।imgउन्हें एक साथ जोड़ें, जैसा कि चित्र में दिखायाःimg

पिछली के-लाइन बार का टाइमस्टैम्प बैकटेस्ट चलाने पर प्रिंट किया जाता है।img

  1. वह मॉड्यूल जो ऑर्डर बुक में ऑर्डर के डेटा को प्राप्त करता हैimgइसे ट्रांजेक्शन मॉड्यूल प्रकार में डेप्थ डेटा मॉड्यूल प्राप्त करें के साथ भी उपयोग करने की आवश्यकता है।imgसूचकांक को 0 पर सेट किया गया है और बिक्री आदेश को एक बिक्री आदेश की जानकारी प्राप्त करने के लिए सेट किया गया है।

img

जावास्क्रिप्ट रणनीति कोड की तरहः

function main () {
    Log(exchange.GetDepth().Asks[0])
}
  1. परिसंपत्ति सूचना में एक विशेषता प्राप्त करने के लिए मॉड्यूलimgइस मॉड्यूल का उपयोग परिसंपत्तियों की जानकारी प्राप्त करने के मॉड्यूल के साथ किया जाना चाहिए।imgउदाहरण के लिए: चालू खाते की उपलब्ध मुद्रा मुद्रित करेंimgबैकटेस्टिंग डिस्प्लेःimg

जावास्क्रिप्ट रणनीति कोड की तरहः

function main () {
    Log(exchange.GetAccount().Stocks)
}
  1. आदेश डेटा में एक विशेषता प्राप्त करने के लिए मॉड्यूलimgइस मॉड्यूल का उपयोग ऑर्डर डेटा में किसी विशेषता का मूल्य प्राप्त करने के लिए किया जाता है, जैसे कि ऑर्डर बुक में एक की कीमत या बिक्री की मात्रा (नंबर 13 का उदाहरण) ।img

बैकटेस्टिंग के परिणाम:img

जावास्क्रिप्ट रणनीति कोड की तरहः

function main () {
    Log(exchange.GetDepth().Asks[0].Price)
}

इसका उपयोग Query Order Details Module द्वारा लौटाई गई आदेश जानकारी में एक विशेषता प्राप्त करने के लिए भी किया जा सकता है (उन्नत अध्याय में समझाया जाएगा) ।

  1. स्थिति की जानकारी में स्थिति के गुण प्राप्त करने के लिए मॉड्यूलimgइसी तरह, इसका उपयोग Get Futures Position Module के साथ किया जाना चाहिए। ध्यान दें कि Get Futures Position Module द्वारा लौटाए गए स्थिति डेटा एक सरणी (सूची) है जिसमें विभिन्न अनुबंधों और दिशाओं में स्थिति होती है। इसलिए, सूचकांक का उपयोग करते समय निर्दिष्ट किया जाना चाहिए।

इतना सब कुछ जानने के बाद, चलिए एक हेजिंग ऑपरेशन को जोड़ते हैं, अर्थात अल्पकालिक और वायदा दोनों अनुबंधों को हेज करते हैं।

हम एक सकारात्मक आर्बिट्रेज हेज करते हैं, यानी, वायदा अनुबंध के लिए एक छोटी स्थिति अनुबंध खोलते हैं, और हाल के अनुबंध के लिए एक लंबी स्थिति अनुबंध खोलते हैं।

img

बैकटेस्टिंग के परिणाम:

img

विज़ुअलाइज़ेशन रणनीतियों के उदाहरण:

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)

बोरिंग प्रोग्रामिंग को आसानी से बिल्डिंग ब्लॉकों से पूरा किया जा सकता है। यह कोशिश करना बहुत दिलचस्प है!


संबंधित

अधिक