Olá pessoal. Sou novo em MQL5 e estou estudando um EA baseado em RSI.
Se o preço está em em 70 ou acima, ele compra e se sai do 70 e volta pra região do 70 ele compra de novo. Mesma lógica pro 30.
Mas ele está fazendo isso várias vezes. Entra na região de compra ou venda, o mesmo candle ta fazendo 2 a 3 operações. Ele só pode fazer isso quando ele sai ou está fora, e entra na região de compra ou venda.
Alguém poderia me ajudar a encontrar o erro?
Ele entra novamente em milissegundos? Poste os logs...
Eu não recomendo "varrer" as Posições a cada Tick... É praticamente um crime contra a sua CPU. Você precisa entender quando o OnTick() é executado e ser o mais austero possível, do contrário esse robô pode colocar de joelhos qualquer máquina.
E, jamais conte que "tudo vai dar certo" com as funções do MQL5. A sua ordem pode até ter sido executada, mas o PositionsTotal() ainda pode não ter recebido esse status... Não sei se é esse o problema, mas eu não faria isso. Eu usaria o retorno do OnTradeTransaction() para confirmar a entrada e tirar esse ônus do Ontick()...
Infelizmente o MT5 é péssimo em Event Driven messages, então nosso código sempre tende a se tornar macarrônico...
;)
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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
Olá pessoal. Sou novo em MQL5 e estou estudando um EA baseado em RSI.
Se o preço está em em 70 ou acima, ele compra e se sai do 70 e volta pra região do 70 ele compra de novo. Mesma lógica pro 30.
Mas ele está fazendo isso várias vezes. Entra na região de compra ou venda, o mesmo candle ta fazendo 2 a 3 operações. Ele só pode fazer isso quando ele sai ou está fora, e entra na região de compra ou venda.
Alguém poderia me ajudar a encontrar o erro?