Olá Amigo,
Existe uma discussão parecida no tópico abaixo,
https://www.mql5.com/en/forum/224693
Caso tenha conseguido de alguma fora diferente, nos atualize por favor, ainda não tive o problema mas estou estudando passar a utilizar estas informações.
Abraço!
- 2018.01.13
- www.mql5.com
Olá Renato.
Uma hipótese ...
O evento OnCalculate() é disparado não somente a cada trade, mas também a cada modificação de preço BID ou ASK, mesmo não havendo trade.
Se o indicador estiver sendo iniciado com as entradas default, o filtro COPY_TICKS_TRADE será usado na função CopyTicks() fazendo com que esta selecione sempre o último tick em que houve trade, mesmo nos eventos acionados por ticks que não são de trade.
Então, por exemplo, se logo após o trade de volume 30 ocorrerem 2 eventos de modificação apenas de BID ou ASK (sem trade), esses dois eventos vão acionar o OnCalculate() uma segunda e uma terceira vez e, em todas as três vezes, o registro selecionado será o último trade executado, aquele de volume 30, fazendo com que o 30 seja impresso 3 vezes consecutivas.
Verifique se por acaso o problema é esse.
Oi Renato!
Use o SymbolInfoTick()
Assim ó :
... if(copied>0){ MqlTick tick_array; if(SymbolInfoTick(Symbol(),tick_array)) { Print(tick_array.volume); } } } ...
depois Implementa um struct : tick_array[i] se quiser manter as informações no array!
mas desse jeito vai funcionar só que vai sumir cada vez que o meta atualizar, seja por falha no sinal ou por outro motivo.
depois posta o código aqui pra gente ver como ficou
Abs
- 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