[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 423

 
hoz:

Se ogni buffer (ogni linea) ha i suoi parametri (colore, spessore, ecc.), allora come verranno trasferiti questi parametri ad ogni linea?
È possibile passare proprietà individuali per ogni linea, ma è necessario con così tante linee? Che ci sia una proprietà per tutte le linee.
 
Zhunko:
È possibile trasferire le proprietà delle singole linee, ma è necessario con così tante linee? Abbiamo una sola proprietà per tutte le linee.


Cioè, ho capito bene. Se alcune linee hanno le stesse proprietà, e ci sono 8 proprietà per tutte le caratteristiche, allora potete inserirle tutte in un indice, ma se ci sono più di 8 proprietà, allora non potete?
 
hoz:

Quindi la mia comprensione è corretta. Se alcune linee hanno le stesse proprietà, e ci sono 8 proprietà per tutti gli attributi, allora puoi inserirle in un indicatore, ma se ci sono più di 8 proprietà, allora non puoi?
Qualsiasi numero di proprietà può essere trasferito.
 
Zhunko:
Qualsiasi numero di proprietà può essere trasferito.


Ma le proprietà sono legate a un buffer se sono necessarie per visualizzare un oggetto grafico. Quindi non è possibile superare il numero di proprietà superiore a 8. È corretto?
 
hoz:

Ma le proprietà sono legate a un buffer se ne avete bisogno per visualizzare un oggetto grafico. Quindi non è possibile superare il numero di proprietà superiore a 8. È corretto?

Credo di non capire la domanda.

Vuoi dire che il numero di proprietà della linea è solo 8?

 
hoz:

Se ogni buffer (ogni linea) ha i suoi parametri (colore, spessore, ecc.), allora come verranno passati questi parametri ad ogni linea?

Intendi attraverso iCustom() nell'EA? Ho messo lo stesso blocco computazionale e questo è tutto. Se per qualche motivo non funziona (finora ho incontrato solo la ricorsione per serie temporale), è meglio creare un buffer di indicatori e chiamarlo attraverso iCustom().


Intendo se l'indicatore è disegnato con linee di tendenza. Ma non importa se è in una sottofinestra, WindowOnDropped all'inizio sotto la bandiera, la bandiera viene omessa. Come questo:

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);
   }

Le tendenze sono disegnate allo stesso modo.

 
Zhunko:

Credo di non capire la domanda.

Vuoi dire che il numero di proprietà della linea è solo 8?


No. L'hai detto tu stesso:

Zhunko:
Qualsiasi numero di proprietà può essere trasferito.


Ma non intende solo le proprietà in aggregato. Ma ad ogni linea visualizzata o oggetto di qualsiasi altro grafico. Perché è scritto nella documentazione https://docs.mql4.com/ru/customind/IndicatorBuffers:

Così si scopre che se le proprietà vengono passate attraverso il buffer nella finestra del terminale, allora non si possono passare più di 8 oggetti grafici, in base alla documentazione. Ma ho visto prima gli indici, quasi arcobaleni, dove i colori e le linee superano l'8. Quindi, in qualche modo aggirano questa limitazione...

 
gyfto:

Intendi attraverso iCustom() nell'EA? Ho messo lo stesso blocco computazionale e questo è tutto. Se per qualche motivo non funziona (finora ho incontrato solo la ricorsione per serie temporali), è meglio formare il buffer dell'indicatore e chiamarlo attraverso iCustom().

No, voglio dire che deve essere tratto dall'indicatore e questo è tutto. Non voglio trasferirlo su un Expert Advisor. Mi serve per controllare visivamente alcuni momenti e niente di più.

gyfto:

Voglio dire che se una linea di tendenza è disegnata in un indicatore. Ma non importa se è in una sottofinestra, WindowOnDropped all'inizio sotto la bandiera, la bandiera viene omessa. Come questo:

Le linee di tendenza sono disegnate allo stesso modo.


Intendi far funzionare lo stesso induttore in un'altra finestra, specificando una finestra diversa, e quindi bypassare la restrizione?
 
hoz:


Ma ho già incontrato dei tacchini, quasi degli arcobaleni, dove i colori e le linee sono molto più di 8. Quindi in qualche modo aggirano questa restrizione...


Beh, in teoria, se i buffer degli indicatori aggiuntivi sono dichiarati da soli, e poi dalle linee di tendenza, allora funzionerà...
 
hoz:
Intendete eseguire lo stesso strumento in un'altra finestra, specificando una finestra diversa, e quindi bypassare la restrizione?

No, sto parlando di ObjectCreate(), il numero della finestra deve essere impostato lì. Ti ho mostrato come impostarlo se è una sottofinestra (cioè non zero, che è la finestra principale).
Motivazione: