Servicedesk. Plaintes, suggestions. - page 2

 
J'attends l'arbitrage depuis très longtemps. Semaine 3 (ils m'ont demandé d'attendre 2 semaines, OK).
 
Renat Fatkhullin:
Nous allons corriger cela dans le quad - nous sommes allés trop loin avec le déchargement agressif des cartes inutilisées.

Renat, avez-vous lu mon message initial ? Pourquoi n'est-il pas utilisé ? Il y a des requêtes à chaque tic-tac, bien plus souvent qu'une fois toutes les 10 secondes. Ou inutilisé = non ouvert ? Veuillez clarifier.

Très heureux, cependant, que vous ayez écouté ce que j'ai dit.

 
Ilya Malev:
Si la fonction MT5SeriesInfoInteger n'est pas utilisée, et qu'à la place on utilise les anciennes fonctions MT4, iBars, iTime, MarketInfo, etc., alors le problème reste entier ?

En utilisant iTime( _Symbol, period, Bars( _Symbol, period )-1 ), nous pouvons obtenir l'heure de la première bougie disponible sur le graphique.

Mais pour obtenir l'heure de la première bougie sur le serveur, je n'ai pas décidé quelle construction utiliser.

En utilisant SeriesInfoInteger, nous le faisons très simplement : SeriesInfoInteger( _Symbol, period,SERIES_SERVER_FIRSTDATE);

 
Alexey Kozitsyn:
Renat, avez-vous lu mon message initial ? Pourquoi n'est-il pas utilisé ? Il y a des requêtes à chaque tic-tac, bien plus souvent qu'une fois toutes les 10 secondes. Ou non utilisé = non ouvert ? Veuillez expliquer.

C'est pourquoi j'écris "déchargement trop agressif".

Nous allons certainement nous pencher sur la question.

 
Alexey Kozitsyn:

En utilisant iTime( _Symbol, period, Bars( _Symbol, period )-1 ), nous pouvons obtenir l'heure de la première bougie disponible sur le graphique.

Mais pour obtenir l'heure de la première bougie sur le serveur, je n'ai pas décidé quelle construction utiliser.

Tout se fait simplement avec SeriesInfoInteger : SeriesInfoInteger( _Symbol, period,SERIES_SERVER_FIRSTDATE);

MT4 ne charge-t-il pas la série entière avant d'appeler la série temporelle ? Donc, si iBars accède à la série chronologique non native dans le script MT4 dans un cycle avec un intervalle de seconde, le résultat sera différent ?
 
Ilya Malev:
Mais MT4 ne le charge-t-il pas complètement avant d'appeler la série chronologique ? Donc, si iBar appelle une série temporelle "inconnue" dans le script MT4 avec un intervalle d'une seconde, le résultat sera différent ?

Voir aussi. Vous pouvez limiter la disponibilité de l'historique en fixant le terminal à Max bars dans la fenêtre. Il y aura alors plus d'historique sur le serveur que sur le graphique. C'est logique.

Si vous adressez via la fonction SeriesInfoInteger(), alors, afin de toujours avoir accès aux données, si cette fonction renvoie 0, appelez la fonction iTime() à partir du symbole/période nécessaire. Mais ceci, premièrement, n'est documenté nulle part, et deuxièmement, ce n'est pas correct, car il est garanti d'obtenir des données de la fonction, vous pouvez seulement utiliser une autre fonction. Alors, pourquoi avons-nous besoin de cette fonction ?

Mais comme je l'ai dit, la propriétéSERIES_SERVER_FIRSTDATE ne semble pas être dupliquée. Ce qui signifie qu'au moins pour cette raison, la fonction SeriesInfo... est nécessaire.

 
Alexey Kozitsyn:

Si, par contre, on appelle la fonction SeriesInfoInteger(), afin d'avoir toujours accès aux données, si cette fonction renvoie 0 - appeler la fonction iTime() à partir du caractère/période souhaité.

Je comprendrais l'urgence de ce problème si, soudainement, au lieu de recevoir les données du TF requis, les fonctions MT4 - iHigh, iLow, ... iBars etc. a renvoyé une erreur (0). Les fonctions MT5 ne sont tout simplement pas nécessaires dans MT4, il n'y a pas de chargement asynchrone des données, pour autant que je sache. Et il ne sert à rien de compliquer les choses.
 
Ilya Malev:
Je comprendrais la pertinence de ce problème si soudainement, au lieu de recevoir les données du TF que vous recherchez, les fonctions MT4 - iHigh, iLow, ... iBars etc. a renvoyé une erreur (0). Les fonctions MT5 ne sont tout simplement pas nécessaires dans MT4, il n'y a pas de chargement asynchrone des données, pour autant que je sache. Et il ne sert à rien de compliquer les choses.

Que cela ait du sens ou non est une autre question.

Mais encore une fois, je ne connais pas de moyen d'obtenir la date de la première barre disponible sur le serveur par symbole, autrement que par la fonction SeriesInfoInteger(). Peut-être que tu sais ?

 
Alexey Kozitsyn:

Que cela ait du sens ou non est une autre question.

Mais encore une fois, je ne connais pas de moyen d'obtenir la date de la première barre disponible sur le serveur par symbole, autrement que par la fonction SeriesInfoInteger(). Peut-être que tu sais ?

Pourquoi voudrais-tu l'avoir ?
 
Ilya Malev:
Pourquoi devez-vous l'obtenir ?

Ne serait-ce que parce que c'est indiqué dans la documentation et que je veux l'utiliser.

Pour télécharger et vérifier l'historique, comme sur MT5 : https://www.mql5.com/ru/docs/series/timeseries_access

Je répète la question, savez-vous comment obtenir cette date au moyen de l'ancienne mql4 ?

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Raison: