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

 
Tapochun:
Es hängt alles von der Logik des Indikators ab. Am häufigsten - ja, in der Funktion OnCalculate().
DieFunktion "OnCalculate()" wird nur in benutzerdefinierten Indikatoren aufgerufen, wenn es notwendig ist, die Indikatorwerte durch das Ereignis"Calculate" zuberechnen. Dies geschieht in der Regel, wenn ein neuer Tick für ein Symbol eintrifft" - wie kann man dann die Berechnung nur einmal beim Auftauchen einer Kerze laufen lassen. In mql4 gab es eine Art Überprüfung.
 
first_may:
DieFunktion "OnCalculate()" wird nur in benutzerdefinierten Indikatoren aufgerufen, wenn es notwendig ist, die Indikatorwerte durch das Ereignis"Calculate" zuberechnen. Dies geschieht in der Regel, wenn ein neuer Tick vom Symbol empfangen wird" - wie kann man also die Berechnung nur einmal beim Erscheinen einer Kerze laufen lassen. In mql4 gibt es eine Prüfung.
Der einfachste Weg, wenn nicht der erste Tick (prev_calculated != 0) und rates_total > prev_calculated.
 
Tapochun:
Am einfachsten, wenn es nicht der erste Tick ist (prev_calculated != 0) und rates_total > prev_calculated.
Ja :). Vielleicht sollte ich ein Beispiel dafür finden, wie sich zwei exponentiell gleitende Durchschnitte kreuzen (das habe ich irgendwo gesehen) und es wiederholen.
 
first_may:
Ja :). Vielleicht sollte ich ein Beispiel finden, bei dem sich zwei exponentiell gleitende Durchschnitte kreuzen (das habe ich irgendwo gesehen) und es wiederholen.
Wenn Sie anfangen, ist es immer besser, mit Beispielen zu arbeiten! Separate Codezeilen werden Ihnen kaum helfen. Viel Glück!
 

Wie kann ich das Abschlussereignis des aktuellen Ticks abfangen? Es gibt keine Standardmittel? D.h. wenn Sie einen Handel eröffnen, müssen Sie etwas schreiben wie: und dann bei jedem Tick prüfen:

//Инициализация
int totalOrders=0;
...
//Открытие новой сделки
int ticket = OrderSend(....)
if(ticket > 0)
    totalOrders++;

und überprüfen Sie dann jedes Häkchen:

if(totalOrders != OrdersTotal())
    //Обработка события закрытия сделки
 
gammaray:

Wie kann ich das Abschlussereignis des aktuellen Ticks abfangen? Es gibt keine Standardmittel? D.h. wenn Sie einen Handel eröffnen, müssen Sie etwas schreiben wie:und dann bei jedem Tick prüfen:

und überprüfen Sie dann jedes Häkchen:

Sie müssen die Anzahl der überwachten Positionen des vorherigen Ticks mit der Anzahl des aktuellen Ticks vergleichen. Wenn der aktuelle Tick weniger geworden ist - speichern wir den aktuellen Wert der verfolgten Positionen als "Vergangenheit" und verarbeiten die Tatsache der Schließung.
 
gammaray:

Wie kann ich das Abschlussereignis des aktuellen Ticks abfangen? Es gibt keine Standardmittel? D.h. wenn Sie einen Handel eröffnen, müssen Sie etwas schreiben wie:und dann bei jedem Tick prüfen:

und überprüfen Sie dann jedes Häkchen:

Ich kann nichts verstehen. Welchen Wert wollen Sie erreichen?

Ich lese das, was Sie geschrieben haben, folgendermaßen

{

Eröffnung einer Bestellung;

Wenn der Auftrag geöffnet wird, dann

GesamtBestellung = GesamtBestellung+1;

}

) standardmäßig totalOrder = 0, aber nach jeder Eröffnung einer Order wird der Wert erhöht, nach 10 Eröffnungen (der Wert wird genau 10 sein) der Zähler aller jemals eröffneten Positionen (keine Prüfung nach Typ, nach Magik und nach Symbol = es werden absolut alle offenen Orders addiert)

Und die nächste Bedingung sieht so aus

wenn TotalOrder nicht gleichOrdersTotal ist{}

 
Guten Tag an alle! Ich wende mich an die Wissenden. Ich benötige einen einfachen EA, dessen Aufgabe es ist, die Stops für ausgelöste Orders bei LOW oder HIGH Candlesticks in jeder Periode des TF zu ändern. Ich habe leider selbst einen Tisch. Ich weiß nicht, ob sie bereits dort platziert wurde. Ich habe es nicht gefunden. Was war es - mit Zusätzen, die alles durcheinander bringen.

 
mefos:
Guten Tag an alle! Ich wende mich an die Wissenden. Ich benötige einen einfachen EA, dessen Aufgabe es ist, die Stops für ausgelöste Orders bei LOW oder HIGH Candlesticks in jeder Periode des TFs zu ändern. Ich habe leider selbst einen Tisch. Ich weiß nicht, ob sie bereits dort platziert wurde. Ich habe es nicht gefunden. Was war es - mit Zusätzen, die alles durcheinander bringen.

Das ist für dich, lieber Junge, zum Bestellschalter. Hier wird nur beraten und bei Codeproblemen geholfen.
 
Ivan Vorontsov:
Es liegt an dir, Kumpel, zum Bestellschalter zu gehen. Sie geben hier nur Ratschläge und helfen bei Codeproblemen.
+++
Grund der Beschwerde: