O recurso está a ser carregado... Carregamento...

Bibliotecas de modelos

Bibliotecas de modelossão módulos de código reutilizáveis na plataforma de negociação FMZ Quant, uma categoria de código de estratégia.JavaScript, Python, C++, eBlocklySe a categoria for definida como Biblioteca de Classes de Modelo ao criar uma estratégia, uma biblioteca de modelos será criada na biblioteca de estratégias da conta atualmente conectada à Plataforma de Negociação Quant FMZ, e não é possível alterar a categoria para uma estratégia normal após a criação.Create template library page

Função de exportação da biblioteca de modelos

A função de exportação é uma função de interface da biblioteca de modelos, e pode ser chamada pela estratégia que se refere à biblioteca de modelos.

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

A biblioteca de modelos é escrita em um formato diferente para diferentes linguagens de programação. Um exemplo de código para exportar funções a serem declaradas na biblioteca de modelos e implementadas é o seguinte: OBlockly VisualizationA função da biblioteca de uso de estratégia pode ser implementada escrevendo uma biblioteca de classe modelo noJavaScriptlinguagem, escrita utilizando o seguinte formato de escrita.

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

Parâmetros da biblioteca do modelo

A biblioteca de modelos também pode definir seus próprios parâmetros de interface, que são usados na forma de variáveis globais no código da biblioteca de modelos. Por exemplo, definimos os parâmetros de uma biblioteca de classes modelo:

Template parameters

Nome da variável do parâmetro no código de estratégia Nome do parâmetro exibido no ecrã de estratégia Tipo Valor padrão
Parâmetro 1 Parâmetro 1 Número 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;
}

Código da biblioteca de classes modelo para testeparam1Parâmetros:

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

Referir o código de estratégia do exemplo de biblioteca de classe modelo acima e usar a função de exportação da biblioteca de classe modelo para obter o parâmetroparam1e modificar o parâmetroparam1.

Biblioteca de modelos de referência

Quando uma estratégia faz referência a uma biblioteca de modelos, ela requer que a conta atualmente conectada da FMZ Quant Trading Platform tenha uma biblioteca de modelos disponível em sua biblioteca de estratégias.página de edição de estratégiaSalve a estratégia.Screenshot of template reference

Quadro de estratégia e funções de API Parâmetros da estratégia