[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 105
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
Regardez ici : https://docs.mql4.com/ru/basis/operations/math
Vous pouvez le faire aussi.
b ne serait-il pas égal à un ?
J'ai vérifié. Un.
Créer des drapeaux, par exemple
Pour TP1 - bool TP1, pour TP2 - bool TP2, etc...
Initialement, leurs valeurs sont fausses.
Avant la prochaine fermeture, vous faites un contrôle :
if (!TP1) {code pour fermeture partielle de la première partie, après fermeture réussie écrire TP1=true}
if (!TP2) {code pour fermer partiellement la deuxième partie, après une fermeture réussie écrire TP2=true}
... et ainsi de suite pour toutes les pièces...
Ainsi, les drapeaux signaleront que chaque partie a déjà été fermée une fois...
Merci ! J'ai retravaillé le code... TP0==false Je l'ai mis au début du programme .
Le problème reste entier : La 1ère partie se ferme et commence immédiatement à fermer la 2ème :-( ..., avec l'erreur 131 pour la deuxième, compréhensible - taille de lot différente ) Mais une autre nuance est que pour la 1ère partie ""Alert ("Closed ",Lot," Lot Buy ",Ticket) ;"" ne s'écrit pas dans le log, c'est-à-dire qu'il n'atteint pas la vérification Ans==true. Pourquoi ???? Voici un morceau de code...
Merci d'avance !
while(true) // Fermer la boucle de la horde.
{
if (TP0==false && (Cls_B0==true ||Cls_S0==true))
{
LotC=MathRound(Lot/4/Step)*Step ;
Alert("Lot-",Lot, "Attempting to close-",LotC," Lot Buy ",Ticket,. En attente d'une réponse...") ;
RefreshRates() ; // Rafraîchir les données
Ans=OrderClose(Ticket,LotC,Bid,5) ; // TicketClose Acheter 1/3 lots ?
if (Ans==true) // Cela a marché :)
{
TP0=true ;
Alert ("Closed ",Lot," Lot Buy ",Ticket) ;
break ; // Sortie de la boucle fermée
}
if (Fun_Error(GetLastError())==1) // Gestion des erreurs
continue ; // Réessayer
return ; // Sortie de start()
}
Chers programmateurs !
Aidez-nous, s'il vous plaît. L'indicateur dessine des valeurs sur une divergence latente haussière, et ne dessine pas de divergence latente baissière..... Il écrit que l'erreur 4002 - array index - out of range.
Il semble que j'ai tout arrangé... Ça m'a pris une soirée entière... Et c'est dommage - le code est le plus simple... Mais ça dessine des taureaux avec des flèches, mais pas des ours... S'IL VOUS PLAÎT ! Quelle est l'erreur dans ?????????????????????
Alena,
Vous devez allouer de la mémoire pour les tableaux vpadcci[], v[], hh[], ss[]. Ils sont déclarés comme dynamiques, mais leur taille n'est spécifiée nulle part. La taille d'un tableau dynamique est spécifiée à l'aide de la fonction ArrayResize().
P.S. Et s'il vous plaît utiliser le bouton SRC pour insérer le code
Question pour MT5. Comment puis-je savoir que le testeur de stratégie a terminé son travail ? Autre que visuellement :)
La fonction deinit() est exécutée lorsque le travail est terminé. Par conséquent, si nous y arrivons, cela signifie que le travail de l'expert est terminé. Pour déterminer si le travail dans le testeur est en cours, utilisez la fonction IsTesting().
Désolé, j'ai remarqué que cette question est liée à MT5.
C'est la même chose ici, seulement OnDeinit() et MQL5InfoInteger(MQL5_TESTING).
Alena,
Vous devez allouer de la mémoire pour les tableaux vpadcci[], v[], hh[], ss[]. Ils sont déclarés comme dynamiques, mais leur taille n'est spécifiée nulle part. La taille d'un tableau dynamique est définie à l'aide de la fonction ArrayResize().
P.S. Et s'il vous plaît utiliser le bouton SRC pour insérer le code
Merci beaucoup pour la réponse, je vais y réfléchir !
Veuillez indiquer comment enregistrer correctement que la couleur de l'indicateur VininI LRMA.mq4 https://www.mql5.com/ru/code/8200 a changé.
Si vous utilisez double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift). Je n'arrive pas à comprendre. J'ai écrit iCustom(NULL,0, "VininI_LRMA_color",55,0,1) et je ne sais pas quoi en faire)).
Les valeurs des lignes sont dans les tampons indicateurs 1 (vert) et 2 (rouge). Lorsqu'une ligne verte est tracée sur le graphique, la variable up de la mesure 1 a la valeur de cette ligne, et la variable dn=EMPTY_VALUE et vice versa. EMPTY_VALUE est une valeur de tampon vide, sa valeur numérique est 2147483647.
Vous pouvez ensuite utiliser ces valeurs comme bon vous semble.
Peut-on créer un EA qui ferme tous les ordres lorsque le take-profit du dernier ordre ouvert se déclenche ?