Abrir nova posição apenas num novo Candle

Para adicionar comentários, por favor Faça o login ou registrar
tito.vinicius
263
tito.vinicius  

Fala pessoal;

Gostaria de uma ajuda. Como faço para abrir uma nova posição apenas quando um novo candle se formar?

O meu EA da um sinal de compra ou venda, atinge meu alvo mas continua abrindo a posição no mesmo candle por causa do sinal.

Obrigado desde já.




Rogerio Figurelli
Moderador
60213
Rogerio Figurelli  
tito.vinicius:

Fala pessoal;

Gostaria de uma ajuda. Como faço para abrir uma nova posição apenas quando um novo candle se formar?

O meu EA da um sinal de compra ou venda, atinge meu alvo mas continua abrindo a posição no mesmo candle por causa do sinal.

Obrigado desde já.




Olá  tito.vinicius, essa é uma das perguntas clássicas desse fórum, e ler o artigo abaixo é minha recomendação para encontrares a melhor solução para isso.

https://www.mql5.com/pt/articles/159

Sds.,
Rogério Figurelli

Handler de evento "nova barra"
Handler de evento "nova barra"
  • www.mql5.com
Os autores dos indicadores e especialistas sempre estiveram interessados em escrever o código compacto em termos de tempo de execução. Você pode resolver este problema a partir de diferentes ângulos. A partir deste amplo tópico neste artigo, cobriremos o problema, que aparentemente foi solucionado: verifique por uma nova barra. Este é um meio...
tito.vinicius
263
tito.vinicius  
Rogerio Figurelli:

Olá  tito.vinicius, essa é uma das perguntas clássicas desse fórum, e ler o artigo abaixo é minha recomendação para encontrares a melhor solução para isso.

https://www.mql5.com/pt/articles/159

Sds.,
Rogério Figurelli

Coloquei no meu código e ainda está comprando várias vezes.

Será que estou fazendo algo errado?

  if((WorkingHour() && !current_chart.isNewBar(new_time)) && ma34[2] < ma20[2] && currentMA34 > currentMA20)
     {OrderEntry(0);}

   if((WorkingHour() && !current_chart.isNewBar(new_time)) && ma34[2] > ma17[2] && currentMA34 < currentMA17)
     {OrderEntry(1);}
Rogerio Figurelli
Moderador
60213
Rogerio Figurelli  
tito.vinicius:

Coloquei no meu código e ainda está comprando várias vezes.

Será que estou fazendo algo errado?

Olá  tito.vinicius, examinando seu código e o retorno do método isNewBar() no referido documento, me parece que você está com a lógica invertida.

Ou seja, ao invés de ...

!current_chart.isNewBar(new_time)

deveria ser ...

current_chart.isNewBar(new_time)

ou ainda (conforme o método usado, retornando um inteiro ao invés de um booleano) ...

current_chart.isNewBar()>0


Sds.,
Rogério Figurelli

Edilson Domingos
732
Edilson Domingos  
tito.vinicius:

Fala pessoal;

Gostaria de uma ajuda. Como faço para abrir uma nova posição apenas quando um novo candle se formar?

O meu EA da um sinal de compra ou venda, atinge meu alvo mas continua abrindo a posição no mesmo candle por causa do sinal.

Obrigado desde já.




cara vc pode pegar o preço do candle e comparar quando o preço for diferente, ou pegar o índice do candle e comparar quando o índice for diferente, existem várias formas
Rogerio Figurelli
Moderador
60213
Rogerio Figurelli  
Edilson Domingos:
cara vc pode pegar o preço do candle e comparar quando o preço for diferente, ou pegar o índice do candle e comparar quando o índice for diferente, existem várias formas

Olá  Edilson Domingos, pela sua lógica, o que garante que o preço do novo candle irá ser diferente?
Sds.,
Rogério Figurelli

Para adicionar comentários, por favor Faça o login ou registrar