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

 
YanSay:

Etwa so?

Ich würde so radeln:

for(int i=OrdersTotal()-1; i>WRONG_VALUE; i--)

Ich bin an Postdekrement/Postinkrement gewöhnt - es macht für mich Sinn, im Gegensatz zu Präfixinkrement/Dekrement, da (laut Hilfe) Präfixinkrement (++i) und Dekrement (--k) auf eine Variable angewendet werden, kurz bevor diese Variable in einem Ausdruck verwendet wird.

Ihr Vergleich hingegen ist überhaupt nicht korrekt:

if(NormalizeDouble((Ask-OrderStopLoss()>Trailing*Point),Digits))

Hier normalisieren Sie einen booleschen Wert - das Ergebnis des Vergleichs zweier Werte - der Wert des Ask-OrderStopLoss()-Ausdrucks wird mit dem Wert des Trailing*Point-Ausdrucks verglichen und dann normalisieren Sie das Ergebnis dieses Vergleichs.

Das Vergleichsergebnis kann nur falsch (0) oder wahr (ungleich Null) sein. Es ist also diese Null oder Nicht-Null, die Sie normalisieren werden.

Auf diese Weise sollten Sie den Vergleich durchführen:

if(NormalizeDouble((Ask-OrderStopLoss())-Trailing*Point,Digits)>DBL_EPSILON)
  {
   // Ask-OrderStopLoss() больше Trailing*Point
  }
 
Juer:
Was bedeutet es, dass ein Fehler vorliegt?


Ich habe eine Funktion mit zwei Objekten:

Eine der Klassen hat eine Struktur mit mehr als 4000 Feldern (hauptsächlich Enums).

Was ist bei diesem Fehler zu tun?

bool              CheckCandleOneRules(CCandlePropertiesBase *candle,
                                      CCandleRule *rule,
                                      int dir);

Hier ist die Größe der lokalen Variablen zur Kompilierungszeit zu groß (mehr als 512kb).

Worauf ist zu achten und was ist zu tun? Die Funktion hat ein String-Array CArrayString, ich vermute, der Fehler kann damit zusammenhängen.

Ich fülle sie mit der Methode Add() und führe dann Clear() und Shutdown() erneut aus. Und dann fülle ich sie wieder mit neuen Daten mit der Methode Add(). Wird das Array in diesem Fall wieder ab dem Nullelement gefüllt?

 

Woher kenne ich in der Geschichte die längste Folge von aufeinanderfolgenden, multidirektionalen Kerzen?

Zum Beispiel: der erste ist bärisch, der zweite ist bullisch, der dritte ist bärisch usw. Ich nehme an, wir brauchen eine Schleife und eine Variable, um die Anzahl solcher Kerzen zu erfassen, aber ich weiß nicht, wie die Schleife aussehen soll und wie man sie unter welcher Bedingung beendet.

 
PolarSeaman:

Woher kenne ich in der Geschichte die längste Folge von aufeinanderfolgenden, multidirektionalen Kerzen?

Zum Beispiel: der erste ist bärisch, der zweite ist bullisch, der dritte ist bärisch usw. Ich nehme an, wir brauchen eine Schleife und eine Variable zur Aufzeichnung der Anzahl solcher Kerzen, aber ich weiß nicht, wie die Schleife aussehen soll und wie man sie beendet, durch welche Bedingung.

Ich weiß nicht, welche Art von Schleife verwendet werden sollte, um sie zu beenden.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 
Alexey Viktorov:

CopyRates und Schleife über ein Array von MqlRates-Strukturen.

Danke, eine Schleife auf einem Array, wie? und wann zu beenden, es?

 
PolarSeaman:

Vielen Dank, die Array-Schleife, wie? und wann sie zu verlassen?

Dasselbe wie bei der Liste der Aufträge. Sie sollten nur auf die Richtung der Indizierung im Array achten. Und wann man aussteigt... Wenn sie nur einmal und unter den letzten Takten durchgeführt werden soll, sollte sie beendet werden, sobald die Sequenz unterbrochen wird. Wenn es sich um einen Indikator handelt, beenden Sie ihn, wenn die Reihe zu Ende ist.
 
PolarSeaman:

Woher kenne ich in der Geschichte die längste Folge von aufeinanderfolgenden, multidirektionalen Kerzen?

Zum Beispiel: Der erste ist bärisch, der zweite ist bullisch, der dritte ist bärisch usw. Ich nehme an, dass wir eine Schleife und eine Variable für die Aufzeichnung der Anzahl solcher Candlesticks brauchen, aber ich weiß nicht, wie die Schleife aussehen soll und wie man sie unter welcher Bedingung beendet.

Ich weiß nicht, welche Art von Zyklus es sein sollte, aber ich weiß nicht, in welchem Zustand ich ihn beenden sollte.

 
Alexey Viktorov:
und kommen wieder heraus, sobald die Sequenz unterbrochen wird.

Wie kann ich diese Sequenz überhaupt aufzeichnen?

 
Vitaly Muzichenko:

Und woher kommt die maximale Konsistenz, ab wann wurde Forex erstellt?

Es wäre toll) Aber der Makler Geschichte ist begrenzt, suchen Sie durch alle verfügbaren. oder für das vergangene Jahr dh seit 15. 04. 17

 
PolarSeaman:

Wie soll diese Abfolge im Allgemeinen aufgeschrieben werden?

Wie man es schreibt, antwortete Alexey. Es wäre toll, wenn er den Code so schreiben könnte, wie er ihn sieht, wenn er Zeit und Lust hat).

Ich sehe die Umsetzung durch die Fahne, aber sie erscheint mir so falsch, dass ich es gar nicht erst versuchen möchte.

PS. Übrigens, ist es ein Indikator oder ein EA?
Grund der Beschwerde: