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

 
Vikon:

Hallo.

Ich versuche, auf fünf umzustellen, aber ich verstehe die Logik der Syntax immer noch nicht.

Wie konvertiert man double i= iHigh(Symbol(),0,1); von Indikator vier nach mql5,

Ich kann dazu noch keine Angaben machen.

Danke

double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);
 
pronych:
double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);

Nein, man kann es nicht wie bei mql4 machen, man kann keinen hohen Wert für den Alarm angeben.

double i= iHigh(Symbol(),0,1);

Warnung (i);

Und Sie bieten mir, wie ich es verstehe, ein Array von int-Balken mit Maximalwerten an.

Hier ist das Problem in meinem Verständnis, wie man diese beiden Zeichenfolgen, die klar zu jeder Ebene Programmierer sind, in mql5 übersetzen

 
Vikon:

Nein, man kann es nicht wie bei mql4 machen, man kann keinen hohen Wert für den Alarm angeben.

double i= iHigh(Symbol(),0,1);

Warnung (i);

Und Sie bieten mir, wie ich es verstehe, ein Array von int-Balken mit Maximalwerten an.

Das ist die Schwierigkeit, die ich sehe, wie man diese beiden Strings, die für jeden Programmierer verständlich sind, in mql5 übersetzt

Dies stammt aus der Hilfe
int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   int              start_pos,        // откуда начнем 
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

Alles richtig, was Sie geraten haben, aber wenn der Balken in der Meldung nicht Null ist, müssen Sie 2 Puffer kopieren (oder wie viele Sie anwenden müssen).

double i[];
ArraySetAsSeries(i,true); // массив как таймсерия
CopyHigh(Symbol(),PERIOD_CURRENT,0,2,i);
Alert(i[1]);
 
lewvik:
Dies stammt aus der Hilfe

Alle richtig beraten Sie, nur wenn die Bar auf den Alarm ist nicht Null müssen Sie 2 Puffer (oder wie viele Sie anwenden müssen) zu kopieren

Es funktioniert gut. Danke

 

Hallo!

Frage zu Indikatoren, hier möchte ich einen MACD-Indikator schreiben, der vier MACD-Zeitrahmen auf beliebigen Zeitrahmen verwenden wird. Dazu verwende ich das MACD-Indikator-Handle, das in OnInit und in Start die Array-Kopier- und Sequenzierungsfunktionen enthält.

Meine Fragen lauten also:

Wie viele Griffe sollte ich angeben, vier (für jeden Zeitraum) oder einen.

Wenn ja, welche Möglichkeit gibt es, die Parameter während der Codeausführung für vier Zeiträume zu ändern?

Vielleicht kann ein Handle in eine Funktion umgewandelt und im Code für die angegebenen Zeiträume aufgerufen werden

 
Ich frage mich, ob es irgendwo einen Artikel wie "die häufigsten Gründe für EA Langsamkeit" gibt? Ich versuche zu verstehen, warum der EA im Testgerät am Anfang einfach fliegt, aber je weiter er geht, desto langsamer wird er. Die Entwicklung ist noch nicht so weit fortgeschritten, dass dies von entscheidender Bedeutung wäre (die Geschwindigkeit reicht für die Entwicklung der grundlegenden Mechanismen und Werkzeuge aus). Aber es ist immer noch unangenehm, dass es keinen Sinn macht, mehr als eine Woche zu brauchen, weil die Geschwindigkeit danach gegen Null tendiert.
 
Lone_Irbis:
Ich frage mich, ob es irgendwo einen Artikel wie "die häufigsten Gründe für EA Langsamkeit" gibt? Ich versuche zu verstehen, warum der EA im Testgerät am Anfang einfach fliegt, aber je weiter er geht, desto langsamer wird er. Die Entwicklung ist noch nicht so weit fortgeschritten, dass dies von entscheidender Bedeutung wäre (die Geschwindigkeit reicht für die Entwicklung der grundlegenden Mechanismen und Werkzeuge aus). Aber es ist immer noch unpraktisch, dass es keinen Sinn macht, Abschnitte länger als eine Woche zu nehmen, denn danach tendiert die Geschwindigkeit bereits gegen Null.
Höchstwahrscheinlich verwendet Indikatoren mit Berechnung der gesamten Geschichte, die bis zum Ende des Tests erhöht.
 
Lone_Irbis:
Ich frage mich, ob es irgendwo einen Artikel wie "die häufigsten Gründe für EA Langsamkeit" gibt? Ich versuche zu verstehen, warum der EA im Testgerät am Anfang einfach fliegt, aber je weiter er geht, desto langsamer wird er. Die Entwicklung ist noch nicht so weit fortgeschritten, dass dies von entscheidender Bedeutung wäre (die Geschwindigkeit reicht für die Entwicklung der grundlegenden Mechanismen und Werkzeuge aus). Aber es ist immer noch unpraktisch, dass es keinen Sinn macht, Abschnitte länger als eine Woche zu nehmen, denn danach tendiert die Geschwindigkeit bereits gegen Null.
Als Alternative: Teilen Sie den Testzeitraum in zwei Teile und führen Sie ihn separat im Tester durch. Auf diese Weise können wir feststellen, ob für den angegebenen Zeitraum gerade weniger Signale am Eingang ankommen.
 
zfs:
Höchstwahrscheinlich verwendet Indikatoren mit Berechnung der gesamten Geschichte, die bis zum Ende des Tests erhöht.

Bislang werden keine externen Indikatoren verwendet. Aber sie führt eine ganze Reihe von Berechnungen auf der Grundlage der Geschichte durch, ja. Es scheint jedoch eine Begrenzung der maximalen Anzahl der analysierten Kerzen zu geben, und wenn dies der Grund dafür ist, ist nicht klar, warum es sich allmählich verlangsamt, anstatt sich von Anfang an zu verlangsamen (es scheint, dass das Intervall immer vom gegenwärtigen Zeitpunkt an genommen wird).

 
Lone_Irbis:

Bislang werden keine externen Indikatoren verwendet. Aber sie führt eine ganze Reihe von Berechnungen auf der Grundlage der Geschichte durch, ja. Allerdings scheint es eine Begrenzung für die maximale Anzahl der analysierten Kerzen zu geben, und wenn das der Grund ist, ist nicht klar, warum sie sich allmählich verlangsamt, anstatt von Anfang an langsamer zu werden (es scheint, dass das Segment immer vom gegenwärtigen Zeitpunkt an genommen wird).

Und "eine ganze Reihe von Berechnungen auf der Grundlage der Geschichte" ergeben eine dynamische Anordnung?
Grund der Beschwerde: