Un piccolo aiuto? - pagina 3

[Eliminato]  
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

[Eliminato]  

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

[Eliminato]  

... 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 ....

[Eliminato]  

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?