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

O que você precisa saber para se familiarizar com o MyLanguage no FMZ - Interface Charts

Autora:FMZ~Lydia, Criado: 2022-11-29 13:38:51, Atualizado: 2023-09-13 19:47:08

img

O que você precisa saber para se familiarizar com o MyLanguage no FMZ Interface Charts

No artigo anterior, aprendemos sobre os parâmetros do modelo MyLanguage Trading Class Library do MyLanguage. Este modelo vem com a criação da estratégia MyLanguage e encapsula algumas funções que precisam ser definidas na negociação.

Parâmetros da estratégia MyLanguage

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 ThrustA estratégia da versão MyLanguage como exemplo.

Endereço estratégico:https://www.fmz.com/strategy/128884

img img

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.

Bot real e backtesting

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

img

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 real-bot level e simulation level, que podem ser encontrados no documento:https://www.fmz.com/bbs-topic/9126. Em seguida, selecionamos o mercado ou troca para ser backtested. Depois de adicioná-lo, podemos backtest. Se precisarmos ajustar outros parâmetros, como o valor inicial do fundo backtest, podemos configurá-los de acordo com nossas necessidades. O mouse irá solicitar quando você colocar o mouse sobre os parâmetros.

img

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).

Interface de operação

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.

img

Informações da barra de estado

As informações da barra de estado dividem-se principalmente em informações de mercado e informações de fundos.

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 Tick e o modelo Bar nos parâmetros do modelo da biblioteca de classes de negociação MyLanguage. Ao se concentrar na atualização do tempo aqui, você pode julgar a operação da estratégia e a atualização do mercado. (Julgamento preliminar de bloqueio de programa, registros de preenchimento de espaço no disco rígido e outros problemas.)

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.

img

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

img

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:

img

Registros exibidos

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.

img

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.


Relacionados

Mais.