Erro condição rates[i].open >= variável / volume real.

 

Olá, estou aprendendo ainda e estou com problemas no código.

1 - Estou tentando fazer uma condição funcionar, mas não sei se está situação entra em conflito, não achei na documentação. Ex: if(array[i].open >= tick.last);

Porém apesar de compilar sem erros e sem 'warnings'  e o testador de estratégia abrir/fechar posição, não funciona, a diferença não acontece, como se a condição não tivesse efeito.

2 - No testador de estratégia quando tento visualizar o volume real de um candle por print(); sai 0.0, alguém saberia me informar por que ? Se isso acontece por causa de ser no testador ou se é a corretora? Ex: Global -  MqlRates rates[]; / No Evento OnTick -  int copied = CopyRates( _Symbol, _Period, 0, 1, rates ); / print(rates[0].real_volume);

Desde já agradeço se alguém puder me ajudar.

Estratégias de teste - Trading algorítmico, robôs comerciais - Ajuda para o MetaTrader 5
Estratégias de teste - Trading algorítmico, robôs comerciais - Ajuda para o MetaTrader 5
  • www.metatrader5.com
O testador de estratégias permite testar e otimizar estratégias de negociação ( experts ) antes de as usar em uma...
 

Olá


Verifique o resultado da sua variável copied, se ela está retornando -1 é porque não está recebendo os dados. Se retornar 1, então tente dar um print no rates[0].close, veja se mostra o valor correto da barra mais recente. 

Quando for colar códigos, use o modo de código para ficar mais legível para todos!


Eduardo

 
Eduardo Fernando Teixeira:

Olá


Verifique o resultado da sua variável copied, se ela está retornando -1 é porque não está recebendo os dados. Se retornar 1, então tente dar um print no rates[0].close, veja se mostra o valor correto da barra mais recente. 

Quando for colar códigos, use o modo de código para ficar mais legível para todos!


Eduardo

Ok, obrigado.
Razão: