[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 423
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
alors la fonction OrderLots.
Je n'arrive pas à comprendre cette fonction, aidez-moi avec un exemple :)
il est dit "L'ordre doit être présélectionné à l'aide de la fonction OrderSelect()" comment puis-je sélectionner tous les ordres ouverts de la même direction ?
Je ne comprends pas cette fonction, aidez-moi avec un exemple :)
il est dit "L'ordre doit être présélectionné avec OrderSelect()" comment puis-je sélectionner tous les ordres ouverts de la même direction ?
Il n'y a pas moyen. Seulement dans une boucle passant par un par un avec OrderSelect().
Pouvez-vous me dire s'il y a un script de stop loss qui doit être inséré dans cet EA ?
Comment puis-je réduire le nombre de décimales sans arrondir ?
(DoubleToStr(NormalizeDouble(0.109,2),2)) ; = 0.11 et 0.10
Comment puis-je réduire le nombre de décimales sans arrondir ?
(DoubleToStr(NormalizeDouble(0.109,2),2)) ; = 0.11 et 0.10
Il existe un million de façons de procéder, par exemple en utilisant des fonctions de chaîne de caractères pour trouver l'emplacement d'un point et tronquer la chaîne de caractères un caractère au-delà. Mais s'il existe une solution toute faite, prête à l'emploi, pourquoi inventer des problèmes ?
veuillez suggérer une solution toute faite :)
dites-moi s'il s'agit d'une solution toute faite :)
Si elle n'est pas arrondie, juste celle-là :
Reshetov с помощью строковых функций найти местоположение точки и обрезать строку на один символ далее нее
Aidez-moi à comprendre ce qui ne va pas :
//+------------------------------------------------------------------+
//| AAAA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#lien de propriété ""
extern string TimeStart = "00:00" ; //heure de début de la période de contrôle
extern string TimeEnd = "00:00" ; //heure de fin de la période de contrôle.
extern double LOT = 0.01 ; // lot
extern int Magic = 777 ; // magie
double marga,Lot,SL,TP ; // variables de marge, lot, stop loss et take profit saisies
int Total,Orders,tipOrders,TradeDey ; // type de variables, type d'ordre, jour de négociation.
//+---------------------------------------------------------------------------------------------------------------------------------------+
//| fonction de l'Expert Advisor |
//+---------------------------------------------------------------------------------------------------------------------------------------+
int start() // Fonction de démarrage d'initialisation
{
datetime Time_Start = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeStart, ":00")) ; // paramètres de départ //
datetime Time_End = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeEnd, ":00")) ; // Paramètres de fin///
Total=0 ; // S'il n'y a pas de commande
for(int i=1 ; i<=OrdersTotal() ; i++) // Boucle de commande
{
if (OrderSelect(i-1,SELECT_BY_POS)==false) // S'il n'y a pas d'ordres au marché
{
si //If :
{
int BarStart = iBarShift(NULL,PERIOD_M1,Time_Start,false) ; // recherche de la barre au début de la période de contrôle sur m1
int BarEnd = iBarShift(NULL,PERIOD_M1,Time_End,false) ; //recherche de la fin de la période de contrôle à la barre m1
double Max_Price=iHigh(NULL,0,iHighest(NULL,PERIOD_M1,MODE_HIGH,BarStart-BarEnd,BarEnd)) ; //la valeur de prix la plus élevée au cours d'une période donnée
double Min_Price=iLow (NULL,0,iLowest (NULL,PERIOD_M1,MODE_LOW,BarStart-BarEnd,BarEnd)) ; //la valeur de prix la plus basse au cours de la période
}
if (TimeCurrent()>Time_End && ObjectFind("bar0"+Time_End)==-1) // Paramètres d'affichage graphique
{
ObjectCreate("bar0"+Time_End, OBJ_RECTANGLE, 0, 0,0, 0,0) ;
ObjectSet("bar0"+Time_End, OBJPROP_STYLE, STYLE_SOLID) ;
ObjectSet ("bar0"+Time_End, OBJPROP_COLOR, Blue) ;
ObjectSet ("bar0"+Time_End, OBJPROP_BACK, true) ;
ObjectSet ("bar0"+Time_End, OBJPROP_TIME1,Time_Start) ;
ObjectSet ("bar0"+Time_End, OBJPROP_PRICE1,Max_Price) ;
ObjectSet ("bar0"+Time_End, OBJPROP_TIME2,Time_End) ;
ObjectSet ("bar0"+Time_End, OBJPROP_PRICE2,Min_Price) ;
}
if (Bid<Max_Price) OrderSend(Symbol(),OP_BUYSTOP,LOT,Ask,3,Min_Price, //conditions pour placer un ordre en attente BUY
NormalizeDouble(Ask + Max_Price - Min_Price,Digits), "UPDD",Magic,Blue) ;
si (Bid>Max_Price)
Comment("L'ordre en attente ne peut pas être placé sur l'offre") ;
if (Bid>Min_Price) OrderSend(Symbol(),OP_SELLSTOP,LOT,Bid,3,Min_Price, //conditions pour placer l'ordre en attente SELL
NormalizeDouble(Ask + Max_Price-Min_Price,Digits), "UPDD",Magic,Blue) ;
si (Bid<Max_Price)
Comment("L'ordre en attente ne peut pas être placé sur SELL") ;
}
retour ;
}
Impossible à compiler. Sinon, il devrait placer deux ordres en attente vers le haut et vers le bas de la fourchette.