Je n'ai tout simplement pas la patience de répondre à de telles questions.
RefreshRates
Осуществляет обновление данных в предопределенных переменных и массивах-таймсериях.
Et ce que sont les variables prédéfinies et les tableaux de séries chronologiques peuvent être trouvés dans la documentation.
- docs.mql4.com
Je n'ai tout simplement pas la patience de répondre à de telles questions.
Et vous pouvez vous renseigner sur les variables prédéfinies et les tableaux de séries chronologiques dans la documentation.
C'est-à-dire que les données de la fonction iClose() ne sont en aucun cas affectées par RefreshRates(). Alors comment faire en sorte que la fonctioniClose() produise des informations actualisées ?
Zéro. Un délai arbitraire.
Honnêtement, je suis surpris... et c'est un euphémisme. Je pensais que iClose() récupérait les valeurs du serveur du courtier, mais non... RefreshRates() ; met à jour les valeurs obtenues par iClose()
/********************Script program start function*******************/ void OnStart() { for(int i = 0; i < 10; i++) { Print(Bid, " *** ", iClose(_Symbol, PERIOD_CURRENT, 0)); Sleep(1000); RefreshRates();// Без RefreshRates(); значения iClose(_Symbol, PERIOD_CURRENT, 0) не меняются… // То, что без RefreshRates(); не меняются значения Bid, это понятно и нормально… } }/******************************************************************/
Voici le résultat de l'exécution du script
2021.02.15 11:39:35.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:34.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:33.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:32.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:31.559 00 EURUSD,M5: 1.2138 *** 1.2138 2021.02.15 11:39:30.559 00 EURUSD,M5: 1.21378 *** 1.21378 2021.02.15 11:39:29.559 00 EURUSD,M5: 1.21379 *** 1.21379 2021.02.15 11:39:28.559 00 EURUSD,M5: 1.21378 *** 1.21378 2021.02.15 11:39:27.559 00 EURUSD,M5: 1.21379 *** 1.21379 2021.02.15 11:39:26.559 00 EURUSD,M5: 1.21379 *** 1.21379
Bon, ok... Je vais garder à l'esprit cette fonctionnalité et insérer RefreshRates() si nécessaire ;
ps ; Et iClose(_Symbol, PERIOD_CURRENT, 0) change dans MT5.
Honnêtement, je suis surpris... et c'est un euphémisme. Je pensais que iClose() recevait les valeurs du serveur du courtier, mais non... RefreshRates() ; met à jour les valeurs reçues par iClose()
Voici le résultat de l'exécution du script
Bon, d'accord... Personnellement, je vais garder à l'esprit cette fonctionnalité et insérer RefreshRates() quand c'est nécessaire ;
Si je change de période pour une autre que la période actuelle, les données ne seront plus rafraîchies à temps, même avec RefreshRates(). Ainsi, iClose et d'autres fonctions fondamentales de MT4 produisent un non-sens non pertinent. Je suis sûr que 80% des infos ne tiennent pas compte de ces caractéristiques uniques de MT4. Comment vivre ?)))
Franchement, je suis surpris... et c'est un euphémisme. Je pensais que iClose() recevait les valeurs du serveur du courtier, mais non... RefreshRates() ; met à jour les valeurs reçues par iClose()
Voici le résultat de l'exécution du script
Bon, ok... Je vais garder à l'esprit cette fonctionnalité et insérer RefreshRates() si nécessaire ;
ps ; Et iClose(_Symbol, PERIOD_CURRENT, 0) change dans MT5.
Quelle est la solution ? Plus de béquilles ? Par exemple, conserver un historique des tics et recalculer toutes les échéances dans les EA par elles-mêmes. C'est au-delà du bien et du mal))).
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation