[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 423

 
hoz:

Wenn jeder Puffer (jede Zeile) seine eigenen Parameter hat (Farbe, Dicke usw.), wie werden diese Parameter dann auf jede Zeile übertragen?
Es ist möglich, einzelne Eigenschaften für jede Zeile zu übergeben, aber ist das bei so vielen Zeilen notwendig? Es soll eine Eigenschaft für alle Linien geben.
 
Zhunko:
Es ist möglich, einzelne Leitungseigenschaften zu übertragen, aber ist das bei so vielen Leitungen notwendig? Wir wollen eine Eigenschaft für alle Linien haben.


Das heißt, ich verstehe das richtig. Wenn einige Zeilen die gleichen Eigenschaften haben und es gibt 8 Eigenschaften für alle Merkmale, dann können Sie sie alle in einem Index unterbringen, aber wenn es mehr als 8 Eigenschaften gibt, dann geht das nicht?
 
hoz:

Mein Verständnis ist also richtig. Wenn einige Zeilen die gleichen Eigenschaften haben und es 8 Eigenschaften für alle Attribute gibt, dann kann man sie in einen Indikator einbauen, aber wenn es mehr als 8 Eigenschaften gibt, dann geht das nicht?
Es kann eine beliebige Anzahl von Immobilien übertragen werden.
 
Zhunko:
Es kann eine beliebige Anzahl von Immobilien übertragen werden.


Eigenschaften werden jedoch an einen Puffer gebunden, wenn sie für die visuelle Darstellung eines grafischen Objekts benötigt werden. Es ist also nicht möglich, die Anzahl der Objekte über 8 hinaus zu erhöhen. Ist dies richtig?
 
hoz:

Eigenschaften sind jedoch an einen Puffer gebunden, wenn Sie sie für die visuelle Darstellung eines grafischen Objekts benötigen. Es ist also nicht möglich, die Anzahl der Objekte über 8 hinaus zu erhöhen. Ist das richtig?

Ich glaube, ich verstehe die Frage nicht.

Meinen Sie, dass die Anzahl der Linieneigenschaften nur 8 beträgt?

 
hoz:

Wenn jeder Puffer (jede Zeile) seine eigenen Parameter hat (Farbe, Dicke usw.), wie werden diese Parameter dann an jede Zeile weitergegeben?

Meinen Sie durch iCustom() in den EA? Ich habe dort den gleichen Berechnungsblock eingesetzt, und das ist alles. Wenn es aus irgendeinem Grund nicht funktioniert (bisher bin ich nur auf Rekursion durch Zeitreihen gestoßen), ist es besser, einen Indikatorpuffer zu erstellen und ihn über iCustom() aufzurufen.


Ich meine, wenn der Indikator mit Trendlinien gezeichnet ist. Aber es spielt keine Rolle, wenn es in einem Unterfenster ist, WindowOnDropped beim Start unter dem Flag, wird das Flag weggelassen. Zum Beispiel so:

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

Die Trends werden auf dieselbe Weise gezeichnet.

 
Zhunko:

Ich glaube, ich verstehe die Frage nicht.

Meinen Sie, dass die Anzahl der Linieneigenschaften nur 8 beträgt?


Nein. Sie haben es selbst gesagt:

Zhunko:
Es kann eine beliebige Anzahl von Immobilien übertragen werden.


Aber Sie meinen nicht nur Immobilien in ihrer Gesamtheit. Aber zu jeder angezeigten Linie oder jedem Objekt einer anderen Grafik. Sie ist in der Dokumentation https://docs.mql4.com/ru/customind/IndicatorBuffers beschrieben :

Wenn also die Eigenschaften über den Puffer im Terminalfenster übergeben werden, können laut Dokumentation nicht mehr als 8 grafische Objekte übergeben werden. Aber ich habe schon Indizes gesehen, fast Regenbögen, bei denen Farben und Linien über 8 liegen. Sie umgehen also irgendwie diese Einschränkung...

 
gyfto:

Meinen Sie durch iCustom() in den EA? Ich habe dort den gleichen Rechenblock eingesetzt, und das ist alles. Wenn es aus irgendeinem Grund nicht funktioniert (bisher bin ich nur auf die Rekursion durch Zeitreihen gestoßen), ist es besser, den Indikatorpuffer zu bilden und ihn über iCustom() aufzurufen.

Nein, ich meine, es muss aus dem Indikator gezogen werden und das ist alles. Ich möchte sie nicht auf einen Expert Advisor übertragen. Ich brauche es, um einige Momente visuell zu kontrollieren, mehr nicht.

gyfto:

Ich meine, wenn in einem Indikator eine Trendlinie eingezeichnet ist. Aber es spielt keine Rolle, wenn es in einem Unterfenster, WindowOnDropped in den Start unter dem Flag ist, wird das Flag weggelassen. Zum Beispiel so:

Die Trendlinien werden auf die gleiche Weise gezeichnet.


Meinen Sie damit, dass man denselben Induktor in einem anderen Fenster betreiben kann, indem man ein anderes Fenster angibt, und so die Beschränkung umgeht?
 
hoz:


Aber ich habe schon Truthähne gesehen, fast Regenbögen, wo die Farben und Linien viel mehr als 8 sind. Sie umgehen also irgendwie diese Einschränkung...


Nun, in der Idee, wenn zusätzliche Indikatorpuffer durch sich selbst deklariert werden, und weiter durch Trendlinien, dann wird es funktionieren...
 
hoz:
Meinen Sie, dass Sie dasselbe Tool in einem anderen Fenster ausführen können, indem Sie ein anderes Fenster angeben und so die Einschränkung umgehen?

Nein, ich spreche von ObjectCreate(), die Fensternummer muss dort gesetzt werden. Ich habe Ihnen gezeigt, wie Sie es einstellen, wenn es sich um ein Unterfenster handelt (d.h. nicht um das Hauptfenster Null).