Buenas tardes,
Tengo un problema con este EA, el cual deberia activar ordenes de compra cuando la EMA5 esta por sobre la EMA21, y de venta si es al reves.
Sin embargo, me he dado cuenta que cuando a pesar de que la EMA5 esta por sobre la EMA21, aun asi se abren ordenes de venta algunas veces.
Ocurre lo mismo cuando la EMA5 esta por debajo de la EMA21, activandose ordenes de compra.
Desde ya muchas gracias!
Hola. ¿este código lo has escrito tú? ¿Es este todo el código? Porque faltan bastantes cosas como inicializar los indicadores.
MA_handle = iMA(NULL, PERIOD_CURRENT, 5, 0, MODE_SMA, PRICE_CLOSE); if(MA_handle < 0) { Print("The creation of iMA has failed: MA_handle=", INVALID_HANDLE); Print("Runtime error = ", GetLastError()); return(INIT_FAILED); } MA_handle2 = iMA(NULL, PERIOD_CURRENT, 21, 0, MODE_SMA, PRICE_CLOSE); if(MA_handle2 < 0) { Print("The creation of iMA has failed: MA_handle2=", INVALID_HANDLE); Print("Runtime error = ", GetLastError()); return(INIT_FAILED); }
if(CopyBuffer(MA_handle, 0, 0, 200, MA) <= 0) return; ArraySetAsSeries(MA, true); if(CopyBuffer(MA_handle2, 0, 0, 200, MA2) <= 0) return; ArraySetAsSeries(MA2, true);
Tampoco consigo saber en qué vela estás trabajando (creo que Metatrader tendrá el mismo problema, que tampoco lo sabe)
//Open Buy Order, instant signal is tested first if(Cross(0, MA[0] > MA2[0]) //Moving Average 5 crosses above Moving Average 21 ) //Otra alternativa para definir el cruce sería decir: Si la (MA[1] > MA2[1] && MA[0] < MA2[0]) entonces actúa
Además aquí no estás contemplando un cruce como tal, aunque podría servir, solo estás teniendo en cuenta que sea mayor o menor, no que se crucen.
Y por último, hay decenas de códigos publicados que puedes consultar como referencia en el Codebase. Consúltalos y si tienes más dudas, entonces vuelve aquí.
Buend día.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Buenas tardes,
Tengo un problema con este EA, el cual deberia activar ordenes de compra cuando la EMA5 esta por sobre la EMA21, y de venta si es al reves.
Sin embargo, me he dado cuenta que cuando a pesar de que la EMA5 esta por sobre la EMA21, aun asi se abren ordenes de venta algunas veces.
Ocurre lo mismo cuando la EMA5 esta por debajo de la EMA21, activandose ordenes de compra.
Desde ya muchas gracias!