Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 195

 
barabashkakvn:

Schauen Sie sich noch einmal den Indikatorcode aus der Hilfe https://www.mql5.com/ru/docs/indicators/ima an. Beachten Sie die Zeilen in OnInit():

Dadurch wird der Indikatorgriff für die Periode - "Periode" - erstellt.

Ich habe den Fehler in der Array-Größe gefunden, es war mein Hauptfehler aus dem ursprünglichen Code. Ich kann nicht verstehen, warum sich das Terminaldiagramm unangemessen verhält (verschwimmt, wird aktualisiert, verschiebt sich, usw.). Ich danke Ihnen.
Dateien:
macd2.mq5  4 kb
 
Hallo. Was sind die Vorteile vonIndicatorCreate() undiCustom() und welche ist besser zu verwenden? Dankeschön
 

Guten Tag.

Ich versuche, den letzten Wert eines Fraktals zu ermitteln:

Handle[Number]=iFractals(Symbol_,0);

CopyBuffer(Handle[Number],UPPER_LINE,4,100,Upper)

upenv[Zahl]=Upper[0];


aber manchmal erhalte ich eine seltsame Zahl upenv[Number]=1.797693134862316e+308

Wäre diese Zahl 0, würde das Problem folgendermaßen gelöst werden

if(upenv[Number]=Upper[0] && Upper[0]!=0)

upenv[Zahl]=Upper[0];

Wo liegt mein Fehler? Was mache ich falsch? Wie kann ich den letzten Wert des Fraktals ermitteln, bevor er sich ändert?

 
Vikon:
barabashkakvn:

Schauen Sie sich noch einmal den Indikatorcode von https://www.mql5.com/ru/docs/indicators/ima an. Beachten Sie die Zeilen in OnInit():

Hier wird derIndikator-Handle für die Periodeerstellt- "Periode".

Ich habe Fehler in der Array-Größe gefunden, es war mein Hauptfehler aus dem ursprünglichen Code. Ich kann nicht verstehen, warum sich das Terminaldiagramm unangemessen verhält (verschwimmt, wird aktualisiert, verschiebt sich, usw.). Danke.

Sie haben bei jedem Tick ein Indikator-Handle erstellt (d. h. in der Funktion OnCalculate()). Dies ist nicht korrekt. Der Indikator-Handle sollte in OnInit() erstellt werden.

 
barabashkakvn:

Alle gefundenen Fehler in Array-Größe, das war mein Hauptfehler im ursprünglichen Code. Aber warum verhält sich die Terminalkarte unzureichend (blinkt, aktualisiert, verschiebt sich usw.)? Danke.

Sie haben bei jedem Tick ein Indikator-Handle erstellt (d. h. in der Funktion OnCalculate()). Dies ist nicht korrekt. Der Indikator-Handle muss in OnInit() erstellt werden.

Und wenn ich MACD-Werte in einem Indikator benötige (M1;M5;M15;H1;H4;D1;W1), muss ich dann für jede Periode ein Handle erstellen?
 
Vikon:
Und wenn ich MACD-Werte in einem Indikator benötige (M1;M5;M15;H1;H4;D1;W1), muss ich dann für jede Periode ein Handle erstellen?
Ja, machen Sie so viele Indikator-Handles wie Sie brauchen in OnInit.
 
paladin800:
Ja, machen Sie so viele Indikator-Handles wie nötig in OnInit.
Es liegt nicht am Handle, das kann ich noch nicht herausfinden, der Code funktioniert nämlich korrekt, die Datenausgabe ist vergleichsweise korrekt. Aber der Computer hebt ab, das Terminal springt, was soll's.
 
barabashkakvn:

Alle gefundenen Fehler in Array-Größe, das war mein Hauptfehler im ursprünglichen Code. Aber warum verhält sich die Terminalkarte unzureichend (blinkt, aktualisiert, verschiebt sich usw.)? Danke.

Sie haben bei jedem Tick ein Indikator-Handle erstellt (d. h. in der Funktion OnCalculate()). Dies ist nicht korrekt. Der Indikator-Handle muss in OnInit() erstellt werden.

Es ist wahrscheinlicher, dass Sie auf einem Diagramm mit M15 D1-Daten verwenden, oder ich irre mich.
 
Hallo, vielleicht wird jemand Zeit haben, an meinem izvoyanie aussehen, wo ist mein Hauptfehler oder ist es ein Fehler der Entwickler.
Dateien:
macd2.mq5  7 kb
 
Vikon:
Es ist wahrscheinlicher, dass das M15-Diagramm D1-Daten verwendet, oder ich liege falsch.

Sie erstellen ein Indikator-Handle bei jedem Tick (d.h. in OnCalculate()). Dies ist falsch. Der Indikator-Handle sollte in OnInit() erstellt werden. Für das M15-Diagramm können Sie die Daten von D1 verwenden. In diesem Fall können die Daten jedoch unvollständig sein - siehe "Organisation des Datenzugriffs" https://www.mql5.com/ru/docs/series/timeseries_access.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5
Grund der Beschwerde: