[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 423

 
Zhunko:
Il est possible de transférer les propriétés de chaque ligne, mais est-ce nécessaire avec un si grand nombre de lignes ? Ayons une seule propriété pour toutes les lignes.


C'est-à-dire, si je comprends bien. Si certaines lignes ont les mêmes propriétés, et qu'il y a 8 propriétés pour toutes les caractéristiques, alors vous pouvez les faire tenir dans un seul index, mais s'il y a plus de 8 propriétés, alors vous ne pouvez pas ?
 
hoz:

Donc ma compréhension est correcte. Si certaines lignes ont les mêmes propriétés, et qu'il y a 8 propriétés pour tous les attributs, alors vous pouvez les faire tenir dans un indicateur, mais s'il y a plus de 8 propriétés, alors vous ne pouvez pas ?
Un nombre quelconque de propriétés peut être transféré.
 
Zhunko:
Un nombre quelconque de propriétés peut être transféré.


Mais les propriétés sont liées à un tampon si elles sont nécessaires pour afficher visuellement un objet graphique. Il n'est donc pas possible de dépasser le nombre de propriétés au-delà de 8. Est-ce correct ?
 
hoz:

Mais les propriétés sont liées à un tampon si vous en avez besoin pour afficher visuellement un objet graphique. Il n'est donc pas possible de dépasser le nombre de propriétés au-delà de 8. Est-ce correct ?

Je suppose que je ne comprends pas la question.

Voulez-vous dire que le nombre de propriétés de la ligne n'est que de 8 ?

 
hoz:

Si chaque tampon (chaque ligne) a ses propres paramètres (couleur, épaisseur, etc.), comment ces paramètres seront-ils transmis à chaque ligne ?

Voulez-vous dire par iCustom() dans l'EA ? J'y ai mis le même bloc de calcul, et c'est tout. Si pour une raison quelconque, cela ne fonctionne pas (jusqu'à présent, je n'ai rencontré que la récursion par série temporelle), il est préférable de créer un tampon indicateur et de l'appeler par iCustom().


Je veux dire si l'indicateur est dessiné avec des lignes de tendance. Mais cela n'a pas d'importance si elle est dans une sous-fenêtre, WindowOnDropped au départ sous le drapeau, le drapeau est omis. Comme ça :

int start(){
   //блок рисования горизонтальных линий уровня. Не выношу в init(), потому что WindowOnDropped() определён только в start()
   if(image){
      if(b){
         for(int i=-100; i<=100; i++){
            double x=i; x/=100; double hue=SpectralFilter(x, focus);
            color RGB=HSLtoRGB(hue, Staturation, Lightness);
            string name=DoubleToStr(hue,8);
            ObjectCreate(name,OBJ_HLINE,WindowOnDropped(),0,hue);
            ObjectSet(name, OBJPROP_COLOR, RGB);
            ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
            ObjectSet(name, OBJPROP_WIDTH, 1);
         }
         b=false;
      }
   }else{
      ObjectsDeleteAll(WindowOnDropped(),OBJ_HLINE);
   }

Les tendances sont dessinées de la même manière.

 
Zhunko:

Je suppose que je ne comprends pas la question.

Voulez-vous dire que le nombre de propriétés de la ligne n'est que de 8 ?


Non. Tu l'as dit toi-même :

Zhunko:
Un nombre quelconque de propriétés peut être transféré.


Mais il ne s'agit pas seulement des propriétés dans leur ensemble. Mais à chaque ligne affichée ou objet de tout autre graphique. Il est écrit dans la documentation https://docs.mql4.com/ru/customind/IndicatorBuffers :

Il s'avère donc que si les propriétés sont transmises par le biais du tampon dans la fenêtre du terminal, vous ne pouvez pas transmettre plus de 8 objets graphiques, d'après la documentation. Mais j'ai déjà vu des indices, presque des arcs-en-ciel, où les couleurs et les lignes dépassent 8. Donc, d'une manière ou d'une autre, ils contournent cette limitation...

 
gyfto:

Vous voulez dire par iCustom() dans l'EA ? J'y ai mis le même bloc de calcul, et c'est tout. Si pour une raison quelconque, cela ne fonctionne pas (jusqu'à présent, je n'ai rencontré que la récursion par timeseries), il est préférable de former le tampon de l'indicateur et de l'appeler via iCustom().

Non, je veux dire qu'il doit être tiré de l'indicateur et c'est tout. Je ne veux pas le transférer à un conseiller expert. J'en ai besoin pour contrôler visuellement certains moments et rien de plus.

gyfto:

Je veux dire si une ligne de tendance est dessinée dans un indicateur. Mais peu importe si c'est dans une sous-fenêtre, WindowOnDropped au départ sous le drapeau, le drapeau est omis. Comme ça :

Les lignes de tendance sont tracées de la même manière.


Voulez-vous dire qu'il est possible de faire fonctionner la même inductance dans une fenêtre différente, en spécifiant une fenêtre différente, et ainsi contourner la restriction ?
 
hoz:


Mais j'ai déjà rencontré des dindes, presque des arcs-en-ciel, où les couleurs et les lignes sont bien plus que 8. Donc, d'une manière ou d'une autre, ils contournent cette restriction...


Eh bien, en principe, si les tampons d'indicateurs supplémentaires sont déclarés par eux-mêmes, et ensuite par les lignes de tendance, alors cela fonctionnera...
 
hoz:
Voulez-vous dire que l'on peut exécuter le même outil dans une autre fenêtre, en spécifiant une fenêtre différente, et ainsi contourner la restriction ?

Non, je parle de ObjectCreate(), vous devez définir le numéro de fenêtre à cet endroit. Je vous ai montré comment la définir s'il s'agit d'une sous-fenêtre (c'est-à-dire pas zéro, qui est la fenêtre principale).
 
gyfto:

Eh bien, en théorie, si des tampons d'indicateurs supplémentaires sont auto-déclarés et que d'autres lignes de tendance sont utilisées, alors cela fonctionnera...

Alors pourquoi la documentation indique-t-elle que
le nombre de tampons ne peut pas dépasser 8
? Cen'est pas clair ici. Il n'est pas dit que c'est le nombre de tampons principaux, pas tous. Ça dit le nombre de tampons et c'est tout. Je lis donc ceci et je crois comprendre que cela doit s'appliquer au nombre total de tampons pour un indicateur donné.
Raison: