कैसे अनुकूलित पुस्तकालय आप दृश्य रणनीतियों के लिए की जरूरत का विस्तार करने के लिए? उदाहरण के लिए, मैं एमए संकेतक की गणना करना चाहते हैं, लेकिन प्रणाली केवल के साथ आता हैः
इन संकेतकों. मैं उन संकेतकों के लिए कुछ कस्टम कोड कैसे जोड़ सकते हैं? आइए एक उदाहरण के रूप में एक कस्टम एमए संकेतक गणना मॉड्यूल जोड़ने का उपयोग करें ताकि विज़ुअलाइज़ेशन मॉड्यूल का विस्तार कैसे किया जा सके।
आइए टेम्पलेट
क्रिप्टोकरेंसी स्पॉट ट्रेडिंग लाइब्रेरी; शुरुआत में विज़ुअलाइज़ेशन परिभाषाः
/*blockly
{
"type": "ext_Trade",
"message0": "%1 symbol amount %2|%1 Coins %2",
"args0": [{
"type": "field_dropdown",
"options": [
["bid|Buy", "Buy"],
["ask|Sell", "Sell"]
]
}, {
"type": "input_value",
"check": "Number"
}],
"template": "(function(){var r = $.%1(%2); return r ? r.amount : 0; })()",
"order": "ORDER_ATOMIC",
"output": "Number",
"colour": 85
}, {
"type": "ext_CancelPendingOrders",
"message0": "cancel %1 orders|Cancel %1 Orders",
"args0": [{
"type": "field_dropdown",
"name": "TYPE",
"options": [
["all|All", " "],
["buy order|Buy", "ORDER_TYPE_BUY"],
["sell order|Sell", "ORDER_TYPE_SELL"]
]
}],
"previousStatement": null,
"nextStatement": null,
"template": "$.CancelPendingOrders(%1);",
"colour": 85
}, {
"type": "ext_Cross",
"message0": "calculate cross period %1 and %2|Cross Period %1 and %2",
"inputsInline": true,
"args0": [{
"type": "input_value"
}, {
"type": "input_value"
}],
"template": "$.Cross(%1,%2)",
"order": "ORDER_ATOMIC",
"output": "Number"
}, {
"type": "ext_GetAccount",
"message0": "obtain asset information|GetAccount",
"template": "$.GetAccount()",
"order": "ORDER_ATOMIC",
"output": null
}
*/
विजुअल (ब्लॉकली) संपादन पृष्ठ में क्रमशः मॉड्यूलों के अनुरूपः
तैयार उदाहरण के साथ, इसे स्वयं बनाना बहुत सरल है, जैसे यांत्रिक रूप से नकल करना।
सबसे पहले, जावास्क्रिप्ट भाषा में एक नया टेम्पलेट बनाएं।
टेम्पलेट कोड संपादित करें.
/*blockly
{
"type": "ext_testA",
"message0": "testA|testA",
"template": "function(){return 99;}()",
"order": "ORDER_ATOMIC",
"output": "Number"
},{
"type": "ext_MA",
"message0": "MA period %1| MA Period %1",
"args0": [{
"type": "input_value",
"check": "Number"
}],
"template": "(function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()",
"order": "ORDER_ATOMIC",
"output": null,
"colour": 85
}
*/
नए टेम्पलेट को संपादित करने के बाद, इसे सहेजें. रणनीति में जहां हम इस टेम्पलेट का उपयोग करने की जरूरत है, टेम्पलेट की जाँच करें.
आप देख सकते हैं कि दो अतिरिक्त मॉड्यूल हैंः
मॉड्यूल नामितः परीक्षण ए. चलो निष्पादन कोड पर एक नज़र डालते हैंः
function(){return 99;}()
यह एक बहुत ही सरल जावास्क्रिप्ट फ़ंक्शन है जो निष्पादित होने पर 99 का मान लौटाता है.
मॉड्यूल नामितः एमए अवधि. चलो निष्पादन कोड पर एक नज़र डालते हैंः
(function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()
कोड एक गुमनाम फ़ंक्शन कॉल है। गुमनाम फ़ंक्शन पहले K-लाइन डेटा प्राप्त करने के लिए ऑपरेशन निष्पादित करता है, अर्थात् K-लाइन डेटाr
. फिर, प्राप्त r के अनुसारnull
या कि क्याr
पैरामीटर से कम है%1
मॉड्यूल में आयात किया, वापस करने के लिए न्यायाधीशfalse
या संकेतक के परिणाम को लौटाता है, जो किTA.MA(r, %1)
.
यह अगले उपयोग के लिए तैयार है।
विजुअल (ब्लॉकली) रणनीति संपादनः
ऑपरेशन:
यह देखा जा सकता है कि एमए सूचक द्वारा गणना किए गए आंकड़े वांछित रूप से प्राप्त किए गए हैं।
उपरोक्त केवल विज़ुअलाइज़ेशन मॉड्यूल के डिजाइन के लिए एक उदाहरण है, इसलिए आप अपने आप को विस्तार करने के लिए टेम्पलेट फ़ंक्शन का उपयोग कर सकते हैं.