Comment obtenir les paramètres Open,Low,High,Close dans MQL5 ? - page 2

 
Igor Makanu:

comme ça :

Merci. Cette option est plus appropriée.
 
Vladimir Karputov:



Ceci est inutile dans MQL5.


Et c'est ainsi que ceux qui

aiment tomber sur des erreurs cachées (en général, tous ceux qui sont trop paresseux pour faire les vérifications de base)

Quelle différence cela fait-il de savoir où vérifier les données ? Vous pouvez vérifier après le temps [x]. C'est comme ça que ça se passe en général.
 
Реter Konow:
Merci. Cette option est plus adaptée.

S'il vous plaît, pas de problème, je suis dans le même "Z" - très inconfortable tout dans MQL5

 
Alexey Volchanskiy:

Est-ce que c'est comme un code MT4 multiplateforme ? Gud, j'écris presque tout en multiplateforme ces jours-ci.

Alexei, c'est pour ceux qui sont dans un tank. Mais pour les autres, CopyRates() est disponible dans mql4. Oubliez donc tous les iOpen et autres absurdités. Je ne comprends même pas pourquoi ils l'ont mis dans mql5...

CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL4
CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 

Est-ce que iOpen et les autres fonctions fonctionnent d'elles-mêmes, ou avez-vous encore besoin de CopyRates ? J'ai Print(iOpen(0,CURRENT_PERIOD,1)) ; l'entrée renvoie 0.0 sans CopyRates (appelé depuis Init). L'histoire locale est là.

Et où placer CopyRates si vous en avez besoin et si vous devez obtenir des données sur les barres en permanence ? Dans OnTick() à chaque tick, ou dans la fonction d'une nouvelle barre ?

 
Реter Konow:
Et les fonctions iOpen et autres fonctionnent par elles-mêmes, ou avons-nous encore besoin de CopyRates ? Mon Print(iOpen(0,CURRENT_PERIOD,1)) ; l'entrée retourne 0.0 sans CopyRates (appelé depuis Inite). L'histoire locale est là.

Par eux-mêmes. Peut-être que le problème est que la constante nommée est incorrectement spécifiée ? Pas CURRENT_PERIOD, mais PERIOD_CURRENT. S'il donne toujours 0, il s'agit d'une erreur. Il peut être découvert via GetLastError().

 
Реter Konow:

Est-ce que iOpen et les autres fonctions fonctionnent d'elles-mêmes, ou ai-je encore besoin de CopyRates ? J'ai Print(iOpen(0,CURRENT_PERIOD,1)) ; l'entrée renvoie 0.0 sans CopyRates (appelé depuis Init). L'histoire locale est là.

Et où placer les CopyRates s'ils sont nécessaires et que nous devons obtenir les données sur les barres en permanence ? Dans OnTick() à chaque tick, ou dans la nouvelle fonction bar ?

Jetez TOUTES les fonctions iXXXXXX - comme indiqué ci-dessus - seulement CopyRates. Il existe cependant un exemple d'obtention de données dans l'aide.

Et vous devez obtenir ces données en fonction de vos besoins : si vous avez besoin de valeurs égales à zéro (la barre la plus à droite sur le graphique) ou non.

 
Ihor Herasko:

Par eux-mêmes. Peut-être que le problème est que la constante nommée est incorrectement spécifiée ? Pas CURRENT_PERIOD, mais PERIOD_CURRENT. S'il donne toujours 0, il s'agit d'une erreur. Il peut être découvert via GetLastError().

Non, je l'ai mal écrit ici. Je l'ai écrit correctement. Erreur 0.
 
Vladimir Karputov:

Jetez TOUTES les fonctions iXXXXXX - comme indiqué ci-dessus - seulement CopyRates. Il existe un exemple d'obtention de données dans l'aide.

Et vous devez obtenir ces données en fonction de vos besoins : si vous avez besoin de valeurs égales à zéro (la barre la plus à droite du graphique) ou non.

OK. Je vais essayer.
 
Vladimir Karputov:

Jetez TOUTES les fonctions iXXXXXX - comme indiqué ci-dessus - seulement CopyRates. Il existe un exemple d'obtention de données dans l'aide.

Et vous devez obtenir ces données en fonction de vos besoins : si vous avez besoin de valeurs égales à zéro (la barre la plus à droite sur le graphique) ou non.

Oh Vladimir. Même si je l'ai dit ouvertement, je regrette de ne pas avoir fait de réservation. Si nous n'avons besoin que du prix ou de l'heure d'ouverture, par exemple, il n'est pas nécessaire d'utiliser CopyRates(), dans ce cas CopyOpen ou iOpen est bien suffisant... respectivement CopyTime ou iTime. Il est choisi en fonction des préférences religieuses.

Et j'ajouterai mon avertissement : en termes de coûts de productivité, il n'y a pas de différence perceptible. Par conséquent, il s'agit purement d'une question de parti pris religieux.
Raison: