Perpustakaan templatBahasa pengaturcaraan yang menyokong ciri perpustakaan templat dalam Platform Dagangan Kuantum FMZ adalahJavaScript
, Python
, C++
, danBlockly
. Jika kategori ditetapkan kepada Perpustakaan Kelas Templat semasa membuat strategi, perpustakaan templat akan dibuat dalam perpustakaan strategi akaun yang kini log masuk ke Platform Dagangan Kuantum FMZ, dan tidak mungkin untuk menukar kategori ke strategi biasa selepas penciptaan.
Fungsi eksport adalah fungsi antara muka perpustakaan templat, dan ia boleh dipanggil oleh strategi yang merujuk kepada perpustakaan templat.
/*
-- 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 templat ditulis dalam format yang berbeza untuk bahasa pengaturcaraan yang berbeza.
PerkhidmatanBlockly Visualization
pendekatan kepada fungsi perpustakaan penggunaan strategi boleh dilaksanakan dengan menulis perpustakaan kelas templat dalamJavaScript
bahasa, yang ditulis menggunakan format penulisan 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
}
*/
Perpustakaan templat juga boleh menetapkan parameter antara muka sendiri, yang digunakan dalam bentuk pembolehubah global dalam kod perpustakaan templat. Sebagai contoh, kita menetapkan parameter perpustakaan kelas templat:
Nama pembolehubah parameter dalam kod strategi | Nama parameter yang dipaparkan pada skrin strategi | Jenis | Nilai lalai |
---|---|---|---|
param1 | param1 | nombor | 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;
}
Kod perpustakaan kelas templat untuk ujianparam1
parameter:
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());
}
Rujuk kod strategi perpustakaan kelas templat contoh di atas dan gunakan fungsi eksport perpustakaan kelas templat untuk mendapatkan parameterparam1
dan mengubah suai parameterparam1
.
Apabila strategi merujuk kepada perpustakaan templat, ia memerlukan bahawa akaun FMZ Quant Trading Platform yang sedang log masuk mempunyai perpustakaan templat yang tersedia dalam perpustakaan strategi.halaman penyuntingan strategi, simpan strategi.
Rangka Kerja Strategi dan Fungsi API Parameter Strategi