[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 298

 
Roger:

Peut-être parce que le script a été écrit il y a longtemps et avait 4 chiffres, maintenant il en a 5. J'ai besoin de multiplier par 10 les ordres d'arrêt et de prise.


Merci pour la réponse, mais je suis un peu perdu. Lorsque je demande iOpen(Symbol(),PERIOD_H4,0), cela me donne un prix avec 4 décimales.

Si je le peux, veuillez me conseiller sur la façon de prescrire le nombre de lots, qui devrait utiliser l'ordre d'ouverture (supposé utiliser 10% des fonds disponibles pour négocier sur le compte) ?

Je vous en serais très reconnaissant.

 

Pouvez-vous me dire, s'il vous plaît, quand je teste un EA - quelle que soit la période que je choisis, il ne teste que les 2-3 dernières semaines... Pourquoi en est-il ainsi ?

Je veux tester une année =((

 
kon12:
C'est bien ça ?

On dirait bien. N'oubliez pas de vérifier avec un testeur.
 
Boneshapper:


Merci pour la réponse, mais je suis un peu perdu. Lorsque je demande iOpen(Symbol(),PERIOD_H4,0), cela me donne un prix avec 4 décimales.

Si je le peux, veuillez me conseiller sur la façon de prescrire le nombre de lots, qui devrait utiliser l'ordre d'ouverture (supposé utiliser 10% des fonds disponibles pour négocier sur le compte) ?

Je vous en serais très reconnaissant.


Le prix qu'il donne avec 5 chiffres, vous n'en voyez que 4, mais ce n'est pas la partie la plus délicate. Habituellement, lorsque vous ouvrez des ordres pour fixer un prix stop, vous utilisez une valeur relative en pips, puis vous la multipliez par la valeur d'un pip. Par conséquent, si vous définissez un stop de 50 pip et que vous avez un stop à 4 chiffres à 0,0001, vous obtiendrez la différence entre le prix ouvert et le stop à 0,005, mais si vous avez un stop à 5 chiffres, ce sera 0,00001 et ce ne sera que 0,0005, ce qui ne vous permettra pas d'ouvrir un ordre avec un stop trop bas.

La taille du lot est calculée à partir de la valeur du lot et du taux de change de la devise de base par rapport à la devise de votre dépôt. Mais en fait, c'est de l'arithmétique simple, essayez de trouver la formule vous-même.

 
w_ersoc:

Pouvez-vous me dire, s'il vous plaît, quand je teste un EA - quelle que soit la période que je choisis, il ne teste que les 2-3 dernières semaines... Pourquoi en est-il ainsi ?

Je veux tester une année =((


Je dois manquer l'histoire. Tirez le graphique vers l'arrière avec la souris pour qu'il pompe les données du serveur.
 
Roger:


Le prix est donné avec 5 chiffres, vous n'en voyez que 4, mais ce n'est pas la partie la plus délicate. Habituellement, lorsque l'on ouvre des ordres pour fixer un prix stop, on utilise une valeur relative en pips, puis on la multiplie par la valeur d'un pip. En d'autres termes, si vous définissez un stop de 50 pip et que vous avez un stop à 4 chiffres à 0,0001, vous aurez une différence de 0,005 entre le prix ouvert et le stop, mais si vous avez un stop à 5 chiffres, vous aurez un stop à 0,00001 et il ne sera que de 0,0005, ce qui rendra votre stop trop court.

La taille du lot est calculée à partir de la valeur du lot et du taux de change de la devise de base par rapport à la devise de votre dépôt. Mais en fait, c'est de l'arithmétique simple, essayez de trouver la formule vous-même.


Ok, je vais certainement essayer, merci beaucoup pour vos réponses !
 

La fonction MarketInfo(Symbol (),MODE_POINT) renvoie toujours 0. Et lavariable Point renvoie aussi toujours 0.

J'ai une autre question, la commande n'est pas ouverte, bien que je l'aie prescrite correctement.

OP1H = iOpen(Symbol(),PERIOD_H1,0) ;
OP_D = iOpen(Symbol(),PERIOD_D1,0) ;
SL = OP_D-0.0055 ;
TP = OP1H+0.0050 ;
OrderSend (Symbol (), OP_BUY, 0,01,OP1H, 2, SL, TP,Lime) ;

 

Pouvez-vous me dire s'il existe une fonction interne ou externe qui renvoie la taille du lot de la dernière position fermée?

 
david2:

Pouvez-vous me dire s'il existe une fonction interne ou externe qui renvoie la taille du lot de la dernière position fermée ?


voir ici - c'est définitivement là. Sous - travailler avec des commandes et des positions...
 
Boneshapper:

La fonction MarketInfo(Symbol (),MODE_POINT) renvoie toujours 0. Et la variable Point renvoie aussi toujours 0.

Veuillez m'indiquer comment ouvrir l'ordre, bien que je l'aie prescrit correctement.

OP1H = iOpen(Symbol(),PERIOD_H1,0) ;
OP_D = iOpen(Symbol(),PERIOD_D1,0) ;
SL = OP_D-0.0055 ;
TP = OP1H+0.0050 ;
OrderSend (Symbole (), OP_BUY, 0,01,OP1H, 2, SL, TP, Lime) ;


Il peut y avoir beaucoup d'erreurs ici - lisez attentivement le tutoriel - cette section - afin que toutes vos conditions d'ouverture d'ordre correspondent à celles spécifiées dans cette section, et aussi - n'oubliez pas de normaliser les prix.

Par exemple, regardez normalize TP. En outre, appuyez sur F1 sur la fonction de normalisation et lisez attentivement son aide - NormalizeDouble ().

En outre, vérifiez la taille du lot : 0,01 - il s'agit d'un micro lot ; essayez de saisir 0,1 - votre compte n'est peut-être pas un micro compte.

..........
TP = NormalizeDouble ((PRICE + Mul1*iATR(Symbol(), 0, ATRPeriod_3, 1)), Digits) ;      // TakeProfit (цена)
         
         if (TP<Level_new*Point) TP=Level_new*Point;   // Если меньше допустимого, то допустимый  
         
         Ticket=OrderSend(Symbol(),4,Lots_New,PRICE,5,SL,TP,"Classiс_3_screen",Magic,0,Green); 
...........
Raison: