Buenas Hermo!
Hay un pequeño error que no consigo solucionar (y mira que será simple).
He comprobado que cuando vienes de una señal de compra (valor del indicador +3) y se cierra una vela en valor 0 salta la señal de venta, cuando debería hacerlo en -3. Lo solucioné, pero ahora me saltan las señales cada vela, no en cada serie, así que no lo he hecho bien... a ver si me puedes ayudar.
Gracias!
Actualización: Ya sé porqué no me calculaba bien el valor correcto de bothelder. El motivo era que el código cogía el valor máximo y mínimo diario para bull y bear respectivamente... cambiándolo a lo siguiente, que se adapta al timeframe para el que trabajas, sale ya bien (o eso parece). Ahora falta afinar mejor alguna cosa que quiero como la pendiente de la MA que sea más pura y que no dé valor 1 ó -1 si la vela no abre por encima o debajo de la MA, respectivamente (esto último no es más que añadir un condicional).
Te dejo la modificación que he hecho:
Código:
double xMA = iMA(NULL,0,xMAPeriod,0,xMAMode,Price,i);
int TimeFrame = Period();
double TFLow;
if(iTime(NULL,TimeFrame,i) != iTime(NULL,TimeFrame,i+1)) TFLow = Low[i];
else if(Low[i+1] != EMPTY_VALUE) TFLow = MathMin(Low[i],Low[i+1]);
else TFLow = MathMin(Low[i],0);
double TFHigh;
if(iTime(NULL,TimeFrame,i) != iTime(NULL,TimeFrame,i+1)) TFHigh = High[i];
else if(High[i+1] != EMPTY_VALUE) TFHigh = MathMax(High[i],High[i+1]);
else TFHigh = MathMax(High[i],0);
double bearpower = TFLow - xMA;
double bullpower = TFHigh - xMA;
Foro de Forex Trading United