В процессе загрузки ресурсов... загрузка...

Библиотеки шаблонов

Библиотеки шаблоновявляются многоразовыми модулями кода в FMZ Quant Trading Platform, категории кода стратегии.JavaScript, Python, C++, иBlocklyЕсли категория установлена на Template Class Library при создании стратегии, библиотека шаблонов будет создана в библиотеке стратегии в настоящее время зарегистрированного счета FMZ Quant Trading Platform, и после создания категории невозможно изменить на обычную стратегию.Create template library page

Функция экспорта библиотеки шаблонов

Функция экспорта является интерфейсной функцией библиотеки шаблонов, и она может быть вызвана с помощью стратегии, которая относится к библиотеке шаблонов.

/*
-- 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");
}

Библиотека шаблонов написана в разном формате для разных языков программирования. ВBlockly VisualizationФункциональность библиотеки использования стратегии может быть реализована путем написания библиотеки шаблона класса вJavaScriptязык, написанный с использованием следующего формата письма.

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

Параметры библиотеки шаблона

Библиотека шаблонов также может устанавливать свои собственные параметры интерфейса, которые используются в виде глобальных переменных в коде библиотеки шаблонов. Например, мы устанавливаем параметры библиотеки классов шаблонов:

Template parameters

Наименование переменной параметра в коде стратегии Наименование параметра, отображаемого на экране стратегии Тип Значение по умолчанию
параметр 1 параметр 1 Номер 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;
}

Код библиотеки классов шаблона для тестированияparam1параметры:

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());
}

Ссылка на код стратегии библиотеки класса шаблона пример выше и использовать функцию экспорта библиотеки класса шаблона, чтобы получить параметрparam1и изменить параметрparam1.

Библиотека ссылочных шаблонов

Когда стратегия ссылается на библиотеку шаблонов, она требует, чтобы аккаунт FMZ Quant Trading Platform, на котором вы в настоящее время вошли, имел доступную библиотеку шаблонов в своей библиотеке стратегий.Страница редактирования стратегии, сохранить стратегию.Screenshot of template reference

Рамочная стратегия и функции API Параметры стратегии