Calculo do 61.8 da fibo - página 2

 

Legal!! Acho que entendi a questão do calculo da fibo, mas em alguns preços, ele não abre ordem e me mostra o erro [invalid stops].


Código:

double entrada = rates[3].close + (rates[3].open-rates[1].close)*0.618;
   entrada = NormalizeDouble(MathRound(entrada/5)*5,_Digits);
   trade.SellLimit(Contratos,entrada,_Symbol,tick.bid+StopLoss*_Point,tick.bid-TakeProfit*_Point,0,0,NULL);
   }



 
HENRIQUE ARAUJO DOS SANTOS:

Legal!! Acho que entendi a questão do calculo da fibo, mas em alguns preços, ele não abre ordem e me mostra o erro [invalid stops].


Código:



Nesse caso, o stop loss e o take profit deve ser calculado com base no preço de entrada e não no bid. O erro é que o stop está ficando abaixo da entrada, o que é impossível para ordens de venda.

loss 	= entrada+StopLoss*_Point;
profit 	= entrada-TakeProfit*_Point;
 

você também pode querer prevenir erros com entrada de valor negativo para StopLoss e TakeProfit fazendo:


loss    = entrada+fabs(StopLoss)*_Point;
profit  = entrada-fabs(TakeProfit)*_Point;
 
HENRIQUE ARAUJO DOS SANTOS:

Legal!! Acho que entendi a questão do calculo da fibo, mas em alguns preços, ele não abre ordem e me mostra o erro [invalid stops].


Código:



também precisa corrigir isso.

double entrada = rates[3].close + (rates[3].open-rates[1].close)*0.618;

Se apenas copiou e colou não percebeu que não corrigi os índices no calculo do fibo

rates[1].close + (rates[3].open-rates[1].close)
Razão: