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
Non, ce n'est pas le cas. Qu'est-ce qui est écrit dans l'aide de la fonction à propos de la valeur de retour ?
Valeur retournée
Valeur du prix de clôture de la barre (spécifié par le paramètre shift) du graphique correspondant ou 0 en cas d'erreur. Appelez GetLastError() pour obtenir plus d'informations sur l'erreur.
Et si vous changez l'horizon temporel pour un autre que l'horizon actuel, les données ne seront pas mises à jour à temps, même avec RefreshRates(). Ainsi, les fonctions fondamentales d'iClose etc. dans MT4 produisent des conneries non pertinentes. Je suis sûr que 80% des infos ne tiennent pas compte de ces caractéristiques uniques de MT4. Comment vivre ?)))
L'arrêt du changement ne donnera rien. La valeur actuelle de iClose est égale à la valeur de l'offre, quelle que soit la période du graphique.
J'ai créé un EA et l'ai fait fonctionner sur M5 pendant une journée. Au changement d'heure, il trace des lignes horizontales pour chacune des valeurs : iClose(symbole,PERIOD_H1,1),iClose(symbole, PERIOD_M5,1), iClose(symbole, PERIOD_ M1,1 ),Close[1],Bid
Question aux développeurs. Pourquoi avons-nous besoin de la fonctioniClose dans MQL4, si elle ne donne pas les informations correctes et s'il n'y a aucun moyen de mettre à jour ses données ?
J'ai créé un EA et l'ai fait fonctionner sur M5 pendant une journée. Au changement d'heure, il trace des lignes horizontales pour chacune des valeurs : iClose(symbole,PERIOD_H1,1),iClose(symbole, PERIOD_M5,1), iClose(symbole, PERIOD_ M1,1 ),Close[1],Bid
Question aux développeurs. Pourquoi MQL4 a-t-il besoin des fonctionsiClose, si elles ne donnent pas d'informations fiables et s'il n'y a aucun moyen de mettre à jour leurs données ?
C'est absurde. L'appel RefreshRates() n'est nécessaire que si l'exécution a été retardée pour une raison quelconque. Il peut s'agir d'un cycle long ou d'une simple mise à jour des prix au moment de l'envoi d'un ordre d'ouverture. Il ne devrait y avoir aucun problème dans votre variante. Mieux vaut poster un exemple de code qui se trompe autant dans les valeurs de prix.
J'exécute maintenant le code suivant
En substance, la clôture de la minute doit coïncider avec toute période haute sur le graphique. Je vérifierai plus tard pour voir s'il y a quelque chose d'écrit dans le journal.Et si vous changez l'horizon temporel pour un autre que celui en cours, les données ne seront plus mises à jour à temps, même avec RefreshRates().
Existe-t-il un code de test pour confirmer cette affirmation ? Je ne l'ai pas remarqué moi-même. Lorsque nous changeons de TF, nous attendons simplement que l'histoire soit échangée et nous travaillons.
Ainsi, iClose et d'autres fonctions fondamentales de MT4 produisent des absurdités non pertinentes.
C'est une affirmation trop forte. C'est parfois possible, mais c'est à ça que servent les codes d'erreur. Si vous ne les vérifiez pas, vous ne saurez jamais si vous pouvez utiliser le résultat obtenu.
Je suis sûr que 80 % des produits d'information ne tiennent pas compte de ces caractéristiques uniques de MT4. Comment vivre ?)))
Je dirai même plus : presque tous les programmes ne tiennent pas compte de ces caractéristiques. C'est pourquoi leurs nouvelles versions sont publiées. Dès qu'un produit n'est plus pris en charge, il est rendu inutilisable.
C'est absurde. Il est seulement nécessaire d'appeler RefreshRates() s'il y a eu un retard dans l'exécution pour une raison quelconque. Des cas comme un cycle long ou une simple mise à jour des prix au moment de l'envoi d'un ordre d'ouverture. Il ne devrait y avoir aucun problème dans votre variante. Mieux vaut poster un exemple de code qui se trompe autant dans les valeurs de prix.
J'exécute ce code maintenant
En substance, la clôture minute doit coïncider avec toute période haute sur le graphique. Je verrai plus tard s'il y a quelque chose d'écrit dans le journal.Mon code est similaire à celui-ci. Il y a une erreur dans OnTick.
Il devrait être
Si nous avons le cadre temporel actuel M5, nous devons comparer M5 avec H1 et M1.
Le cadre temporel actuel M5 est affiché correctement. Le problème se situait au niveau de H1 et M1.
Je l'ai vérifié sur Alpari real EURCHF M5, mais au lieu de Print j'ai dessiné des barres horizontales à chacun des niveaux.
Existe-t-il un code de test pour étayer cette affirmation ? Je n'ai pas remarqué cela chez moi. Lorsque nous changeons de TF, nous attendons simplement que l'historique soit échangé et nous travaillons.
C'est une affirmation trop forte. Dans certains cas, c'est possible, mais c'est à cela que servent les codes d'erreur. Si vous ne les vérifiez pas, vous ne saurez jamais si vous pouvez utiliser le résultat obtenu.
Je dirai même plus : presque tous les programmes ne tiennent pas compte d'un élément. C'est pourquoi leurs nouvelles versions sont publiées. Dès qu'un produit n'est plus pris en charge, il est impossible de l'utiliser.
Voici le code, mettez-le et vérifiez-le. Je n'ai pas d'allumette sur chaque bougie. Alpari real EURCHF M5.
iClose : zéro - erreur. La fonction ne signale pas d'erreur. Produit une valeur qui est actuellement obsolète.
Si vous suspectez des erreurs dans les fonctions iXXXXXXX, utilisez les fonctions SymbolInfoXXXXXX.