Erreurs, bugs, questions - page 760

 
Karlson:

Il me semble que les barres de l'ancienne TF ne "disparaissent" que rarement.

Une autre variante consiste à obtenir l'heure de cette barre simultanément par CopyTime().

Et troisième option (probablement la plus simple) : utiliser CopyRates dans la structure en une seule fois.

Merci... Le problème est que je travaille avec M1 et que je vois souvent des barres asynchrones avec le même indice sur différents symboles. La comparaison des dates est également une option. Je vais voir quelle variante est la meilleure pour la vitesse de calcul...
 
Alex5757000:
Merci... Le fait est que je travaille sur M1 et que j'observe souvent des barres asynchrones avec le même indice sur différents instruments. La comparaison des dates est également une option. Je vais examiner quelle variante est la plus optimale en termes de vitesse de calcul.
Il y a quelque chose à propos de la synchronisation ici.
 
Lizar:
Il y a quelque chose à propos de la synchronisation ici.

Merci ! Article utile... C'est-à-dire que pour chaque barre du symbole actuel, en utilisant la fonction CopyTime, nous obtenons le temps et ensuite nous copions les données d'un autre symbole par ce temps.

Mais au lieu d'événements personnalisés, j'utiliserais la fonction OnTimer, car il est très encombrant d'accrocher un "indicateur-agent" sur chaque symbole...

 
Alex5757000:

Merci ! Article utile... C'est-à-dire, pour chaque barre du symbole actuel, utiliser la fonction CopyTime pour obtenir l'heure, puis copier les données d'un autre symbole en fonction de cette heure.

Vous pouvez procéder de cette manière, si vous êtes satisfait de la synchronisation par rapport au symbole actuel.

Mais au lieu d'événements personnalisés, j'utiliserais la fonction OnTimer, car il est trop encombrant d'accrocher un "agent indicateur" sur chaque symbole...

Utilisez OnTimer, tout dépend de vos exigences en matière de qualité de synchronisation.
 

il y a un problème.

MT4

les détails :

https://www.mql5.com/ru/forum/139759/page13#655069

Новая версия MetaTrader 4 Client Terminal build 432 - MQL4 форум
  • www.mql5.com
Новая версия MetaTrader 4 Client Terminal build 432 - MQL4 форум
 

La plus grande déception pour moi est probablement le comportement des fonctions SeriesInfoInteger, CopyTime, CopyOpen et similaires.

Il s'avère que même le week-end, lorsqu'aucun nouveau devis n'est reçu, les données existantes sont mises à jour,

ces fonctions peuvent donner des résultats différents avec les mêmes paramètres. Il y a un problème de contrôle des données de séries chronologiques déjà présentes dans le terminal.

Il a été remarqué que le problème se produit lorsque l'on travaille en mode multidevise après avoir recompilé les indicateurs, ainsi que lors du changement d'échéances et du redémarrage du terminal.

CopyOpen() ne produit pas d'erreur si nous essayons de copier des données d'un morceau d'histoire inexistant, en spécifiant la date de son début. La fonction sort la valeur de la cotation d'une barre inconnue.

Ce comportement de la fonction a été détecté pour la paire USDHKD, pour laquelle il n'y a pas de données depuis plusieurs mois sur le serveur MQ.

Merci à MQ pour les nouveaux pièges !

 

void OnStart()

 {

   Alert("start");

   string arr1[178365];

   char arr2[178365];

   arr1[100002]="hello";

   Alert(arr1[100002]);

   Alert("finish");

  }

Au moment de la compilation, il donne des avertissements: la taille des variables locales est trop grande (plus de 512kb) 55.mq5 27 6

Lors de l'exécution2012.07.01 14:37:26 55 (GBPUSD,MN1) débordement de pile

Je ne peux pas utiliser 2 petits tableaux ? Est-ce vraiment si important ?

Je n'utilise pas Metatrader pour le trading, je l'utilise pour d'autres calculs.

 

Stasikusssss:

...

J'essaierais ceci : mettez les tableaux dans une classe ou dans une structure (je ne me souviens pas si vous pouvez allouer de la mémoire dynamique pour une structure), allouez de la mémoire pour la classe via new ;

Ou placer la définition des tableaux dans une fonction séparée, et jouer avec la #property stacksize https://www.mql5.com/ru/docs/basis/preprosessor/compilation. Si c'est la deuxième variante, les tableaux ne peuvent pas être statiques.

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
À propos des guillemets inexistants : veuillez fournir un exemple reproductible dans votre code. Il doit y avoir une erreur dans votre code.
 
Il n'est pas raisonnable de faire des tableaux énormes dans la pile (plus de 512 Ko), comme le compilateur nous en a avertis tout de suite.

Si des tableaux de grande taille sont nécessaires, ils doivent être rendus dynamiques par une allocation de mémoire explicite.
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5
Raison: