ভিজ্যুয়াল (ব্লকলি) কৌশল সম্পাদনা দ্বারা কাস্টম টেমপ্লেট প্রসারিত করা

লেখক:নিনাবাদাস, সৃষ্টিঃ ২০২২-০৪-২৭ ১০ঃ০১ঃ৪৮, আপডেটঃ ২০২২-০৪-২৭ ১০ঃ১২ঃ৫৫

ভিজ্যুয়াল (ব্লকলি) কৌশল সম্পাদনার মাধ্যমে কাস্টম টেমপ্লেট প্রসারিত করা

কিভাবে কাস্টম লাইব্রেরি প্রসারিত আপনি চাক্ষুষ কৌশল জন্য প্রয়োজন? উদাহরণস্বরূপ, আমি এমএ সূচক গণনা করতে চান, কিন্তু সিস্টেম শুধুমাত্র সঙ্গে আসেঃ

img

এই সূচকগুলোতে আমি কিভাবে কিছু কাস্টম কোড যোগ করতে পারি? ভিজ্যুয়ালাইজেশন মডিউলটি কীভাবে প্রসারিত করা যায় তা ব্যাখ্যা করার জন্য একটি উদাহরণ হিসাবে একটি কাস্টম এমএ সূচক গণনা মডিউল যুক্ত করা যাক।

ক্রিপ্টোকারেন্সি স্পট ট্রেডিং টেমপ্লেট

আসুন টেমপ্লেট ক্রিপ্টোকারেন্সি স্পট ট্রেডিং লাইব্রেরি সম্পর্কে কথা বলি; ঠিকানাটি হলঃhttps://www.fmz.com/strategy/10989. যদিও এই টেমপ্লেটটি এফএমজেড প্ল্যাটফর্মের একটি জাভাস্ক্রিপ্ট সংস্করণ টেমপ্লেট (যে শিক্ষার্থীরা টেমপ্লেটের ধারণা বুঝতে পারে না তাদের জন্য, আপনি আরও বিস্তারিত জানার জন্য এফএমজেড এপিআই ডকুমেন্টেশনে যেতে পারেনঃhttps://www.fmz.com/api#template.. টেমপ্লেটের শুরুতে মন্তব্যগুলিতে কোড রয়েছে যা ভিজ্যুয়ালাইজেশন মডিউলকে সংজ্ঞায়িত করে এবং জাভাস্ক্রিপ্ট টেমপ্লেটের কোডটি সংজ্ঞায়িত কোডে উল্লেখ করা যেতে পারে। এটি আমাদের নিজের দ্বারা প্রসারিত করার জন্য খুব সুবিধাজনক (যা আমাদের শেখার এবং সিমুলেট করার জন্য একটি ভাল উদাহরণ) ।

ক্রিপ্টোকারেন্সি স্পট ট্রেডিং লাইব্রেরি; শুরুতে ভিজ্যুয়ালাইজেশন সংজ্ঞাঃ

/*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
    }
*/

যথাক্রমে ভিজ্যুয়াল (ব্লকলি) সম্পাদনা পৃষ্ঠার মডিউলগুলির সাথে সামঞ্জস্যপূর্ণঃimg

এমএ গণনা করার জন্য কাস্টম মডিউল তৈরি করুন

রেডিমেড উদাহরণ দিয়ে, এটি নিজে তৈরি করা খুব সহজ, যান্ত্রিকভাবে অনুলিপি করার মতো।

প্রথমে জাভাস্ক্রিপ্ট ভাষায় একটি নতুন টেমপ্লেট তৈরি করুন।img

টেমপ্লেট কোড সম্পাদনা করুন।

/*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
    }
*/
  • type: একটি মডিউল টাইপকে অ্যাট্রিবিউট দ্বারা সংজ্ঞায়িত করা, এবং নামকরণের মাধ্যমে মডিউলকে সংজ্ঞায়িত করা।
  • message0: একটি মডিউলে পাঠ্য প্রদর্শন করতে
  • টেমপ্লেটঃ একটি মডিউল দ্বারা চালিত কোড
  • আউটপুটঃ মডিউল দ্বারা রপ্তানি করা টাইপ
  • args0: একটি মডিউল দ্বারা আমদানি করা প্যারামিটার; মডিউল সংজ্ঞা কোডে, %1 প্রথম আমদানি করা প্যারামিটারকে উপস্থাপন করে, এবং %2 দ্বিতীয়টিকে উপস্থাপন করে

নতুন টেমপ্লেট সম্পাদনা করার পর, এটি সংরক্ষণ করুন। কৌশল যেখানে আমরা এই টেমপ্লেট ব্যবহার করতে হবে, টেমপ্লেট চেক করুন.img

আপনি দেখতে পাচ্ছেন যে দুটি অতিরিক্ত মডিউল রয়েছেঃ

  • img

    মডিউল নামঃ testA. আসুন এক্সিকিউশন কোড তাকানঃimg

    function(){return 99;}()
    

    এটি একটি খুব সহজ জাভাস্ক্রিপ্ট ফাংশন যা এক্সিকিউটেড হলে 99 এর মান প্রদান করে।

  • img

    মডিউল নামঃ এমএ পিরিয়ড. চলুন এক্সিকিউশন কোড তাকানঃ

    img

    (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).

এটি পরবর্তী ব্যবহারের জন্য প্রস্তুত।

এমএ সূচক গণনা করার জন্য পরীক্ষা

ভিজ্যুয়াল (ব্লকলি) কৌশল সম্পাদনাঃimg

অপারেশন:img

এটি দেখা যাচ্ছে যে এমএ সূচক দ্বারা গণনা করা তথ্যগুলি পছন্দসইভাবে প্রাপ্ত হয়েছে।

উপরের উদাহরণটি ভিজ্যুয়ালাইজেশন মডিউলের ডিজাইনের একটি উদাহরণ মাত্র, তাই আপনি টেমপ্লেট ফাংশনটি নিজের দ্বারা প্রসারিত করতে ব্যবহার করতে পারেন।


আরো