[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 424
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
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é
{
if //If : - supprimer
{
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 de la période.
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 - les ordres en attente ne peuvent pas être placés par Ask ou Bid
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 BAY") ;
if (Bid>Min_Price) OrderSend(Symbol(),OP_SELLSTOP,LOT,Bid,3,Min_Price, //conditions pour placer un ordre de vente en attente - idem
NormalizeDouble(Ask + Max_Price-Min_Price,Digits), "UPDD",Magic,Blue) ;
si (Bid<Max_Price) - il doit y avoir une erreur ici
Comment("L'ordre en attente ne peut pas être placé sur SELL") ;
}
} - ajouter
retour ;
}
Je ne peux pas le compiler. En fait, il devrait placer deux ordres en attente en haut et en bas de la fourchette.
Si vous êtes compétent, pourriez-vous nous dire comment fixer le temps d'existence de l'ordre en attente à 23.59, c'est-à-dire que si l'ordre est placé par un EA, il existera jusqu'à 23.59 de la journée en cours.
Merci beaucoup ! Pouvez-vous me dire combien d'EAs peuvent fonctionner dans un terminal, j'ai ouvert 5 graphiques EURUSD, j'ai lancé 5 EAs différents dessus, mais le journal ne montre que le premier qui fonctionne...bien que tous mes visages soient souriants...
Quelle est la façon la plus intelligente de faire un MM, à la condition de 0,1 lot pour chaque balance de 1000.
Lequel est le plus raisonnable à utiliser, AccountBalance ou AccountEquity ?
Bon après-midi,
Y a-t-il une commande qui pourrait être ajoutée au script (dont le code est "OrderSend(Symbol(),OP_BUYSTOP...") pour que le script s'exécute sur tous les graphiques ouverts?
Quelle est la façon la plus intelligente de faire un MM, à la condition de 0,1 lot pour chaque balance de 1000.
Lequel est le plus raisonnable à utiliser, AccountBalance ou AccountEquity ?
Cela ne fait aucune différence. Si vous ouvrez un seul ordre, ils sont égaux au moment de l'ouverture, mais si vous en avez beaucoup, une seule formule ne suffit pas.
Merci beaucoup ! Pouvez-vous me dire combien d'EAs peuvent fonctionner dans un terminal, j'ai ouvert 5 graphiques EURUSD, j'ai lancé 5 EAs différents dessus, mais le journal ne montre que le premier qui fonctionne...bien que tous mes visages soient souriants...
sur différentes paires de devises fonctionnera, même s'il s'agit du même conseiller expert. Dans un tableau, un seul fonctionnera. Mais sur différents graphiques de la même paire de devises, je ne sais même pas......
Cela ne fait aucune différence, si vous ouvrez un seul ordre, ils sont égaux au moment de l'ouverture, et si vous en avez plusieurs, alors une formule n'est pas suffisante.
Je pensais juste que si j'ai déjà plusieurs ordres ouverts et qu'ils sont en drawdown, alors le lot devrait être calculé avec l'équité, sinon si vous le calculez avec le solde, alors le lot peut être trop grand et il n'y a pas assez d'argent pour ouvrir.
Veuillez me montrer un exemple de calcul de ce type pour un dépôt de 1000 lots de 0,1 lot.