Sumber daya yang dimuat... Pemuatan...

Perpustakaan Templat

Perpustakaan templateadalah modul kode yang dapat digunakan kembali di FMZ Quant Trading Platform, kategori kode strategi.JavaScript, Python, C++, danBlockly. Jika kategori ditetapkan sebagai Template Class Library saat membuat strategi, perpustakaan template akan dibuat di perpustakaan strategi akun yang saat ini masuk ke Platform Perdagangan Kuantum FMZ, dan tidak mungkin untuk mengubah kategori ke strategi normal setelah dibuat.Create template library page

Ekspor fungsi perpustakaan template

Fungsi ekspor adalah fungsi antarmuka dari perpustakaan template, dan dapat dipanggil dengan strategi yang merujuk ke perpustakaan template.

/*
-- After the strategy references the template, call this method directly with $.Test()
-- The main function is not triggered in the strategy, it is only the entry point for template debugging
*/
$.Test = function() {
    Log('Test')
}

function main() {
    $.Test()
}
def Test():
    Log("template call")

# Export the Test function, the main strategy can be called via ext.Test().
ext.Test = Test 
// After the strategy references the template, call this method directly with ext::Test()
void Test() {
    Log("template call");
}

Perpustakaan template ditulis dalam format yang berbeda untuk bahasa pemrograman yang berbeda. Contoh kode untuk mengekspor fungsi yang akan dinyatakan dalam perpustakaan template dan diimplementasikan adalah sebagai berikut: PeraturanBlockly VisualizationFungsionalitas perpustakaan penggunaan strategi dapat diimplementasikan dengan menulis perpustakaan kelas templat diJavaScriptbahasa, ditulis menggunakan format tulisan berikut.

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

Parameter Perpustakaan Templat

Perpustakaan template juga dapat mengatur parameter antarmuka sendiri, yang digunakan dalam bentuk variabel global dalam kode perpustakaan template. Sebagai contoh, kita mengatur parameter dari perpustakaan kelas template:

Template parameters

Nama variabel parameter dalam kode strategi Nama parameter yang ditampilkan pada layar strategi Jenis Nilai default
param1 param1 nomor 99
$.SetParam1 = function(p1) {
    param1 = p1
}

$.GetParam1 = function() {
    Log("param1:", param1)
    return param1
}
def SetParam1(p1):
    global param1
    param1 = p1

def GetParam1():
    Log("param1:", param1)
    return param1

ext.SetParam1 = SetParam1
ext.GetParam1 = GetParam1
void SetParam1(float p1) {
    param1 = p1;
}

float GetParam1() {
    Log("param1:", param1);
    return param1;
}

Kode perpustakaan kelas templat untuk pengujianparam1parameter:

function main () {
    Log("Call $.GetParam1:", $.GetParam1())
    Log("Call $.SetParam1:", "#FF0000")
    $.SetParam1(20)
    Log("Call $.GetParam1:", $.GetParam1())
}
def main():
    Log("Call ext.GetParam1:", ext.GetParam1())
    Log("Call ext.SetParam1:", "#FF0000")
    ext.SetParam1(20)
    Log("Call ext.GetParam1:", ext.GetParam1())
void main() {
    Log("Call ext::GetParam1:", ext::GetParam1());
    Log("Call ext::SetParam1:", "#FF0000");
    ext::SetParam1(20);
    Log("Call ext::GetParam1:", ext::GetParam1());
}

Referensi kode strategi dari contoh perpustakaan kelas template di atas dan gunakan fungsi ekspor dari perpustakaan kelas template untuk mendapatkan parameterparam1dan mengubah parameterparam1.

Perpustakaan Templat Referensi

Ketika sebuah strategi mereferensikan perpustakaan templat, ia mengharuskan bahwa akun FMZ Quant Trading Platform yang saat ini masuk memiliki perpustakaan template yang tersedia di perpustakaan strategi.halaman pengeditan strategi, selamatkan strategi.Screenshot of template reference

Kerangka Strategi dan Fungsi API Parameter Strategi