Questions d'un "mannequin - page 268

 
DC2008:

Je ne suis pas sûr, mais c'est probablement à cause de ça :

Je n'ai pas de ArrayResize, pour INDICATOR_DATA et INDICATOR_CALCULATIONS la taille est fixée par le terminal, et dessine à partir de la barre 0


Il s'avère ensuite que tous les ArrayInitialize(array,EMPTY_VALUE) ; ne fonctionnent pas même pour une barre de zéro ?



 
Silent:

Je n'ai pas ArrayResize, le terminal définit la taille pour INDICATOR_DATA et INDICATOR_CALCULATIONS et la dessine à partir de la 0ème barre.

Le passage d'un tableau à l'autre modifie la taille des tableaux (sans votre participation) et vous voyez les déchets.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Silent:

Il s'avère ensuite que tous les ArrayInitialize(array,EMPTY_VALUE) ; ne fonctionnent pas même pour une barre de zéro ?

Dans votre cas, c'est le dernier élément du tableau (même s'il est à la barre 0), car l'indexation par défaut est de gauche à droite.

 
DC2008:

Si vous passez de l'une à l'autre, la taille des tableaux change (sans votre participation) et vous ne voyez plus rien.

Cela semble logique. Ensuite, l'initialisation des tampons d'indicateurs dans l'inite n'a aucun sens, tout devrait être fait dans OnCalculate.

DC2008:

Dans votre cas, c'est le dernier élément du tableau (même s'il se trouve sur la barre 0), car le paramètre par défaut indexe de gauche à droite.

C'est vrai, je ne l'ai pas encore retourné.

 
Merci à tous !
 

J'ai corrigé une erreur, j'ai inversé les tableaux, j'ai joué avec ArrayInitialize (je l'ai laissé pour l'instant)...

Il semble impossible de se débarrasser des ordures à Inite. Même PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars) ; ne l'arrêtera pas ; il peut apparaître au début du graphique ou à la fin.

Je vais le laisser dans une remorque, peut-être que les développeurs y jetteront un œil.

PS mais l'apparition de déchets au même endroit sur le graphique après suppression de l'indicateur et/ou recompilation - c'est une boîte de conserve.

une telle beauté...


Dossiers :
 
Silent:

J'ai corrigé une erreur, j'ai inversé les tableaux, j'ai joué avec ArrayInitialize (je l'ai laissé pour l'instant)...

Il semble impossible de se débarrasser des ordures à Inite. Même PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars) ; ne l'arrêtera pas ; il peut apparaître au début du graphique ou à la fin.

Je vais le laisser dans une remorque, peut-être que les développeurs y jetteront un œil.

PS mais l'apparition de déchets au même endroit sur le graphique après suppression de l'indicateur et/ou recompilation - c'est une boîte de conserve.

Une telle beauté...

Voilà, cela semble fonctionner comme vous le souhaitez :

void OnDeinit(const int reason)
  {
   ArrayResize(USDBuffer,1);
   ArrayResize(EURBuffer,1);
   ArrayResize(GBPBuffer,1);
   return;
  }
 
DC2008:

Voilà, ça semble fonctionner comme vous le souhaitez :

Nan, c'est aussi du littering, tu peux le voir grâce aux chiffres dans le coin supérieur gauche.

Cela ne fonctionne qu'après avoir chargé ces cellules dans OnCalculate.

   ArrayInitialize(USDBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(EURBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(GBPBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,countBars);

Votre version semble être correcte. Les déchets sont causés par l'auto-rendu des tableaux. Et il semble même clair pourquoi il se répète.

Si le terminal change la taille, par exemple de 1 000 à 10 000, il alloue un seul et même morceau de mémoire non libérée, et peu importe combien de fois vous rechargez l'indicateur - de la 1 001e à la 9 999e cellule reste avec des valeurs de gauche.

upd J'ai encore une question : pourquoi en changeant quelque chose dans la fonction f_comment (changement de couleur) et les changements ultérieurs de la compilation ne sont pas appliqués à l'indicateur de redémarrage dans le terminal.

Dossiers :
 
Est-il possible de construire un graphique en chandelier des paramètres d'un instrument dans une fenêtre séparée ? Par exemple, le courtier "Otkritie" a l'instrument RTS-9.13 et pour lui construire un graphique des ordres d'achat, dont les valeurs sont affichées dans la fenêtre "aperçu du marché".
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
vicleo:
Est-il possible de construire un graphique en chandelier des paramètres d'un instrument dans une fenêtre séparée ? Par exemple, le courtier "Otkritie" dispose de l'instrument RTS-9.13 et pour celui-ci de construire un graphique des ordres d'achat, dont les valeurs sont affichées dans la fenêtre "aperçu du marché".
Broker et demander).