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

 
Vitaly Muzichenko #:

Es kommt auf die sich überschneidende Reihenfolge an, die letzte an der Spitze

Zuerst Puffer mitDRAW_FILLING definieren

Überraschenderweise hat es funktioniert! Ich dachte, dieser Trick gelte nur für die Puffer eines Indikators, aber es stellt sich heraus, dass er für alle gleich ist.

Ich danke Ihnen!

 
Vitaly Muzichenko #:

Vielen Dank, ich werde es versuchen.

 
Kommentare, die sich nicht auf dieses Thema beziehen, wurden nach "Fragen von MQL4 MT4 MetaTrader 4 Anfängern" verschoben.
 

Optimierung:

"Alle Zecken" und"Jede Zecke auf der Grundlage echter Zecken" sind dasselbe? Was ist glaubwürdiger, wenn der Test schon seit 2012 läuft?


Im ersten Fall schreibt das Terminal "96% History Quality", im zweiten Fall "26% Real Ticks".

 
Ivan Butko #:

Optimierung:

"Alle Zecken" und"Jede Zecke auf der Grundlage echter Zecken" sind dasselbe? Was ist glaubwürdiger, wenn der Test schon seit 2012 läuft?


Im ersten Fall schreibt das Terminal "96% History Quality", im zweiten Fall "26% Real Ticks".

Lesen Sie die Protokolle - und Sie werden sehen, aus welchem Jahr die echten Zecken sind. In der Regel gibt es echte Zecken für die letzten drei Jahre.

 
Vladimir Karputov #:

Lesen Sie die Protokolle - und Sie werden sehen, seit welchem Jahr die echten Ticks laufen. Für die letzten drei Jahre gibt es in der Regel echte Zecken.

Verstehe, also sind die echten Ticks besser, auch wenn es 26 % gegenüber 96 % heißt. Die letzte Zahl sieht schöner aus)

Können Sie mir auch sagen, wie ich den letzten Tick in der Historie auswählen kann? Oder der letzte Handel. Ich muss wissen, wie er geschlossen wurde: bei Stopp oder nicht.

Ich versuche etwas, das nicht funktioniert.

    int Last_deal_ticket = 0;
    for(int cnt=PositionsTotal()-1;cnt>=0;cnt--)
      {
        if(PositionSelectByTicket(PositionGetTicket(cnt)))
        if(PositionGetSymbol(cnt)==Symbol() && PositionGetInteger(POSITION_MAGIC)==Magic_number)
        Last_deal_ticket=PositionSelectByTicket(PositionGetTicket(cnt));
      }
    // потом, когда закроется, будет висеть с этим тикетом в истории
    // обращаемся к истории
    HistorySelectByPosition(Last_deal_ticket);
    if (HistoryDealGetString(Last_deal_ticket, (ENUM_DEAL_PROPERTY_STRING)DEAL_REASON)==DEAL_REASON_SL......... )


 
Ivan Butko #:

Ich hab's, also sind die echten Ticks besser, auch wenn es 26% gegenüber 96% heißt. Die letzte Nummer sieht hübscher aus)

Nein, du verstehst es nicht.

1. Echte Zecken geben bei der Prüfung ein realistisches Bild ab.

2. Aber Sie müssen echte Ticks verwenden - Sie müssen in den Protokollen nachsehen, ab welchem Datum es echte Ticks gibt. Andernfalls gehen Sie in Ihrem Fall von 2012 bis (ungefähr 2018) auf "alle Ticks" und erst dann auf "jeden Tick auf der Grundlage echter Ticks".

3. Den Code RICHTIG einfügen: Erst die Schaltfläche Code und dann den Code in das Pop-up-Fenster einfügen!!!

 
Vladimir Karputov #:

Nein, du verstehst nicht.

1. Echte Tics geben ein wirkliches Bild, wenn sie getestet werden.

2. Aber Sie müssen echte Ticks verwenden - Sie müssen in den Protokollen nachsehen, ab welchem Datum es echte Ticks gibt. Andernfalls gehen Sie in Ihrem Fall von 2012 bis (ungefähr 2018) auf "alle Ticks" und erst dann auf "jeden Tick auf der Grundlage echter Ticks".

3. Fügen Sie den Code RICHTIG ein: ERST die Schaltfläche und dann den Code in das Popup einfügen!!!

Verstanden, danke

 
Ivan Butko #:


Können Sie mir sagen, wie ich das letzte Ticket in der Historie auswählen kann? Oder der letzte Handel. Ich muss wissen, wie sie geschlossen wurde: durch Anhalten oder nicht.

Ich versuche etwas, das ich nicht kann.

Ich habe mir den letzten Handel in der Historie geschnappt und versucht zu überprüfen, wie er abgeschlossen wurde

Print("Last deal close = ", HistoryDealGetInteger(Last_deal_ticket,DEAL_REASON)); 

Protokoll

Letzter Geschäftsabschluss = 3


Ich habe mir die Dokumentation angesehen und dort

Kennung

Beschreibung

DEAL_GRUND_KLIENT

Geschäft wurde aufgrund einer vom Desktop-Terminal ausgelösten Order ausgeführt

DEAL_GRUND_MOBIL

Das Geschäft wurde aufgrund eines ausgelösten Auftrags, der über die mobile Anwendung erteilt wurde, ausgeführt.

DEAL_GRUND_WEB

Das Geschäft wird aufgrund eines über die Webplattform erteilten Auftrags ausgeführt

DEAL_GRUND_EXPERTE

Der Handel wird als Ergebnis eines ausgelösten Auftrags aus dem MQL5-Programm - Expert Advisor oder Skript - ausgeführt.

DEAL_REASON_SL

Das Geschäft wurde aufgrund einer Stop-Loss-Order ausgeführt, die


Die ersten 5 Zeilen.

Ich verstehe nicht, was das bedeutet: Wenn wir von 1 an zählen, dann ist 3DEAL_REASON_WEB, was falsch ist. Wenn von Null, dannDEAL_REASON_EXPERT. Aber dann verstehe ich nicht, wie ich herausfinden kann, in welchem Handel der Stop Loss aufgetreten ist.

Bitte helfen Sie mir.

 
Ivan Butko #:

Scheint die letzte Transaktion in der Geschichte erfasst zu haben, versucht zu sehen, wie sie abgeschlossen wurde

Protokoll

Letztes_Geschäft_Ticket = 3


Ein Blick in die Dokumentation zeigt, dass

ID

Beschreibung

DEAL_GRUND_KLIENT

Das Geschäft wurde aufgrund eines ausgelösten Auftrags ausgeführt, der vom Desktop-Terminal aus erteilt wurde

DEAL_GRUND_MOBIL

Das Geschäft wurde aufgrund eines ausgelösten Auftrags, der über die mobile Anwendung erteilt wurde, ausgeführt.

DEAL_GRUND_WEB

Das Geschäft wird aufgrund eines über die Webplattform erteilten Auftrags ausgeführt

DEAL_GRUND_EXPERTE

Der Handel wird als Ergebnis eines ausgelösten Auftrags aus dem MQL5-Programm - Expert Advisor oder Skript - ausgeführt.

DEAL_REASON_SL

Das Geschäft wurde aufgrund einer Stop-Loss-Order ausgeführt, die


Die ersten 5 Zeilen.

Ich verstehe nicht, was das bedeutet: Wenn wir von 1 an zählen, dann ist 3DEAL_REASON_WEB, was falsch ist. Wenn von Null, dannDEAL_REASON_EXPERT. Aber dann verstehe ich nicht, wie ich herausfinden kann, in welchem Handel der Stop Loss aufgetreten ist.

Bitte helfen Sie mir.

Sie verwenden eine Aufzählung ENUM_DEAL_REASON. Sie müssen eine Aufzählung nicht mit beliebigen Ziffern vergleichen, sondern mit einer Aufzählung. Hier ist ein Beispiel, das auf den Handelsverlauf zugreift (allerdings in OnTradeTransaction) und das Auslösen von Stop Loss und Take Profit erkennt:

Beispiel: Verfolgung der Auslösung von Stop Loss oder Take Profit

How to start with MQL5
How to start with MQL5
  • 2020.09.17
  • www.mql5.com
This thread discusses MQL5 code examples. There will be examples of how to get data from indicators, how to program advisors...