avatar of 发明者量化-小小梦 发明者量化-小小梦
پر توجہ دیں نجی پیغام
4
پر توجہ دیں
1271
پیروکار

بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

میں تخلیق کیا: 2020-10-17 11:27:43, تازہ کاری: 2024-12-06 22:23:25
comments   0
hits   1742

بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

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

ڈیجیٹل کرنسی اسپاٹ ٹریڈنگ لائبریری

پہلے، آئیے [Cryptocurrency Spot Trading Library] ٹیمپلیٹ کے بارے میں بات کرتے ہیں، پتہ یہ ہے: https://www.fmz.com/strategy/10989 اگرچہ یہ ٹیمپلیٹ FMZ پلیٹ فارم کا جاوا اسکرپٹ لینگویج ٹیمپلیٹ ہے (جو طلباء ٹیمپلیٹس کے تصور کو نہیں سمجھتے وہ سوال کے لیے FMZ API دستاویز پر جا سکتے ہیں: https://www.fmz.com/api#%E6%A8%A1 %E6%9D%BF% E7%B1%BB%E5%BA%93) تاہم، ٹیمپلیٹ کے شروع میں تبصرے کوڈ پر مشتمل ہے جو ویژولائزیشن ماڈیول کی وضاحت کرتا ہے، اور اس جاوا اسکرپٹ ٹیمپلیٹ کے کوڈ کو متعین کوڈ میں حوالہ دیا جا سکتا ہے۔ یہ ہمارے لیے خود اس کو پھیلانا بہت آسان بناتا ہے (ہمارے لیے نقل کرنے کے لیے ایک اچھی مثال دیتا ہے)۔

ڈیجیٹل کرنسی اسپاٹ ٹریڈنگ لائبریری، شروع میں بصری تعریف:

/*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
    }
*/
  • قسم: وصف ماڈیول کی قسم کی وضاحت کرتا ہے، آپ اسے اپنے نام سے بیان کر سکتے ہیں۔
  • پیغام0 : ماڈیول پر ظاہر ہونے والا متن۔
  • ٹیمپلیٹ : ماڈیول کی طرف سے عملدرآمد کوڈ.
  • آؤٹ پٹ : ماڈیول آؤٹ پٹ کی قسم۔
  • args0: ماڈیول کے ان پٹ پیرامیٹرز ماڈیول ڈیفینیشن کوڈ میں، %1 پہلے ان پٹ پیرامیٹر کی نمائندگی کرتا ہے اور %2 دوسرے کی نمائندگی کرتا ہے۔

نئی ٹیمپلیٹ میں ترمیم کرنے کے بعد، اسے محفوظ کریں۔ پالیسی میں جہاں ہمیں اس ٹیمپلیٹ کو استعمال کرنے کی ضرورت ہے، اس ٹیمپلیٹ کو چیک کریں۔ بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

آپ دیکھ سکتے ہیں کہ دو اور ماڈیولز ہیں:

  • بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

ماڈیول کا نام ہے: testA، آئیے اس کے ایگزیکیوشن کوڈ کو دیکھیں: بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

  function(){return 99;}()

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

  • بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

ماڈیول کا نام ہے: MA سائیکل، آئیے اس کے عمل کوڈ کو دیکھیں:

بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

  (function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()

کوڈ ایک گمنام فنکشن کال ہے جو پہلے K-line ڈیٹا حاصل کرنے کے عمل کو انجام دیتا ہے۔r. پھر، اس بات پر منحصر ہے کہ آیا حاصل کردہ r ہے۔nullیاrکیا لمبائی ماڈیول کے ان پٹ پیرامیٹر سے کم ہے؟%1واپسی کا فیصلہ کرنے جائیں۔falseیا واپسیTA.MA(r, %1)حسابی اشارے کے نتائج۔

پھر آپ اسے استعمال کر سکتے ہیں۔

ایم اے اشارے کا ٹیسٹ کیلکولیشن

بصری حکمت عملی ایڈیٹر: بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

چلائیں: بصری تدوین کی حکمت عملی کی توسیع حسب ضرورت لائبریری

یہ دیکھا جا سکتا ہے کہ ایم اے اشارے کے حساب سے ڈیٹا مطلوبہ طور پر حاصل کیا گیا تھا۔

مندرجہ بالا صرف ایک نقطہ آغاز ہے۔