Como evitar abrir mais de uma operação no mesmo Candle (Forex)?

 

Olá amigos,

 

 

Tenho tentado sem sucesso, impedir que seja aberta mais de uma operação no mesmo candle.

Na verdade, estou utilizando Stoploss bastante curto. Na faixa de 1 a 2 pips, pois pretendo desenvolver um EA para Scalping.

Então, gostaria de implementar uma função, que proibisse o EA de abrir uma nova ordem no mesmo candle e no mesmo sinal após o limite de StopLoss ser atingido.

O problema que tem acontecido é que o EA recebe o sinal, abre a ordem e o StopLoss é pego. Logo em seguida, ele abre novamente uma nova ordem. Quero que ele abra somente uma ordem por sinal.


Agradeço quem puder me ajudar!

Muito Obrigado pela atenção! 

 
David Magalhães:

Olá amigos, 

Tenho tentado sem sucesso, impedir que seja aberta mais de uma operação no mesmo candle.
Na verdade, estou utilizando Stoploss bastante curto. Na faixa de 1 a 2 pips, pois pretendo desenvolver um EA para Scalping.
Então, gostaria de implementar uma função, que proibisse o EA de abrir uma nova ordem no mesmo candle e no mesmo sinal após o limite de StopLoss ser atingido.
O problema que tem acontecido é que o EA recebe o sinal, abre a ordem e o StopLoss é pego. Logo em seguida, ele abre novamente uma nova ordem. Quero que ele abra somente uma ordem por sinal.
Agradeço quem puder me ajudar!
Muito Obrigado pela atenção! 

Olá David Magalhães,

Você está levando em consideração o spread do ativo de Forex?

Dependendo do spread e da distância do Stop Loss, esse último será disparado imediatamente assim que a ordem for enviada e virar uma posição.

Por mais que você tenha uma estratégia de scalping, nem sempre a mesma conseguirá ser implementada se as características normais do ativo não permitirem.

Abraços,
Malacarne 

 
David Magalhães:

Olá amigos,

 

 

Tenho tentado sem sucesso, impedir que seja aberta mais de uma operação no mesmo candle.

Na verdade, estou utilizando Stoploss bastante curto. Na faixa de 1 a 2 pips, pois pretendo desenvolver um EA para Scalping.

Então, gostaria de implementar uma função, que proibisse o EA de abrir uma nova ordem no mesmo candle e no mesmo sinal após o limite de StopLoss ser atingido.

O problema que tem acontecido é que o EA recebe o sinal, abre a ordem e o StopLoss é pego. Logo em seguida, ele abre novamente uma nova ordem. Quero que ele abra somente uma ordem por sinal.


Agradeço quem puder me ajudar!

Muito Obrigado pela atenção! 

Você precisa criar uma lógica que espera o candle fechar pra abrir a ordem, se não vai ficar abrindo várias ordens mesmo...
 
David Magalhães:

Olá amigos,

 Tenho tentado sem sucesso, impedir que seja aberta mais de uma operação no mesmo candle. 

Na verdade, estou utilizando Stoploss bastante curto. Na faixa de 1 a 2 pips, pois pretendo desenvolver um EA para Scalping.

Então, gostaria de implementar uma função, que proibisse o EA de abrir uma nova ordem no mesmo candle e no mesmo sinal após o limite de StopLoss ser atingido.

O problema que tem acontecido é que o EA recebe o sinal, abre a ordem e o StopLoss é pego. Logo em seguida, ele abre novamente uma nova ordem. Quero que ele abra somente uma ordem por sinal.


Agradeço quem puder me ajudar!

Muito Obrigado pela atenção! 

Veja se isso pode te ajudar

int CheckPosition()

{

   if(PositionSelect(_Symbol))

   {

      if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)

         return 1;

      else if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)

         return -1;

   }

   return 0;

} 
 
mrtasso:

Veja se isso pode te ajudar

Olá mrtasso,

Por favor utilize o botão "SRC" quando for postar partes de código.

Estou alterando seus posts para adequar ao padrão do fórum. 

Abraços,
Malacarne 

 
David Araujo Magalhaes:

Olá amigos,

 

 

Tenho tentado sem sucesso, impedir que seja aberta mais de uma operação no mesmo candle.

Na verdade, estou utilizando Stoploss bastante curto. Na faixa de 1 a 2 pips, pois pretendo desenvolver um EA para Scalping.

Então, gostaria de implementar uma função, que proibisse o EA de abrir uma nova ordem no mesmo candle e no mesmo sinal após o limite de StopLoss ser atingido.

O problema que tem acontecido é que o EA recebe o sinal, abre a ordem e o StopLoss é pego. Logo em seguida, ele abre novamente uma nova ordem. Quero que ele abra somente uma ordem por sinal.


Agradeço quem puder me ajudar!

Muito Obrigado pela atenção! 

Também estou com esse problema atualmente. Consegui safar a maioria das ordens indesejadas, só não consigo agora, deixar que o BOT não abra uma ordem quando ele fecha uma anterior. Alguém se habilita em me ajudar?

Obrigado.

[]'s  

 
romaocg:

Também estou com esse problema atualmente. Consegui safar a maioria das ordens indesejadas, só não consigo agora, deixar que o BOT não abra uma ordem quando ele fecha uma anterior. Alguém se habilita em me ajudar?

Obrigado.

[]'s  

Olá, voce pode limitar as operações por candle. Veja este artigo como criar um gerenciador de nova barra e limite as operações. https://www.mql5.com/pt/articles/159

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...
 
Meu caso é diferente. Não tenho problema em o EA abrir outra no mesmo candle, pois consegui fazer de modo que ele só abre quando de fato é necessário.
O problema é que quando ele está mesmo em seu momento de enviar, ao invés de enviar apenas um, está enviando dezenas. Todas absolutamente iguais.

E isto está ocorrendo mesmo eu tendo criado uma espécie de trava.

Não sei mais o que fazer.
 
Zer0_C0d:

Olá,

tem que ser depurado... cada ofício tem seus ossos!  

Razão: