No artigo anterior, aprendemos sobre os parâmetros do modelo
Os parâmetros de estratégia para o MyLanguage são definidos na página de edição de estratégia, assim como outras linguagens na plataforma de negociação FMZ Quant, por exemplo, tomamos oDual Thrust
A estratégia da versão MyLanguage como exemplo.
Endereço estratégico:https://www.fmz.com/strategy/128884 。
Os parâmetros definidos para a estratégia na página de edição da estratégia estão disponíveis diretamente no código da estratégia.
Por exemplo, no exemplo acima, o valor padrão de N é 4. Se este parâmetro não for modificado ao criar um robô, então após o robô correr, o valor de N na estratégia é 4.
Já entendemos o conteúdo do nível de estratégia MyLanguage (parâmetros de estratégia MyLanguage, parâmetros de modelo da biblioteca de classes de negociação MyLanguage).
Testes de retrocesso
Após a seleção do intervalo de tempo de backtest (hora de início e hora de término), defina o período de linha K da estratégia. A Mylanguage também suporta vários dados de período de linha K na estratégia. Mas o período de linha K definido aqui é o período de linha K padrão, e o conjunto de linha K aqui é a linha K diária, portanto, o gráfico gerado automaticamente após a execução da estratégia é a linha K diária. O modo de backtesting é dividido em
Os parâmetros relacionados com o mercado e a troca, como o valor do fundo de simulação de backtesting, a taxa de negociação de backtesting, a precisão do preço de backtesting, a precisão da quantidade de negociação e a fonte de dados de backtesting, todos estes não entram em vigor após serem modificados na página de backtesting.
Um robô de verdade.
As configurações do bot real são muito mais simples. Só precisamos especificar o docker para a configuração do robô criado (ou seja, em que docker executar o robô). Definir o período de linha K e o objeto de troca a ser operado (ou seja, o objeto de conta de troca configurado).
Quando a estratégia está sendo executada, há pouca diferença entre o bot real e o backtesting, mas o backtest tem mais dados estatísticos gerados automaticamente pelo sistema de backtesting.
Informações da barra de estado
As informações da barra de estado dividem-se principalmente em
A informação de mercado registra principalmente o tempo de início do período, o tipo de transação (código de contrato), a quantidade de posição, o preço da posição e outros dados do período padrão de linha K atualmente definido. Deve-se notar que as atualizações de mercado aqui são diferentes ao definir o modelo
As informações sobre o fundo registam principalmente o valor do robô desde o início da operação até ao fundo atual.
Qualquer dado na estratégia também pode ser exibido na parte inferior da barra de status, por exemplo, no exemplo: UPTRACK, DOWNTRACK, que é exibido de acordo com os requisitos.
Os seguintes símbolos são utilizados para atribuir um valor a uma variável (extraído do documento API MyLanguage)
Símbolo:
O ponto e o ponto representam a atribuição e é emitido para o gráfico (sub-gráfico) e exibido na tabela da barra de estado.
Símbolo:=
O ponto e ponto representa a atribuição, mas não é emitido para o gráfico (gráfico principal, subgráfico...), nem exibido na tabela de barra de estado.
Símbolo^^
Os dois símbolos ^ representam a atribuição, atribuem valores às variáveis e as emitem para o gráfico (gráfico principal), que é exibido na tabela de barra de estado.
Símbolo..
Os dois símbolos representam a atribuição, atribuem valores às variáveis e são exibidos na tabela de barras de estado, mas não são emitidos para o gráfico (gráfico principal, subgráfico...).
Pode-se ver que estes símbolos são todas operações de atribuição, mas a diferença reside em se as variáveis são exibidas na barra de estado, e se as variáveis são desenhadas no gráfico principal e no sub-gráfico (a ser mostrado mais tarde).^^
, :
, ..
todos podem exibir valores de variáveis na parte inferior da tabela da barra de estado.
Gráfico de linhas K De acordo com o período padrão de linha K definido nas páginas de backtesting de estratégia e bot real, a estratégia gerará um gráfico de linha K e exibirá a curva de valor variável no gráfico de linha K de acordo com o conteúdo da estratégia.
Gráfico principal:
Simplificando, o gráfico principal compartilha o mesmo eixo Y que a linha K, então quando você precisa exibir os dados no gráfico principal?
Quando o valor da linha de dados e indicador a exibir for semelhante ao preço do objeto (ou seja, é semelhante ao valor do preço no K-line BAR), pode ser exibido no gráfico principal, como a linha média calculada pela estratégia, como o uptrack e downtrack (UPTRACK
eDOWNTRACK
) do preço calculado neste exemplo.
Sub-gráfico:
Que tipo de dados é adequado para ser exibido no sub-gráfico?
Quando a diferença entre a linha a ser desenhada (dados exibidos) e o valor do preço no BAR da linha K é grande (muito maior ou menor do que o preço na linha K), ele pode ser exibido no sub-gráfico, porque se for exibido no gráfico principal neste momento, isso resultará em compressão de imagem, o que é muito inconveniente de observar.
Por exemplo, adicionar uma frase para a estratégia exemplo,AA ^ ^ (O-C) * 100000
;
O gráfico da linha K foi comprimido e não pode ser encontrado.
Outra diferença é que os gráficos de estratégia MyLanguage são HighCharts para bots reais e tradingView gráficos para backtesting.
Gráfico para robôs reais:
As estratégias MyLanguage, quando o sinal de negociação é acionado (BK
, SK
, BP
, SP
, BPK
, SPK
), será impresso um registo para exibir a posição (número de linhas) do sinal acionado no código e o número de tempos de ação do sinal.
Após colocar um preço de registro de ordem, quantidade, o registro também irá produzir o preço do primeiro nível da contraparte atual.