उदाहरण के लिए, मैं एमए के लिए गणना करना चाहता हूं, लेकिन सिस्टम केवल निम्नलिखित के साथ आता हैःइन सूचकांकों के साथ, कैसे हम कुछ कस्टम कोड जोड़ सकते हैं? हम एक उदाहरण के रूप में दिखा रहे हैं कि विज़ुअलाइज़ेशन मॉड्यूल को कैसे बढ़ाया जा सकता है।
सबसे पहले, आइए जानते हैं कि डिजिटल मुद्राओं के लिए एक टेम्पलेट क्या है, जिसका पता हैःhttps://www.fmz.com/strategy/10989हालाँकि यह FMZ प्लेटफ़ॉर्म जावास्क्रिप्ट भाषा के लिए एक टेम्पलेट है, लेकिन जो छात्र टेम्पलेट अवधारणा को नहीं समझते हैं, वे FMZ API दस्तावेज़ीकरण पर जा सकते हैंःhttps://www.fmz.com/api#模板类库) लेकिन टेम्पलेट के शुरुआती भाग के नोट्स में परिभाषित मॉड्यूल को देखने के लिए कोड है, और परिभाषित कोड में इस जावास्क्रिप्ट टेम्पलेट के कोड को संदर्भित किया जा सकता है. यह बहुत सुविधाजनक है कि हम खुद को विस्तारित करते हैं ((एक अच्छा उदाहरण दिया, चलो अनुकरण करते हैं) ।) ।
क्रिप्टोकरेंसी के लिए त्वरित लेनदेन की सूची, शुरुआती भाग की दृश्य परिभाषाः
/*blockly
{
"type": "ext_Trade",
"message0": "%1 币数 %2|%1 Coins %2",
"args0": [{
"type": "field_dropdown",
"options": [
["买入|Buy", "Buy"],
["卖出|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": "取消 %1 订单|Cancel %1 Orders",
"args0": [{
"type": "field_dropdown",
"name": "TYPE",
"options": [
["所有|All", " "],
["买单|Buy", "ORDER_TYPE_BUY"],
["卖单|Sell", "ORDER_TYPE_SELL"]
]
}],
"previousStatement": null,
"nextStatement": null,
"template": "$.CancelPendingOrders(%1);",
"colour": 85
}, {
"type": "ext_Cross",
"message0": "计算交叉 周期 %1 与 %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": "获取资产信息|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 周期 %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
}
*/
इस नए टेम्पलेट को संपादित करने के बाद सहेजें। इस टेम्पलेट का उपयोग करने के लिए हम जिस नीति का उपयोग करना चाहते हैं, उसमें इस टेम्पलेट को टैप करें.
अब आप देख सकते हैं कि दो और मॉड्यूल सामने आए हैंः
एक मॉड्यूल है जिसका नाम है: testA, और हम उसके कार्यान्वयन कोड को देखते हैंः
function(){return 99;}()
यह एक बहुत ही सरल जावास्क्रिप्ट फ़ंक्शन है जो 99 का एक मान लौटाता है।
यह मॉड्यूल MA Cycle के नाम से जाना जाता है, और हम इसके कार्यान्वयन कोड को देखते हैंः
(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)
गणना के परिणामों के लिए सूचक।
इस तरह की तस्वीरों का उपयोग करने के लिए, आप इसे बाद में उपयोग कर सकते हैं।
विज़ुअलाइज़ेशन रणनीति संपादकः
चल रहा हैः
जैसा कि ऊपर दिखाया गया है, यदि आप चाहें तो भुगतान करने के लिए एमए के लिए डेटा प्राप्त करें।
यह केवल एक पहेली है, जो कि दृश्य मॉड्यूल के डिजाइन के लिए टेम्पलेट फ़ंक्शन का उपयोग करके स्वयं विस्तारित किया जा सकता है।