Un peu d'aide ? - page 3

 
deVries:

Placez une SMA avec les mêmes paramètres sur le graphique de votre EA et voyez ce que vous avez fait ...

Je le fais et je suis au point :

SMA6(with shift)>SMA21 => Ordre d'achat, le code imprime SMA6(with shift)=0 donc SMA6(ws)<SMA21 et donc vente ?

 
j.w.msb:

Je le fais et j'en suis au point suivant :

SMA6(avec shift)>SMA21 => Ordre d'achat, le code imprime SMA6(avec shift)=0 donc SMA6(ws)<SMA21 et donc vente ?



SMA6(avec shift -3 )>SMA21 est-ce que cela va se produire à la barre 0 ?

prenez une photo de votre graphique et montrez-moi si cela se produit ?

ce qui peut aussi aider, c'est la fenêtre de données (Ctrl + D), déplacez le pointeur de votre souris sur le graphique et vérifiez les valeurs.

 

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

Comme ici ? le changement a déjà été appliqué et SMA6<SMA21 (bien que j'ai le sentiment d'être incroyablement dense ...) Pardonnez-moi d'être lent, mais à tout moment, je compare la SMA21 immédiate avec la SMA6 d'il y a 3 bars, n'est-ce pas ? Je ne vois pas pourquoi elles ne pourraient pas se croiser :s

 
j.w.msb:

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

Comme ici ? le changement a déjà été appliqué et SMA6<SMA21 (bien que j'ai le sentiment d'être incroyablement dense ...) Pardonnez-moi d'être lent, mais à tout moment, je compare la SMA21 immédiate avec la SMA6 d'il y a 3 bars, n'est-ce pas ? Je ne vois pas pourquoi elles ne pourraient pas se croiser :s


Non, c'est une image où vous avez la barre de 13:00 et il y a plus de 3 barres avec une heure ultérieure.

donc prenez une image comme exemple où nous voyons la dernière barre formée, aucune barre ne vient après elle

avec les moyennes mobiles sur le graphique comme vous l'avez codé dans votre EA et maintenez votre souris pointée sur la dernière barre.

 

... mon décalage était dans la mauvaise position n'est-ce pas ... donc iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3) est ce que je visais ? et non, j'étais stupide, ils ne peuvent pas se croiser à la barre 0 simplement parce que SMA6 est 3 barres derrière donc comment puis-je l'utiliser ?

 
j.w.msb:

... mon décalage était dans la mauvaise position n'est-ce pas ... donc iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,-3) est ce que je visais ? et non, j'étais stupide, ils ne peuvent pas se croiser à la barre 0 simplement parce que SMA6 est 3 barres derrière donc comment puis-je l'utiliser ?


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

cela signifie que ma est décalé de 3 barres à gauche (vers le passé) aucune valeur à la barre 0 et il n'y en aura jamais.

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

aussi vous ne verrez pas de barre avec un nombre négatif, nous ne pouvons pas savoir ce qui se passera dans le futur.

donc ne calculez pas de ma_shift négatif et n'utilisez pas de barnumbers négatifs.

 

faites SMA6 = iMA(Symbol(),0,6,0,MODE_SMA,PRICE_CLOSE,0) pour le moment

faites un test avec strategytester et placez le aussi sur un compte démo avec une faible période pour qu'il puisse trader souvent M5 est assez bon pour le test

regarder le terminal experts et le journal pour voir si des erreurs apparaissent (elles apparaîtront)

je ne dis pas maintenant ce que je vois déjà venir vous apprenez le plus de cette façon

voir votre prochaine affectation....

 

Je fonctionne sur un cadre temporel de 5 minutes avec :

//-----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---------------------------------+

Il fonctionne parfaitement bien et négocie comme prévu, sans aucun problème.

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 est 157.809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5 : SMA21 est 157.8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5 : RSI est 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

Je ne vois pas d'erreurs ?

 
j.w.msb:

Je fonctionne sur un cadre temporel de 5 minutes avec :

Il fonctionne parfaitement bien et négocie comme prévu sans aucun problème.

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 est 157.809
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5 : SMA21 est 157.8063
2013.10.24 14:52:33 2013.09.10 20:15 SMATrader1-1-0 GBPJPY,M5 : RSI est 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

Je ne vois pas d'erreurs ?

Votre journal va devenir très gros si vous faites beaucoup de transactions... surtout dans le testeur de stratégie, ne supprimez pas les empreintes de débogage, activez-les et désactivez-les en utilisant un schéma comme celui que j'utilise.
 
//-----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---------------------------------+

vous avez vu qu'il n'y a pas d'erreurs, vous n'avez pas besoin des printstatements ici.

dans strategytester votre programme pourrait bien fonctionner,

mais comment fonctionne-t-il sur votre compte de démonstration ?