Fehler, Irrtümer, Fragen - Seite 1396

 
Ilya Malev:
Ich habe MathRand in das Beispiel eingebaut, um zu zeigen, wie die Skala funktioniert. Im Original hatte ich die Berechnung der numerischen Niveaus dort unter Verwendung der Methodik eines Autors eines Händlers. Am Anfang wollten wir sie von 1 bis 5 machen, aber selbst MT4 schaffte es nicht, eine angemessene Skalierung zu erreichen, selbst mit solchen Werten im Puffer mit DRAW_NONE. Nachdem wir sie negativ gemacht und das Minimum auf 0 festgelegt hatten, war das Problem gelöst. Bei der Portierung des Indikators auf MT5 stellte sich heraus, dass auch diese Lösung nicht funktionieren würde. Ich musste mit Punkt multiplizieren, wie Voldemar sagte.

Übrigens, das habe ich ganz vergessen. ))

Versuchen Sie es so:

   SetIndexBuffer(0,buffer1,INDICATOR_DATA);
   SetIndexBuffer(1,buffer2,INDICATOR_CALCULATIONS);

INDIKATOR_BERECHNUNGEN >>>

 
Karputov Vladimir:
Ihr Beispiel ist schief und Sie wollen es nicht korrigieren. Ich werde es überprüfen, wenn Sie es reparieren.

Ich würde es reparieren, wenn es sich um einen Code für den tatsächlichen Gebrauch handeln würde. Dieser Code wurde jedoch nur erstellt, um das Problem zu demonstrieren, was ihm auch gelungen ist. Es ist Zeitverschwendung, sie zu säubern, denn das Ergebnis wird dadurch nicht beeinträchtigt.

 
Anatoli Kazharski:

Übrigens, das habe ich ganz vergessen. ))

Versuchen Sie es so:

Versucht sowohl mit indicator_plots=1 als auch mitINDICATOR_CALCULATIONS

der zweite Pufferwert verschwindet einfach aus dem Datenfenster, unabhängig von PlotIndexSetInteger(1, PLOT_SHOW_DATA, true);

 
Anatoli Kazharski:

Sie können versuchen, den Fehler an servicedesk zu melden und dort auf eine Antwort zu warten.

Ich habe dies getan. Wenn sie antworten, werde ich es Sie wissen lassen.) Ich bezweifle aber, dass es ein Fehler ist. So werden Sie es herausfinden.
 
Ilya Malev:

Ich habe beides ausprobiert mit indicator_plots=1 undINDICATOR_CALCULATIONS

verschwinden die Messwerte des zweiten Puffers einfach aus dem Datenfenster, unabhängig von der Angabe von PlotIndexSetInteger(1, PLOT_SHOW_DATA, true);

Aber das Skalierungsproblem wird auf diese Weise gelöst. Sie können also eine Anfrage an servicedesk stellen, die lediglich die Möglichkeit bietet, solche Puffer im Datenfenster anzuzeigen.

Sie können auch versuchen, es so zu machen:

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int    id,      // идентификатор события
                  const long   &lparam, // параметр события типа long
                  const double &dparam, // параметр события типа double
                  const string &sparam) // параметр события типа string
  {
   if(id==CHARTEVENT_MOUSE_MOVE)
     {
      int      subwin =WRONG_VALUE; // Номер окна, в котором находится курсор
      datetime time   =NULL;        // Время соответствующее координате X
      double   level  =0.0;         // Уровень (цена) соответствующий координате Y
      //---
      if(ChartXYToTimePrice(0,(int)lparam,int(dparam),subwin,time,level))
        {
         int bars_total=Bars(Symbol(),Period(),time,TimeCurrent());
         //---
         Comment("x: ",lparam,"; y: ",(int)dparam,"; subwin: ",subwin,"; time: ",time,"; level: ",level,"\n",
                 "indicator value: ",buffer2[bars_total]);
        }
     }
  }

//---

In OnInit() müssen Sie hinzufügen:

void OnInit()
  {
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,true);
  }
 
Anatoli Kazharski:

Sie können also eine Anfrage an servicedesk stellen, um einfach die Möglichkeit zu schaffen, solche Puffer im Datenfenster anzuzeigen.

Ich habe gerade das Problem beschrieben, die Logik der DRAW_NONE-Pufferwerte unterscheidet sich per Definition von der Logik der gerenderten Werte, es sind keine grafischen Werte, und daher ist eine Skalierung mit ihnen im Hinterkopf nicht logisch. Wie sie das Problem lösen wollen, oder ob sie es so lassen wollen, wie es ist, geht mich nichts an.

 
Ilya Malev:

Ich habe gerade das Problem beschrieben, die Logik der DRAW_NONE-Pufferwerte unterscheidet sich per Definition von der Logik der gerenderten Werte, sie sind keine grafischen Werte und daher ist eine Skalierung mit ihnen im Hinterkopf nicht logisch. Und wie sie dieses Problem lösen wollen oder ob sie es so lassen wollen, wie es ist, geht mich nichts an.

Ist die Option im vorherigen Beitrag nicht angemessen? Nur für den Fall, dass alles so bleibt, wie es ist. )

Dateien:
Test.mq5  4 kb
 
Anatoli Kazharski:

Ist die Option im vorherigen Beitrag nicht angemessen? Nur für den Fall, dass die Dinge so bleiben, wie sie sind. )

Natürlich danke für den Ratschlag, wenn ich mir eine Art Krücke ausdenken wollte, würde ich mir auch etwas ausdenken, aber zunächst einmal sind wir damit zufrieden, die Werte im Datenfenster zu betrachten. Zweitens sollten wir diesen Indikator Pufferwert in anderen Indikatoren und Expert Advisors verwenden, und etwas sagt mir, dass, wenn wir einen Puffer für Berechnungen zu machen, wird es unmöglich sein, seine Werte durch iCustom zu bekommen.

Daher haben wir das Problem gelöst, indem wir den zweiten Pufferwert mit Punkt multipliziert haben

 
Ilya Malev:

Ich habe gerade das Problem beschrieben, die Logik der DRAW_NONE-Pufferwerte unterscheidet sich per Definition von der Logik der gerenderten Werte, sie sind keine grafischen Werte und daher ist eine Skalierung mit ihnen im Hinterkopf nicht logisch. Wie sie dieses Problem lösen wollen oder ob sie es so lassen wollen, wie es ist, geht mich nichts an.

Es hängt alles davon ab, wo die Werte angezeigt werden sollen. Wenn Sie die Anzeige auf ein separates Fenster einstellen, macht es nichts, wenn die berechneten Pufferwerte nicht sichtbar sind. Alle Werte werden weiterhin in dieses Fenster fallen. Infolgedessen kann die Waage ausfallen.

Nicht logisch - da stimme ich zu, aber es ist unwahrscheinlich, dass dies behoben wird.

 
Ilya Malev:

Natürlich danke für den Rat, wenn ich eine Krücke machen wollte, würde ich mir auch etwas einfallen lassen, aber zunächst einmal sind wir bequem und schauen uns die Werte im Datenfenster an. Und zweitens müssen wir diesen Indikator Puffer Wert in anderen Indikatoren und Expert Advisors zu verwenden, und etwas sagt mir, dass, wenn wir einen Puffer für Berechnungen zu machen, wird es unmöglich sein, seine Werte durch iCustom bekommen.

Probieren Sie es aus. Es ist möglich, die Werte aus dem Farbpuffer zu ziehen. Es ist also auch möglich, sie aus dem Berechnungspuffer zu entfernen. Immerhin hat sie einen Index, d.h. es ist theoretisch möglich, auf sie zu verweisen.