Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 461

 

Quel est le problème avec le code ? Je change la période de l'indicateur en utilisant les boutons du panneau.
mais le commentaire renvoie un nombre incompréhensible

   zz_handle=iCustom(_Symbol,TF,"Examples\\ZigZag",ExtDepth,5,3);
   int _bars=Bars(_Symbol,TF);
   ArrayFree(zz_time);
   ArrayFree(zz_value);
   CopyBuffer(zz_handle,0,1,_bars,zz_value);
   CopyTime(_Symbol,TF,1,_bars,zz_time);
   Comment(zz_time[_bars-1]);
 
Roman Sharanov:

Quel est le problème avec le code ? Je modifie l'horizon temporel de l'indicateur à l'aide des boutons du panneau
mais le commentaire renvoie un nombre imprécis.

Si je ne suis pas stupide, c'estCommentaire(zz_time[0]) ;

 
Vitaly Muzichenko:

Si je ne suis pas stupide, c'estCommentaire(zz_time[0]);

Je ne l'ai pas mis dans une série chronologique, j'ai besoin qu'il aille de la fin de l'histoire à la dernière mesure.

 

Oh, j'ai trouvé l'erreur !

Je copie à partir d'une barre et le nombre de barres est calculé à partir de la barre actuelle, donc je sortais toujours du tableau.

J'ai faitbars=Bars(_Symbol,TF) - 1 ; et au moins les erreurs ont disparu.

 
Roman Sharanov:

Oh, j'ai trouvé l'erreur !

Je copie à partir d'une barre et le nombre de barres est calculé à partir de la barre actuelle, donc je sortais toujours du tableau.

J'ai faitbars=Bars(_Symbol,TF) - 1 ; et au moins les erreurs ont disparu.

Lisez attentivement ce queCopyBuffer(handle,0,1,bars, value) peut faire ;

 
lil_lil:

Comment faire pour qu'il écrive toutes les 120 secondes dans les 30 minutes suivant l'ouverture du bar ?

Voici la réponse.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions des débutants de MQL4, aide et discussion sur les algorithmes et les codes

Alexey Viktorov, 2018.02.13 18:58

Si vous avez des questions, n'hésitez pas à utiliser cet article, nous vous aiderons !

Alors pourquoi les écrire ? Prenez un jour quelconque et lisez le prix d'ouverture des minutes paires ou impaires PERIOD_M1...
datetime начало_дня;
CopyOpen(_Simbol, PERIOD_M1, начало_дня, начало_дня+30*PeriodSeconds(PERIOD_M1));
Il s'agira d'un tableau de 30 éléments toutes les 60 secondes. Chaque élément pair du tableau sera espacé de 120 secondes.
 
Roman Sharanov:

Oh, j'ai trouvé l'erreur !

Je copie à partir d'une barre et le nombre de barres est calculé à partir de la barre actuelle, donc je sortais toujours du tableau.

J'ai faitbars=Bars(_Symbol,TF) - 1 ; et au moins les erreurs ont disparu.

Mettez une directive au début du programme :

#property strict

Ensuite, toutes les erreurs, comme les dépassements de tableau et les divisions par 0, entraîneront l'arrêt du programme et l'impression d'un message de journal sur l'erreur, en spécifiant la ligne où l'erreur s'est produite. 90% des actions "incompréhensibles" du programme disparaîtront d'un coup.

 
snegosplav:
Bonjour, aidez-moi à améliorer le code du copieur. Le problème est le suivant : EA (esclave) affiche le message concernant l'impossibilité d'accéder au fichier, quoi que je fasse... Qu'est-ce qu'il y a ?

Décompilé par Artyom Trishkin

Note pour toi.

Comment pouvez-vous afficher le code ?
 
snegosplav:
Et comment pouvez-vous afficher le code ?

Celui que vous aviez - vous ne pouvez pas - c'est une décompilation. En cas de récidive, vous êtes banni pendant 24 heures, puis ensuite : une semaine, un mois, 10 ans, suppression du compte.

 
La fonction elle-même peut-elle être appelée à partir de la fonction ? et faire cela jusqu'à ce que la condition soit vraie.