Ué, parece que vc mesmo já respondeu à pergunta. Basta executar o comando Comment com o cálculo que vc precisa dentro, a cada novo lote
negociado.
Mas como declarar <ticket> para calcular a cada novo lote negociado ?
Mas como declarar <ticket> para calcular a cada novo lote negociado ?
Pelo que entendi do que vc escreveu, todas as suas ordens têm volume igual a InpLots e essa variável que vc está chamando de <ticket> seria o número de ordens que já foram executadas, entendi certo?
Nesse caso vc pode declarar esse contador de ordens executadas como uma variável inteira global e, dentro da função OnTradeTransaction(), toda vez que vier uma transação do tipo TRADE_TRANSACTION_DEAL_ADD vc incrementa o contador e executa o Comment para atualizar a tela.
Melhor ainda: em vez de declarar variável global (uma má prática de programação que deve ser evitada sempre que possível), é melhor vc declarar o contador como uma variável estática dentro da própria função OnTradeTransaction(), já que ele só vai ser usado ali dentro.
Grato Patinhas,
Valiosa ajuda
Grato Patinhas,
Valiosa ajuda
Ok, mas estude bem a documentação, pois há várias "pegadinhas" que precisam ter o tratamento lógico adequado (a ordem pode ser executada parcialmente, pode ser rejeitada, o mercado pode entrar em leilão, a conexão pode cair, etc.).
Acho perigoso você colocar um robô em operação sem estar compreendendo detalhadamente o workflow do processamento das ordens, os tipos de transação e o significado das notificações do evento TradeTransaction, etc.
Antes de sair programando, é recomendável vc compreender a arquitetura do MT5 como um todo, pois, pra colocar em operação um robô robusto, que
não te cause surpresas desagradáveis, tem muito chão!

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Prezados,
Como seria a forma mais simples de um EA qualquer ficar exibindo lá em cima na função comment o resultado em tempo real do custo das operações realizadas até aquele momento ?
Por exemplo: Digamos que eu estou com o EA rodando no mini-índice (B3) e já fez 500 ordens com 5 lotes, sabemos que o custo para cada ordem é de 0,25 centavos (corretagem zero). Então no topo do gráfico na função comment estaria mostrando 625,00 (500 x 5 x 0,25). Mais uma entrada no mercado o valor passaria para 626,25 (501 x 5 x 0,25)
OBS: Lembrando que o InpLots no meu EA-teste está sem Input, é interno ao código do EA, por isso aceita modificação
Algo assim:
Comment(ticket x InpLots x 0.25)
Grato