Problemas com BreakEven.

 

 Pessoal tudo bem com todos?


Estou tentando realizar ajustes para fazer BreakEven.

Estou tentando assim:


if(rates[1].close > (precoEntrada+BREAKEVEN) ){
                     double novoSL = NormalizeDouble(precoEntrada, _Digits);
                     trade.PositionModify(ticket,novoSL, 0); 
                  }

Este erro é mostrado:

failed modify #2 buy 1 WIN$ sl: 89455, tp: 0 -> sl: 89455, tp: 0 [Invalid stops]

Já tentei converter o preço com: 

(int)(precoEntrada+(5-MathMod(precoEntrada,5)));


E o mesmo erro é exibido.


Obrigado pessoal.

 
marcelodelta:

 Pessoal tudo bem com todos?


Estou tentando realizar ajustes para fazer BreakEven.

Estou tentando assim:


Este erro é mostrado:

Já tentei converter o preço com: 


E o mesmo erro é exibido.


Obrigado pessoal.

Você precisa primeiramente identificar a que nível de preço está tentando apregoar um novo stop, isso porque no caso de compra, o stop pode estar acima do preço atual (o que não pude analisar com as informações que postou). Para maiores informações:

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


Outra observação é que você precisa identificar o TICK_SIZE para calcular os valores de negociação, pois no caso do índice em que o TICK_SIZE mínimo é de 5 pontos, você precisa respeitar isso:

double NormalizePrice(double price)
  {
   double m_tick_size=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);
   return(NormalizeDouble(MathRound(price/m_tick_size)*m_tick_size,_Digits));
  }
Guia prático do MQL5: Como Evitar Erros Quando Configurando/Modificando Níveis de Negociação
Guia prático do MQL5: Como Evitar Erros Quando Configurando/Modificando Níveis de Negociação
  • www.mql5.com
Perguntas de iniciantes sobre erros que aparecem quando configurando/modificando níveis de negociação (Parar Perdas, Obter Lucros ou ordens pendentes) estão longe de serem raras nos fóruns de programação MQL. Acredito que muitos de vocês devem já estar familiarizados com a mensagem do diário terminando com [Paradas invalidas] . Neste artigo...
 
marcelodelta:

 Pessoal tudo bem com todos?


Estou tentando realizar ajustes para fazer BreakEven.

Estou tentando assim:


Este erro é mostrado:

Já tentei converter o preço com: 


E o mesmo erro é exibido.


Obrigado pessoal.

vc esta querendo alterar um sl para o valor em que ele já esta, agora vc precisa nos dizer se ele alterou em algum momento, ou é o sl antigo ? precisa de mais informação

 

Boa tarde,

como o Eduardo observou o MODIFY  não modificou nada e isso gera o erro INVALID STOPS. 

Razão: