কিভাবে কাস্টম লাইব্রেরি প্রসারিত আপনি চাক্ষুষ কৌশল জন্য প্রয়োজন? উদাহরণস্বরূপ, আমি এমএ সূচক গণনা করতে চান, কিন্তু সিস্টেম শুধুমাত্র সঙ্গে আসেঃ
এই সূচকগুলোতে আমি কিভাবে কিছু কাস্টম কোড যোগ করতে পারি? ভিজ্যুয়ালাইজেশন মডিউলটি কীভাবে প্রসারিত করা যায় তা ব্যাখ্যা করার জন্য একটি উদাহরণ হিসাবে একটি কাস্টম এমএ সূচক গণনা মডিউল যুক্ত করা যাক।
আসুন টেমপ্লেট
ক্রিপ্টোকারেন্সি স্পট ট্রেডিং লাইব্রেরি; শুরুতে ভিজ্যুয়ালাইজেশন সংজ্ঞাঃ
/*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
}
*/
নতুন টেমপ্লেট সম্পাদনা করার পর, এটি সংরক্ষণ করুন। কৌশল যেখানে আমরা এই টেমপ্লেট ব্যবহার করতে হবে, টেমপ্লেট চেক করুন.
আপনি দেখতে পাচ্ছেন যে দুটি অতিরিক্ত মডিউল রয়েছেঃ
মডিউল নামঃ testA. আসুন এক্সিকিউশন কোড তাকানঃ
function(){return 99;}()
এটি একটি খুব সহজ জাভাস্ক্রিপ্ট ফাংশন যা এক্সিকিউটেড হলে 99 এর মান প্রদান করে।
মডিউল নামঃ এমএ পিরিয়ড. চলুন এক্সিকিউশন কোড তাকানঃ
(function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()
কোডটি একটি বেনামী ফাংশন কল। বেনামী ফাংশন প্রথমে কে-লাইন ডেটা পাওয়ার জন্য অপারেশনটি সম্পাদন করে, যথা কে-লাইন ডেটাr
. তারপর, প্রাপ্ত r হয় কিনা তার উপর নির্ভর করেnull
অথবাr
প্যারামিটারের চেয়ে কম%1
মডিউল আমদানি, ফিরে বিচারকfalse
অথবা সূচক ফলাফল দ্বারা গণনা ফেরতTA.MA(r, %1)
.
এটি পরবর্তী ব্যবহারের জন্য প্রস্তুত।
ভিজ্যুয়াল (ব্লকলি) কৌশল সম্পাদনাঃ
অপারেশন:
এটি দেখা যাচ্ছে যে এমএ সূচক দ্বারা গণনা করা তথ্যগুলি পছন্দসইভাবে প্রাপ্ত হয়েছে।
উপরের উদাহরণটি ভিজ্যুয়ালাইজেশন মডিউলের ডিজাইনের একটি উদাহরণ মাত্র, তাই আপনি টেমপ্লেট ফাংশনটি নিজের দ্বারা প্রসারিত করতে ব্যবহার করতে পারেন।