Type/to search
8
Follow
1364
Followers
Pustaka tersuai sambungan strategi penyuntingan visual
Original
Created 2020-10-17 11:27:43  Updated 2024-12-06 22:23:25
 0
 2007

img

Pustaka tersuai sambungan strategi penyuntingan visual

Bagaimana untuk mengembangkan strategi visualisasi dengan perpustakaan kelas tersuai yang anda perlukan? Sebagai contoh, saya ingin mengira penunjuk MA, tetapi sistem hanya disertakan dengan:
img
Bagaimanakah saya boleh menambah beberapa kod tersuai pada penunjuk ini?
Mari kita tambah modul pengiraan penunjuk MA tersuai sebagai contoh untuk menerangkan cara mengembangkan modul visualisasi.

Perpustakaan perdagangan spot mata wang digital

Mula-mula, mari kita bincangkan tentang templat [Perpustakaan Dagangan Spot Cryptocurrency], alamatnya ialah: https://www.fmz.com/strategy/10989
Walaupun templat ini ialah templat bahasa JavaScript platform FMZ (pelajar yang tidak memahami konsep templat boleh pergi ke dokumen API FMZ untuk pertanyaan: https://www.fmz.com/api#模 %E6%9D%BF% E7%B1%BB%E5%BA%93)
Walau bagaimanapun, ulasan pada permulaan templat mengandungi kod yang mentakrifkan modul visualisasi dan kod templat JavaScript ini boleh dirujuk dalam kod yang ditentukan. Ini memudahkan kita mengembangkannya sendiri (berikan contoh yang baik untuk kita tiru).

Perpustakaan perdagangan spot mata wang digital, definisi visual pada permulaan:

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

Mereka sepadan dengan modul dalam halaman penyuntingan visual masing-masing:
img

Bina modul yang ditakrifkan sendiri untuk mengira penunjuk MA

Dengan contoh yang sudah siap, sangat mudah untuk membinanya sendiri, ikuti sahaja contoh tersebut.

Mula-mula, buat templat bahasa JavaScript baharu.
img

Edit kod templat.

/*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 } */
  • jenis: Atribut mentakrifkan jenis modul, anda boleh mentakrifkannya dengan nama anda sendiri.
  • message0 : Teks yang dipaparkan pada modul.
  • templat : Kod yang dilaksanakan oleh modul.
  • keluaran : Jenis keluaran modul.
  • args0: Parameter input modul Dalam kod definisi modul, %1 mewakili parameter input pertama dan %2 mewakili yang kedua.

Selepas mengedit templat baharu, simpannya.
Dalam dasar di mana kita perlu menggunakan templat ini, semak templat ini.
img

Anda boleh melihat bahawa terdapat dua lagi modul:

  • img

    Modul bernama: testA, mari kita lihat kod pelaksanaannya:
    img

    function(){return 99;}()

    Ia adalah fungsi JavaScript yang sangat mudah yang mengembalikan nilai 99 apabila dilaksanakan.

  • img

    Modul bernama: Kitaran MA, mari kita lihat kod pelaksanaannya:

    img

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

    Kod ialah panggilan fungsi tanpa nama Fungsi tanpa nama mula-mula melaksanakan operasi mendapatkan data talian K.r. Kemudian, bergantung kepada sama ada r yang diperoleh adalahnullataurAdakah panjang kurang daripada parameter input modul?%1Untuk menilai pulanganfalseAtau kembaliTA.MA(r, %1)Keputusan penunjuk yang dikira.

Kemudian anda boleh menggunakannya.

Pengiraan ujian penunjuk MA

Editor Strategi Visual:
img

lari:
img

Dapat dilihat bahawa data yang dikira oleh penunjuk MA diperolehi seperti yang dikehendaki.

Di atas hanyalah titik permulaan Reka bentuk modul visualisasi boleh dikembangkan dengan menggunakan fungsi templat.

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)