Dicas para otimizar o processamento do cálculo histórico do ea

 
Procuro dicas para otimizar o processamento do histórico de operações do ea
 
Saullo De Oliveira Pacheco:
Procuro dicas para otimizar o processamento do histórico de operações do ea

Pergunta vazia.

Seja específico. Qual é a sua dor?  O que você espera? O que está enroscando? O quê você está testando?

Qual exatamente é o problema que você está enfrentando?

 

Então @Saullo De Oliveira Pacheco,

Essa pergunta sua é um excelente sinal de melhoria...

1 - Não faça um EA preguiçoso que fique deixando as coisas por fazer...

- Ao adquirir uma posição você deve pegar o ID, armazenar as informações que precisa e, logo após ela ser encerrada, selecionar o histórico por posição ( HistorySelectByPosition ), coletando as informações que precisa imediatamente.

2 - O lugar, "o setor" onde ir coletar essas informações:

- Deixe a função OnTick() quietinha sempre que possível, lá não é o lugar para tudo.

- A plataforma já esta continuamente conversando com o servidor, enviando e recebendo o que ele tem a dizer e, eles falarão a você no evento onTrade ( OnTrade() ) e onTradeTransaction

- Lá é o local correto para você coletar essas informações pois, elas já foram verificadas, verificar o histórico com loops é jogar fora o que a plataforma já faz e entregar um novo problema, criado por nós, para o computador resolver. E ele vai resolver, mas tenho dito, essa conta chega.

Outras sugestões, fora do contexto mais que irão ajudar;

 Evite fazer com que seu EA fique perguntando o tempo todo a mesma coisa...você já esta nesse caminho.

- Como dito acima, há já um "diálogo" sendo feito entre a plataforma e a corretora, você apenas tem de escutar o que eles dizem e pegar o que lhe interessa. 

- Basicamente é evitar os loops, que acredito já ser a conta chegando a você  que o levou a pergunta. Outras também podem e deve ser feitas.

Imagina o seguinte diálogo entre você e a EA;

- Seria engraçado o EA dizer;

Você; - Que horas são? Esta no horário das operações ou de encerrar?

EA; - Ei já estou no horário de operação, porque fica me perguntando se está na hora de operar?

- EA ; Acha que tenho amnésia? Eu já sei o horário que devo encerrar as operações!

- Está numa posição e ficar perguntando se ainda algum sinal....

- Tem sinal novo?

EA; Você abrirá outra posição?

- Caso não, guarde sua atenção para a que esta em andamento.

- Quer que eu olhe?

Enfim, para não sair muito do tópico vou parar por aqui mas sem dúvida você fez a pergunta certa...

Agora eu tenho uma; Você tem conversado com seu EA?

Sucesso por aí.