¿Un poco de ayuda? - página 3

 
deVries:

Coloca una SMA con la misma configuración en el gráfico de tu EA y mira lo que has hecho...

haciendo esto y estoy en el punto:

SMA6(con desplazamiento)>SMA21 => Orden de compra, el código está imprimiendo SMA6(con desplazamiento)=0 por lo tanto SMA6(ws)<SMA21 y por lo tanto la venta?

 
j.w.msb:

haciéndolo y estoy en el punto

SMA6(con desplazamiento)>SMA21 => Orden de compra, el código está imprimiendo SMA6(con desplazamiento)=0 por lo tanto SMA6(ws)<SMA21 y por lo tanto vendiendo?



SMA6(con shift -3 )>SMA21 es que esto va a ocurrir en la barra 0

haz una foto de tu gráfico y muéstrame si esto ocurre alguna vez?

lo que también te ayudará es la ventana de datos (Ctrl + D) mueve el puntero del ratón sobre el gráfico y comprueba los valores

 

https://www.mql5.com/en/charts/926555/eurusd-m1-easy-forex

Como aquí... el cambio ya se ha aplicado y SMA6<SMA21 (aunque tengo la sensación de estar siendo increíblemente denso...) Perdóname por ser lento, pero en todo momento estoy comparando el SMA21 inmediato con el SMA6 de hace 3 Bares ¿no? No veo ninguna razón por la que no puedan cruzarse :s

 
j.w.msb:

https://www.mql5.com/en/charts/926555/eurusd-m1-easy-forex

Como aquí... el cambio ya se ha aplicado y SMA6<SMA21 (aunque tengo la sensación de estar siendo increíblemente denso...) Perdóname por ser lento, pero en todo momento estoy comparando el SMA21 inmediato con el SMA6 de hace 3 Bares ¿no? No veo ninguna razón por la que no puedan cruzarse :s


no eso es una imagen donde tienes el bartime 13:00 y hay más entonces 3 bares vienen con tiempo posterior

Así que toma una imagen como ejemplo donde vemos la última barra formada ninguna barra que viene después de ella

con las medias móviles en el gráfico como usted codificó en su EA y mantenga el ratón apuntando a la última barra

 

... mi turno estaba en la posición incorrecta no era ... por lo que iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3) es lo que yo estaba apuntando? y no, yo estaba siendo tonto, que no puede cruzar en la barra 0 simplemente porque SMA6 es 3 bares detrás así que ¿cómo lo uso?

 
j.w.msb:

... mi desplazamiento estaba en la posición incorrecta no era ... así que iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3) es lo que estaba apuntando? y no, estaba siendo tonto, no pueden cruzar en la barra 0 simplemente porque SMA6 es 3 barras detrás así que ¿cómo lo uso?


double SMA6=iMA(Symbol(),0,6,-3,MODE_SMA,PRICE_CLOSE,0);       //ma_shift

significa que ma se desplaza 3 barras a la izquierda (hacia el pasado) no hay valor en la barra 0 y nunca lo habrá

 iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3)     //shift

también verás que no hay barras con números negativos, no podemos saber lo que pasará en el futuro

así que no calcules ma_shift negativo y no uses barnumbers negativos

 

hacer SMA6 = iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0) por ahora

haz una prueba con strategytester y colócalo también en una cuenta demo con un periodo bajo para que opere a menudo M5 es suficiente para probar

mira el terminal experts y el journal para ver si aparecen errores (lo harán)

no digo ahora que ya veo venir que se aprende más de esta manera

ver su próxima publicación....

 

Se ejecuta en un marco de tiempo de 5 minutos con:

//-----Indicators on the current timeframe----------------------------+
double SMA6=iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0);
Print("SMA6 is ",SMA6);
double SMA21=iMA(Symbol(),0,21,0,MODE_SMA,PRICE_CLOSE,0);
Print("SMA21 is ",SMA21);                                    
//----Indicators on a higher timeframe--------------------------------+
double RSI=iRSI(Symbol(),1440,14,PRICE_CLOSE,0);
Print("RSI is ",RSI);                                                                   
//----Indicators on a lower timeframe---------------------------------+

Funciona perfectamente bien, y comercia como se espera sin preocupaciones

2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: close #5 sell 0.07 GBPJPY at 157.797 sl: 159.797 at price 157.909
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6 es 157.809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21 es 157.8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: El RSI es 69.3519
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: open #6 buy 0.07 GBPJPY at 157.893 sl: 155.893 ok

etc

No puedo ver ningún error?

 
j.w.msb:

Se ejecuta en un marco de tiempo de 5 minutos con:

Funciona perfectamente bien, y comercia como se espera sin preocupaciones

2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: close #5 sell 0.07 GBPJPY at 157.797 sl: 159.797 at price 157.909
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6 es 157.809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21 es 157.8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: El RSI es 69.3519
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: open #6 buy 0.07 GBPJPY at 157.893 sl: 155.893 ok

etc

No puedo ver ningún error?

Tu registro se va a hacer muy grande si tomas muchas operaciones... sobre todo en el Probador de Estrategias, no quites las Impresiones de depuración, actívalas y desactívalas usando un esquema como el que yo uso.
 
//-----Indicators on the current timeframe----------------------------+
double SMA6=iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0);
//Print("SMA6 is ",SMA6);
double SMA21=iMA(Symbol(),0,21,0,MODE_SMA,PRICE_CLOSE,0);
//Print("SMA21 is ",SMA21);                                    
//----Indicators on a higher timeframe--------------------------------+
double RSI=iRSI(Symbol(),1440,14,PRICE_CLOSE,0);
//Print("RSI is ",RSI);                                                                   
//----Indicators on a lower timeframe---------------------------------+

has visto que aquí no hay errores no necesitas los printstatements aquí

en strategytester su programa puede funcionar bien,

¿pero cómo está funcionando en su cuenta de demostración?