Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 42

 

Artyom Trishkin:

...richtig, aber von der falschen Bar. Dies muss bekannt sein und berücksichtigt werden.

D. h., bei der Erfassung von Daten mit mehreren Zeitpunkten müssen Sie sich auf die Zeit verlassen und sie im richtigen Zeitrahmen auf die Taktnummer umrechnen.

Ich danke Ihnen für Ihre Klarstellung.

Wenn wir also den Indikator im EA wie folgt aufrufen

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

und den EA auf H1 laufen lassen, wird der Indikator nicht von H4 des ersten Balkens lesen.

Was werden die Indikatoren dann anzeigen, und wie kann man es richtig machen, um die richtigen Werte vom H4 zu erhalten?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


Werden die Werte des Indikators ab H4 korrekt sein?



 
mila.com:

Ich danke Ihnen für die Klarstellung.

Es stellt sich heraus, dass, wenn ich den Indikator in der EA wie folgt aufrufen

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

und den EA auf H1 laufen lassen, wird der Indikator nicht von H4 des ersten Balkens lesen.

Welche Indikatorwerte erhalte ich dann, und wie muss ich vorgehen, um korrekte Werte vom Senior TF zu erhalten?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


Werden die Werte des Indikators ab H4 korrekt sein?



Wenn Sie den Indikator so aufrufen, wie Sie es geschrieben haben:

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

werden die Daten des Indikators aus dem aktuellen Symbol, aus PERIOD_H4, aus dem vierten Puffer und aus dem ersten Balken des H4-Zeitrahmens bezogen.

Sie haben wohl missverstanden, was ich Ihnen gesagt habe.

Hier ist, was ich meine: wenn der EA auf M5 läuft und Sie Daten von Bar 1 auf M5 erhalten, dann, wenn Sie sehen wollen, was auf einem higherfthf geschieht, sagen wir von H1, dann, wenn Sie den Wert von der higherfthf H1 auch von Bar 1 erhalten, erhalten Sie nicht den aktuellen Wert, der jetzt auff H1 ist, aber der Wert, der zur letzten Stunde war. Denn Takt 1 auf M5 liegt innerhalb von Takt 0 auf H1.

Das ist es, was Sie berücksichtigen müssen, und das ist es, worüber ich gerade gesprochen habe.

 
Vitaly Muzichenko:

Ich meine das Protokoll im Prüfgerät

Hinzugefügt: Montieren Sie den Code in seinen normalen Zustand, überarbeiten Sie ihn, führen Sie ihn dann im Tester aus und lesen Sie die Fehler im Protokoll. Sie geben hier nur Bruchstücke von Code an.

Hier. Ich verstehe das mit den Kontrollen, aber ich verstehe nicht, woher sie kommen.

Dateien:
count.mq4  17 kb
 
Artyom Trishkin:

Das ist es, was Sie berücksichtigen müssen, und das ist es, worüber ich gesprochen habe.

Wenn ich den EA auf M 5 setze und den Indikatorwert von H1 ab dem ersten Balken abrufen möchte, ist dann die folgende Eingabe korrekt?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);
 
mila.com:

Wenn ich den Expert Advisor auf M 5 platziere und den Indikatorwert von H1, vom ersten Balken, abrufen möchte, ist dann die folgende Eingabe korrekt?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

Nein. Statt der 1:

datetime _time1 = iTime(Symbol(), PERIOD_H1, 1);
int      _n     = iBarShift(Symbol(), PERIOD_CURRENT, _time1);
// ваша формула
ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, _n), Digits);
Nur wenn Sie den EA auf dem Server oder bei sich selbst verwenden, aber keinen H1-Chart geöffnet haben, müssen Sie eine zusätzliche Prüfung vornehmen.
 

Oksana Berenko:

... aber Sie werden auch kein H1-Diagramm geöffnet haben, dann müssen Sie eine zusätzliche Prüfung vornehmen.

Ich danke Ihnen.

Ich habe ein M5-Diagramm geöffnet, und ich habe einen EA darauf, der den H1-Indikator aufruft, genau wie Sie geschrieben haben.

Welche weiteren Prüfungen brauche ich?

 
mila.com:

Wenn ich den Expert Advisor auf M 5 setze und den Indikatorwert von H1, vom ersten Balken, abrufen möchte, ist dann die folgende Eingabe korrekt?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

Richtig. Es hängt vom ersten Balken ab, aus welchem Zeitrahmen Sie Daten benötigen...

Sieht so aus, als hätten Sie immer noch nicht verstanden, was ich gesagt habe...

 
Hallo, könnten Sie mir bitte sagen, was sind die wichtigsten Unterschiede zwischen mt4 und mt5? Ich sehe keine großen Unterschiede.
 

Guten Tag ...

if (OrderType()==OP_SELL) CloseOpBuySell("BUY");

if (OrderType()==OP_BUY) CloseOpBuySell("SELL");

Hier ist die Bedingung, die ich brauche, um eine Verkaufsposition zu schließen, wenn ich eine Kaufposition eröffne und umgekehrt, wird es ausgelöst?

Ich interessiere mich nur für den linken Teil OrderType()==OP_SELL

die rechte Seite funktioniert, wenn dort ein beliebiges Signal eingefügt wird

Frage: "Wird diese Schließung funktionieren?

 
elektrik777:
Hallo, könnten Sie mir bitte sagen, was sind die wichtigsten Unterschiede zwischen mt4 und mt5? Ich sehe keine großen Unterschiede.
Die Unterschiede liegen in der Programmiersprache für EAs, Skripte und Indikatoren, alles andere ist gleich, außer dass MT5 an den Börsen handeln kann, MT4 nicht.