Erreurs, bugs, questions - page 1088

 
Olegts:

Si vous avez des lignes similaires au début de votre fichier

#include <File.mqh>, il est probable que ces fichiers include aient été modifiés depuis votre dernière compilation, par vous ou par quelqu'un d'autre.

Il n'y a pas de fichiers d'inclusion.

 
MoneyJinn:

Il n'y a pas de fichiers de plug-in.

alors vous devriez poster l'indicateur, peut-être que quelqu'un y jettera un coup d'oeil à loisir)
 

Pourquoi l'erreur"array out of range" se produit-elle lorsqu'on essaie de placer quelque chose dans un tableau dynamique? Il s'agit d'un tableau dynamique.

Tableau B1[] Défini comme le tampon indicateur correspondant

SetIndexBuffer(0,B1,INDICATOR_DATA) ; ArraySetAsSeries(B1,true) ;

La taille du tableau n'est clairement pas contrôlée par l'utilisateur ici.

 
MoneyJinn:
Pourquoi l'erreur"array out of range" se produit-elle lorsqu'on essaie de placer quelque chose dans un tableau dynamique? C'est un tableau dynamique.
Cela ne signifie pas qu'il augmente sa taille par lui-même, la fonction ArrayResize le fait et ensuite vous pouvez ajouter des données, mais pas plus que la nouvelle taille du tableau.
 
MoneyJinn:
Pourquoi l'erreur"array out of range" se produit-elle lorsqu'on essaie de placer quelque chose dans un tableau dynamique? C'est dynamique.
(fcplm)
 
TheXpert:
(fcplm)

Qui va l'enfermer ? ! C'est un monument !

 

Erreur de plate-forme.

Si, lors du remplissage du tableau B1 du tampon de l'indicateur, la procédure SetIndexBuffer(0,B1,INDICATOR_DATA) est appelée à plusieurs reprises,

Par exemple, lors de l'initialisation de l'indicateur, la tentative suivante d'écrire quelque chose dans le tableau B1 provoque l'erreur"array out of range".

Lorsque l'on appelle une fois la procédure SetIndexBuffer(0,B1,INDICATOR_DATA), tout fonctionne bien.

Il n'y en avait pas avant.

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

Erreur de plate-forme.

Si, lors du remplissage du tableau B1 du tampon de l'indicateur, la procédure SetIndexBuffer(0,B1,INDICATOR_DATA) est appelée de manière répétée,

par exemple, lors de l'initialisation de l'indicateur, la tentative suivante d'écrire quelque chose dans le tableau B1 provoque l'erreur"array out of range".

Lorsqu'un seul appel de la procédure SetIndexBuffer(0,B1,INDICATOR_DATA) se produit, tout fonctionne bien.

Ça ne s'est pas produit avant.

Mais pourquoi le faites-vous de manière répétée ?

Lier un tampon signifie le vider et le préparer à une liaison dynamique pour les calculs ultérieurs. Si vous l'appelez une deuxième fois, le tampon précédent sera effacé et ne sera rempli que lors du prochain appel du recalcul de l'indicateur.

 
Renat:

Pourquoi faites-vous cela de manière répétée ?

La liaison du tampon signifie son effacement et la préparation de la liaison dynamique pour les calculs suivants. Si vous l'appelez une deuxième fois, le tampon précédent sera effacé et ne sera rempli que lors du prochain appel du recalcul de l'indicateur.

Il s'agissait de l'initialisation complète standard de l'indicateur, qui a lieu lorsque l'indicateur est lancé pour la première fois et qui est effectuée via Oninit().

Parfois, lorsque vous mettez à jour l'historique, etc.

Personne n'a jamais pensé que l'initialisation répétée de l'indicateur via Oninit() entraînerait l'arrêt de la réponse des tableaux.

 
MoneyJinn:

Il s'agissait de l'initialisation complète standard de l'indicateur, qui est effectuée lors de son premier démarrage et est réalisée via Oninit().

Parfois, lorsque l'historique est mis à jour, etc.

Personne n'a jamais pensé que l'initialisation répétée de l'indicateur via Oninit() entraînerait l'arrêt de la réponse des tableaux.

Pour quoi faire ?

"SetIndexBuffer lie le tampon d'indicateur spécifié au tableau dynamique unidimensionnel".

Est-ce que vous liez les tampons à d'autres tableaux lorsque vous mettez à jour l'historique ?

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
Raison: