Como usar o código para ajustar a precisão do sistema de retorno de barras de configuração padrão

Autora:Sonhos pequenos, Criado: 2017-05-05 19:03:55, Atualizado: 2020-03-30 13:51:24

Como usar o código para ajustar a precisão do sistema de retorno de barras de configuração padrão

O conteúdo foi alterado, por favor, consulte a documentação mais recente da API.

Em testes de parâmetros de políticas, repassagem de diferentes períodos de tempo, repassagem de objetos de vários indicadores, etc., a política de repassagem deve ser reiniciada na próxima repassagem, porque os parâmetros precisam ser ajustados repetidamente e não podem ser registrados. A plataforma, para facilitar o ajuste de parâmetros, adiciona novas funcionalidades.

  • 1, quando não estiver usando a função

    img

    Como pode ver, este é um teste de estratégia, com o seguinte código:

    function main(){
        while(true){
            LogStatus("测试默认参数!");
            Sleep();
        }
    }
    

    O parâmetro estratégico é o seguinte:

    img

    A configuração padrão para o parâmetro do parâmetro do parâmetro do parâmetro do parâmetro do parâmetro do parâmetro do parâmetro do parâmetro é a seguinte:

    img

  • 2, usar o código, ajustar a configuração padrão de retraso

    • A parte dos parâmetros do sistema de teste:
      /*backtest
        start: 2017-03-01        
        end: 2017-03-02           
        period: 15                
        mode: 1                 
      */
      

      img

      Atenção:

      • período: 15 15 significa 15 minutos, e os ciclos suportados pela plataforma são de 1 minuto, 5 minutos, 15 minutos, 30 minutos, 1 hora, 1 dia Então, o que é uma hora? 1 hora é igual a 60 minutos, e isso é escrito comoperiod : 60Não há problema. Então, o que é um dia? Um dia é igual a 24 vezes 60 minutos.period : 1440Não há problema.

      • mode: 1 mode refere-se ao modo de retest, suportado pelo sistema de retest模拟级别回测实盘级别回测Aqui, 1 representa o índice da caixa de barras, 0 é o índice da caixa.模拟级别回测1 é实盘级别回测

    • A parte dos parâmetros da estratégia de reavaliação:
      /*defaults
        number : 0
        bool: false
        string: Hello BotVS!
        comboBox : 2
      */
      

      img

      Atenção:

      • comboBox: 2 O 2 é o índice do campo de descida, o índice da primeira opção do campo de descida é 0, o índice da segunda opção é 1, e o índice da terceira opção é 2;
      • O parâmetro de tipo e o tipo de strings são os mesmos.
    • Código de teste completo

JavaScript

/*backtest
  start: 2017-03-01        
  end: 2017-03-02           
  period: 15              
  mode: 1                 
*/

/*defaults
  number : 0
  bool: false
  string: Hello BotVS!
  comboBox : 2
*/

function main(){
    while(true){
        LogStatus("测试默认参数!");
        Sleep();
    }
}

Python

'''
/*backtest
  start: 2017-03-01        
  end: 2017-03-02           
  period: 15              
  mode: 1                 
*/

/*defaults
  number : 0
  bool: false
  string: Hello BotVS!
  comboBox : 2
*/
'''
def main():
  Log("OK")  

Refresque e veja se a página foi revisada em relação ao anterior. Nota: a configuração padrão de modificação de código é efetiva na primeira vez que você acessa a página, a modificação no meio não é efetiva, a atualização é efetiva após o salvo.

img

Pode-se ver que tanto o parâmetro padrão do sistema de pesquisa de repetição de repetição como o parâmetro padrão da política de repetição de repetição foram modificados de acordo com o código. Salvar as configurações necessárias, sem mais precisar de ponto a ponto para definir os parâmetros de repetição.

  • 3. Use o botão MATE para inserir os parâmetros da configuração da página de retrospecção no código da política:

    img

    Assim, a primeira vez que o código é configurado, o parâmetro de revisão padrão não é escrito à mão e pode ser configurado na página de revisão e inserido diretamente no código.

  • A política de testes é:

    img

    https://www.fmz.com/strategy/40155

Nota: alterar args para defaults

  • 2017.12.17 Optimização do botão Salvar Retrospectiva Configuração do botão (o botão de controle era originalmente chamado de META)

    img

    Por exemplo: Após a configuração das opções de retrospecção (por exemplo, tempo, câmbio, ciclo da linha K, etc.) Pode-se clicar no botão Configuração de Configuração de Retorno no botão Salvar Configuração de Retorno na página de edição da política, para salvar a configuração de retorno em código na política, a próxima vez que a configuração de retorno for feita com este código.

    img

    O código é automaticamente adicionado ao início da área de edição para ser guardado em forma de anotação.

    img

    Assim, você pode salvar as informações de modo que não precisem ser reconfiguradas na próxima vez.

    Se a configuração de taxas do objeto da troca avaliada for ajustada:

    img

    Em seguida, salve a configuração de retraso e você verá que uma configuração de taxa aparece na configuração de retraso.

    # 注意: 尽量不要手动修改 或者 设置 回测设置 (即 backtest 段代码) 代码。
    

Mais.

Kaizi1231O que você está fazendo é gerar essa informação de configuração que pode ser chamada diretamente dentro de uma estratégia, como por exemplo, esta taxa, o saldo, para calcular o lucro?

Hokshelato`mode: 1` parece não funcionar, e a interface mostra sempre o Tick de nível analógico.

Edward GywNice work! não é adicionar a troca e a compra e venda de transações de preços de configuração em conjunto e codificados, cada vez que você ajustar esses números

AquárioSe você pode definir o saldo e o saldo, é melhor.

Sonhos pequenosTaxa Define um parâmetro diretamente na interface da política.

Kaizi1231Minho, há alguma maneira de obter o parâmetro de taxa definido pela plataforma de retesting na estratégia?

Sonhos pequenosIsso não funciona, é apenas o código dos parâmetros configurados para o sistema de retesting.

Sonhos pequenosBom, claro ^^, este é o próprio código de anotação, e uma anotação adicional pode causar erros de resolução.

HokshelatoNão é um problema de atualização, mas sim porque eu adicionei uma nota depois da frase e o BotVS não resolveu corretamente; por exemplo: Não sei. /* backtest mode: 1 // tick de nível de disco real */ Não. Com uma nota, o mode ≠ sempre é definido como **0** (análogo).

Sonhos pequenosO que você disse não pode ser definido no código.

Sonhos pequenosA página deve ser atualizada após a configuração, e isso deve ser o problema.

HokshelatoA pergunta é se agora o saldo, o saldo, a compra, a venda podem ser definidos no backtest.

Zero.Configuração de pagamento

J +1

Edward GywSimples, configure um botão para salvar a configuração atual como a opção padrão. Depois de fazer isso, você pode gerar a sequência de inserção de código ou registrar em segundo plano, é muito mais fácil do que agora.

Sonhos pequenosA ideia é que o projeto seja um pouco mais complexo e, por enquanto, ainda está em fase de design, para ver qual é o projeto mais razoável, conveniente e eficiente.

Sonhos pequenosO que eu quero dizer é que, se você quiser, você pode fazer um teste de segurança, mas se você não quiser, você pode fazer um teste de segurança.