بصری (بلاکلی) حکمت عملی میں ترمیم کی طرف سے اپنی مرضی کے مطابق ٹیمپلیٹ کی توسیع

مصنف:نینا باداس, تخلیق: 2022-04-27 10:01:48, تازہ کاری: 2022-04-27 10:12:55

بصری (بلاک) حکمت عملی میں ترمیم کی طرف سے اپنی مرضی کے مطابق ٹیمپلیٹ کی توسیع

کس طرح اپنی مرضی کے مطابق لائبریری آپ بصری حکمت عملی کے لئے کی ضرورت کو بڑھانے کے لئے؟ مثال کے طور پر، میں نے MA اشارے کا حساب کرنا چاہتے ہیں، لیکن نظام صرف کے ساتھ آتا ہے:

img

یہ اشارے۔ میں ان اشاروں میں کسٹم کوڈ کیسے شامل کر سکتا ہوں؟ آئیے ایک مثال کے طور پر اپنی مرضی کے مطابق ایم اے اشارے کے حساب کے ماڈیول کو شامل کرتے ہیں تاکہ یہ وضاحت کی جاسکے کہ نمائش ماڈیول کو کیسے بڑھایا جائے۔

کریپٹوکرنسی اسپاٹ ٹریڈنگ ٹیمپلیٹ

آئیے ٹیمپلیٹ کریپٹوکرنسی اسپاٹ ٹریڈنگ لائبریری کے بارے میں بات کرتے ہیں؛ پتہ یہ ہے:https://www.fmz.com/strategy/10989. اگرچہ یہ ٹیمپلیٹ ایف ایم زیڈ پلیٹ فارم کا جاوا اسکرپٹ ورژن ٹیمپلیٹ ہے (جن طلباء کو ٹیمپلیٹ کے تصور کو سمجھ نہیں آتا ہے ان کے لئے ، آپ مزید تفصیلات کے لئے ایف ایم زیڈ API دستاویزات پر جاسکتے ہیں: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

MA کا حساب کرنے کے لئے اپنی مرضی کے مطابق ماڈیول بنائیں

تیار مثال کے ساتھ، یہ خود کو تعمیر کرنے کے لئے بہت آسان ہے، بالکل میکانی طور پر کاپی کرنے کی طرح.

سب سے پہلے، جاوا اسکرپٹ زبان میں ایک نیا ٹیمپلیٹ بنائیں.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

    ماڈیول کا نام: ٹیسٹ اے۔ آئیے عملدرآمد کا کوڈ دیکھیں:img

    function(){return 99;}()
    

    یہ ایک بہت ہی سادہ جاوا اسکرپٹ فنکشن ہے جو عملدرآمد کے وقت 99 کی قدر واپس کرتا ہے۔

  • img

    ماڈیول کا نام: MA مدت. چلو کی پھانسی کے کوڈ پر نظر ڈالیں:

    img

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

یہ اگلے استعمال کے لئے تیار ہے.

ایم اے اشارے کا حساب لگانے کا ٹیسٹ

بصری (بلاک) حکمت عملی میں ترمیم:img

آپریشن:img

یہ دیکھا جاسکتا ہے کہ ایم اے اشارے کے ذریعہ شمار کردہ اعداد و شمار مطلوبہ طور پر حاصل کیے گئے ہیں۔

مندرجہ بالا صرف نقطہ نظر ماڈیول کے ڈیزائن کے لئے ایک مثال ہے، لہذا آپ اپنے آپ کو بڑھانے کے لئے ٹیمپلیٹ فنکشن کا استعمال کر سکتے ہیں.


مزید