Un piccolo aiuto? - pagina 3

 
deVries:

Metti una SMA con le stesse impostazioni al grafico del tuo EA e vedi cosa hai fatto ...

facendo così e sono al punto:

SMA6(con shift)>SMA21 => ordine di acquisto, il codice stampa SMA6(con shift)=0 quindi SMA6(ws)<SMA21 e quindi vendita?

 
j.w.msb:

facendo così e sono al punto:

SMA6(con shift)>SMA21 => ordine di acquisto, il codice stampa SMA6(con shift)=0 quindi SMA6(ws)<SMA21 e quindi vendita?



SMA6(con shift -3 )>SMA21 questo succederà mai alla barra 0

fai una foto del tuo grafico e mostrami se questo succede mai?

Ciò che aiuterà anche è Data Window (Ctrl + D) sposta il tuo puntatore del mouse sul grafico e controlla i valori

 

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

Come qui? lo spostamento è già stato applicato e SMA6<SMA21 (anche se ho la sensazione di essere incredibilmente ottuso...) Perdonami se sono lento, ma in ogni momento sto confrontando l'immediata SMA21 con la SMA6 di 3 Bars fa, vero? Non vedo perché non possano incrociarsi :s

 
j.w.msb:

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

Come qui? lo spostamento è già stato applicato e SMA6<SMA21 (anche se ho la sensazione di essere incredibilmente ottuso...) Perdonami se sono lento, ma in ogni momento sto confrontando l'immediata SMA21 con la SMA6 di 3 Bars fa, vero? Non vedo perché non possano incrociarsi :s


No, quella è un'immagine in cui hai la barra delle 13:00 e ci sono più di 3 barre che vengono con il tempo successivo

quindi prendiamo un'immagine come esempio dove vediamo l'ultima barra formata e nessuna barra che viene dopo di essa

con le medie mobili sul grafico come hai codificato nel tuo EA e tieni il mouse puntato sull'ultima barra

 

... il mio spostamento era nella posizione sbagliata, vero ... quindi iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3) è quello a cui miravo? e no, sono stato sciocco, non possono incrociarsi alla barra 0 semplicemente perché SMA6 è 3 barre dietro, quindi come lo uso?

 
j.w.msb:

... il mio shift era nella posizione sbagliata, vero... quindi iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3) è quello a cui miravo? e no, sono stato sciocco, non possono incrociarsi alla barra 0 semplicemente perché SMA6 è 3 barre dietro quindi come lo uso?


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

significa che la ma è spostata di 3 barre a sinistra (al passato) nessun valore alla barra 0 e non lo sarà mai

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

inoltre non vedrete nessuna barra con un numero negativo, non possiamo sapere cosa succederà in futuro

quindi non calcolare ma_shift negativo e non usare barnumbers negativi

 

fare SMA6 = iMA(Symbol(),0,6,0,0,MODE_SMA,PRICE_CLOSE,0) per ora

fare un test con strategytester e metterlo anche su un conto demo con un periodo basso per farlo scambiare spesso M5 è abbastanza buono per i test

guardare gli esperti del terminale e il diario per vedere se appaiono errori (lo faranno)

non dico ora che vedo già in arrivo si impara di più in questo modo

vedi il tuo prossimo post ....

 

In esecuzione su un time frame a 5 minuti 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---------------------------------+

Funziona perfettamente bene, e commercia come previsto senza preoccupazioni

2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: chiudere #5 vendere 0,07 GBPJPY a 157,797 sl: 159,797 al prezzo 157,909
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6 è 157,809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21 è 157,8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: RSI è 69.3519
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: aperto #6 comprare 0.07 GBPJPY a 157.893 sl: 155.893 ok

etc

Non vedo alcun errore?

 
j.w.msb:

In esecuzione su un time frame a 5 minuti con:

Funziona perfettamente bene, e commercia come previsto senza preoccupazioni

2013.10.24 14:52:33 2013.09.10 20:10 SMATrader1-1-0 GBPJPY,M5: chiudere #5 vendere 0,07 GBPJPY a 157,797 sl: 159,797 al prezzo 157,909
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA6 è 157,809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: SMA21 è 157,8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: RSI è 69.3519
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5: aperto #6 comprare 0.07 GBPJPY a 157.893 sl: 155.893 ok

etc

Non vedo alcun errore?

Il tuo log diventerà molto grande se fai molti trade. . . soprattutto nello Strategy Tester, non rimuovere le stampe di debug, attivale e disattivale usando uno schema come quello che uso io.
 
//-----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---------------------------------+

hai visto che qui non ci sono errori, non hai bisogno dei printstatements qui

in strategytester il tuo programma potrebbe funzionare bene,

ma come sta funzionando sul tuo account demo?