Bibliotheken: MT4Orders - Seite 94

 
hini #:
Ich verstehe die Frage, aber ich möchte klären: ist es möglich, nur eine Liste ähnlich der Positionshistorie in MT5 zu erhalten, ohne ins Detail zu gehen?
 
fxsaber #:
Ich habe dies ausprobiert und es ist nicht dasselbe wie die Liste der historischen Positionen in MT5. Obwohl die beiden closeby's verschmolzen, das Volumen ist immer noch kurz von 0,01 Lose.
 
hini #:
Die Menge ist immer noch nicht ausreichend für 0,01 Lose.
Liefern Sie einen Beweis für den Fehler. Ich empfehle Ihnen, ein Demokonto auf MT4 zu eröffnen und zu versuchen, dort die gleichen Handelsoperationen durchzuführen.
 
fxsaber # :
Liefern Sie einen Nachweis für den Fehler. Ich empfehle Ihnen, ein Demokonto auf MT4 zu eröffnen und zu versuchen, dort die gleichen Handelsoperationen durchzuführen.
Ich habe es, es ist in der Tat identisch mit MT4.
 
hini #:
Ist es möglich, einfach eine Liste ähnlich der Positionshistorie im MT5 zu erhalten?
Durch Schnappschüsse.
#define  MT4ORDERS_BYPASS_MAXTIME 1000000 // Maximale Wartezeit (in µs) für die Synchronisierung der Handelsumgebung
#include <MT4Orders.mqh> // https://www.mql5.com/de/code/16006

#define  VIRTUAL_SNAPSHOT_REFRESHTIME 1000 // Snapshot-Lebensdauer für die Aktualisierung. In MT5 erfordert verbunden MT4Orders.mqh
#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/de/code/22577

#define  Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void PrintHistory()
{
  for (uint i = OrdersHistoryTotal(); (bool)i--;)
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
      OrderPrint();
}

void OnStart()
{
  if (AccountInfoInteger(ACCOUNT_TRADE_MODE) == ACCOUNT_TRADE_MODE_DEMO)
  {
    const TICKET_TYPE Ticket1 = OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0);
    const TICKET_TYPE Ticket2 = OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0);
      
    if (OrderCloseBy(Ticket1, Ticket2)) // OrderCloseBy(Ticket2, Ticket1) ist eine weitere Sequenz.
    {
      Print("\nWith CloseBy.");
      PrintHistory(); // Das Ergebnis hängt von der Reihenfolge der Eingabeparameter OrderCloseBy ab.
      
      Print("\nWithout CloseBy.");
      VIRTUAL::Snapshot(VIRTUAL_SNAPSHOT_REFRESHTIME, -1, false, "", false);    
      PrintHistory(); // Ergebnis NICHT зависит от последовательности входных параметров OrderCloseBy.
    }
  }  
}


Ergebnis.

With CloseBy.
#151231378604 2025.12.16 14:59:36.869 sell 0.00 GBPJPY 207.722 0.000 0.000 2025.12.16 14:59:36.904 207.722 0.00 0.00 0.00 #151304734151  by #151304734153 0
#151231378603 2025.12.16 14:59:36.834 buy 1.00 GBPJPY 207.734 0.000 0.000 2025.12.16 14:59:36.904 207.722 0.00 0.00 -6.59 #151304734151  by #151304734153 0
#151231377009 2025.12.16 14:59:15.351 balance 0.00 0.000 0.000 0.000 2025.12.16 14:59:15.351 0.000 0.00 0.00 100000.00 0

Without CloseBy.
#151231378603 2025.12.16 14:59:36.834 buy 1.00 GBPJPY 207.734 0.000 0.000 2025.12.16 14:59:36.869 207.722 0.00 0.00 -6.59 #151304734151  by #151304734153 0: -12 (-12) - 00:00:00
#151231377009 2025.12.16 14:59:15.351 balance 0.00 0 0 0 2025.12.16 14:59:15.351 0 0.00 0.00 100000.00 0 - 00:00:00
 
fxsaber # :
Durch Schnappschüsse.
Okay, vielen herzlichen Dank!
 

Das scheint falsch zu sein; die Richtung stimmt nicht und die Bestellnummer scheint auch nicht zu passen.

With CloseBy.
#721743851 2025.12.16 06:12:03.182 buy 0.02 XAUUSDm 4285.524 0.000 0.000 2025.12.16 06:50:55.122 4289.859 0.00 0.00 8.67 0
#721743849 2025.12.16 06:10:25.029 buy 0.03 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:50:54.942 4289.859 0.00 0.00 10.22 0
#721743835 2025.12.16 06:14:10.761 sell 0.03 BTCUSDm 86202.58 0.00 0.00 2025.12.16 06:50:54.142 86461.98 0.00 0.00 -7.78 0
#721743834 2025.12.16 06:10:41.259 sell 0.03 BTCUSDm 86199.15 0.00 0.00 2025.12.16 06:50:54.123 86461.98 0.00 0.00 -7.89 0
#721743827 2025.12.16 06:11:07.913 buy 0.02 GBPUSDm 1.33627 0.00000 0.00000 2025.12.16 06:50:54.069 1.33626 0.00 0.00 -0.02 0
#721743824 2025.12.16 06:10:55.744 buy 0.04 EURUSDm 1.17503 0.00000 0.00000 2025.12.16 06:50:54.032 1.17511 0.00 0.00 0.32 0
#721743822 2025.12.16 06:13:38.019 sell 0.00 XAUUSDm 4286.352 0.000 0.000 2025.12.16 06:50:53.875 4286.352 0.00 0.00 0.00 #999167005  by #999174176 0
#721743821 2025.12.16 06:10:25.029 buy 0.01 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:50:53.875 4286.352 0.00 0.00 -0.10 #999167005  by #999174176 0

Without CloseBy.
#721743851 2025.12.16 06:12:03.182 buy 0.02 XAUUSDm 4285.524 0.000 0.000 2025.12.16 06:50:55.122 4289.859 0.00 0.00 8.67 0: +4335 (+4335) - 00:38:52
#721743849 2025.12.16 06:10:25.029 buy 0.03 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:50:54.942 4289.859 0.00 0.00 10.22 0: +3405 (+3405) - 00:40:29
#721743835 2025.12.16 06:14:10.761 sell 0.03 BTCUSDm 86202.58 0.00 0.00 2025.12.16 06:50:54.142 86461.98 0.00 0.00 -7.78 0: -25940 (-25940) - 00:36:44
#721743834 2025.12.16 06:10:41.259 sell 0.03 BTCUSDm 86199.15 0.00 0.00 2025.12.16 06:50:54.123 86461.98 0.00 0.00 -7.89 0: -26283 (-26283) - 00:40:13
#721743827 2025.12.16 06:11:07.913 buy 0.02 GBPUSDm 1.33627 0.00000 0.00000 2025.12.16 06:50:54.069 1.33626 0.00 0.00 -0.02 0: -1 (-1) - 00:39:47
#721743824 2025.12.16 06:10:55.744 buy 0.04 EURUSDm 1.17503 0.00000 0.00000 2025.12.16 06:50:54.032 1.17511 0.00 0.00 0.32 0: +8 (+8) - 00:39:59
#721743821 2025.12.16 06:10:25.029 buy 0.01 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:13:38.019 4286.352 0.00 0.00 -0.10 #999167005  by #999174176 0: -102 (-102) - 00:03:13


 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Bibliotheken: MT4Orders

hini, 2025.12.17 02:14 Uhr.

Das scheint falsch zu sein; die Richtung stimmt nicht, und die Auftragsnummer scheint auch nicht zu passen.

With CloseBy.
#721743849 2025.12.16 06:10:25.029 buy 0.03 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:50:54.942 4289.859 0.00 0.00 10.22 0
#721743822 2025.12.16 06:13:38.019 sell 0.00 XAUUSDm 4286.352 0.000 0.000 2025.12.16 06:50:53.875 4286.352 0.00 0.00 0.00 #999167005  by #999174176 0
#721743821 2025.12.16 06:10:25.029 buy 0.01 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:50:53.875 4286.352 0.00 0.00 -0.10 #999167005  by #999174176 0

Without CloseBy.
#721743849 2025.12.16 06:10:25.029 buy 0.03 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:50:54.942 4289.859 0.00 0.00 10.22 0: +3405 (+3405) - 00:40:29
#721743821 2025.12.16 06:10:25.029 buy 0.01 XAUUSDm 4286.454 0.000 0.000 2025.12.16 06:13:38.019 4286.352 0.00 0.00 -0.10 #999167005  by #999174176 0: -102 (-102) - 00:03:13

In MT5 gibt es nur zwei Entitäten in der Trade History: Trades und Orders. Es gibt keine Positionen in der Handelshistorie, und MT5 hat viele Jahre lang keine geschlossenen Positionen angezeigt.

MQ hat diese Art der Anzeige der Historie geschaffen, indem es die Positionshistorie aus der Handels-/Auftragshistorie generiert hat. Das ist die Generierung. Und leider ist das in manchen Situationen falsch. Insbesondere in dem oben genannten Fall.


Betrachten wir die Chronologie der Handelsoperationen in dieser Situation.

  1. Der Handel 2025.12.16 06:10:25.029 721657655 BUY 0.04 wurde ausgeführt - die Position 999167005 BUY 0.04 wurde eröffnet.
  2. Deals executed 2025.12.16 06:13:38.019 721662376 SELL 0.01 - eröffnet die Position 999174176 SELL 0.01.
  3. Abschlüsse ausgeführt 2025.12.16 06:50:54.942 721743849 SELL 0.03 - Position 999167005 BUY 0.03 wird geschlossen.

Insgesamt wurden genau drei Trades getätigt. Und das entspricht genau dem, was das Skript im obigen Zitat anzeigt.


In der Handelshistorie ist OrderTicket ein Ticket für die Transaktion, die die Position schließt. Jede Position hat ihr eigenes OrderTicket. MT4Orders generiert die Historie der Positionen eindeutig.

Derselbe POSITION_ID (OrderTicketID) Wert kann für verschiedene Positionen verwendet werden, die sich in der Zeit ihrer Existenz nicht einmal überschnitten haben. MT5 generiert die Positionshistorie frei.


Werfen Sie einen Blick auf diese Zeilen der MT5-Positionshistorie (rot ist nicht von mir).

Da gibt es eine Menge, das Fragen aufwirft. Gab es insbesondere einen Handelsumsatz (Vollkreis) von 0,05 Lots?


Viele verschiedene Handelssituationen werden in diesem Blog ausführlich behandelt.

 

Ich wiederholte das Experiment und es scheint, dass die von MT5 generierten historischen Positionen korrekt sind:

Hier habe ich manuell Positionen eröffnet: buy-0.04, sell-0.01, buy-0.04, und dann alle mit einer Taste geschlossen.

Und die historischen Positionen, die über CloseBy generiert werden, unterscheiden sich von denen, die ich manuell erstellt habe.

With CloseBy.
#726199620 2025.12.17 08:31:37.613 buy 0.04 XAUUSDm 4315.506 0.000 0.000 2025.12.17 08:31:54.047 4315.881 0.00 0.00 1.50 0
#726199619 2025.12.17 08:31:00.023 buy 0.03 XAUUSDm 4315.885 0.000 0.000 2025.12.17 08:31:54.038 4315.881 0.00 0.00 -0.02 0
#726199617 2025.12.17 08:31:04.356 sell 0.00 XAUUSDm 4315.630 0.000 0.000 2025.12.17 08:31:53.880 4315.630 0.00 0.00 0.00 #1004816081  by #1004816270 0
#726199616 2025.12.17 08:31:00.023 buy 0.01 XAUUSDm 4315.885 0.000 0.000 2025.12.17 08:31:53.880 4315.630 0.00 0.00 -0.26 #1004816081  by #1004816270 0

Without CloseBy.
#726199620 2025.12.17 08:31:37.613 buy 0.04 XAUUSDm 4315.506 0.000 0.000 2025.12.17 08:31:54.047 4315.881 0.00 0.00 1.50 0: +375 (+375) - 00:00:17
#726199619 2025.12.17 08:31:00.023 buy 0.03 XAUUSDm 4315.885 0.000 0.000 2025.12.17 08:31:54.038 4315.881 0.00 0.00 -0.02 0: -4 (-4) - 00:00:54
#726199616 2025.12.17 08:31:00.023 buy 0.01 XAUUSDm 4315.885 0.000 0.000 2025.12.17 08:31:04.356 4315.630 0.00 0.00 -0.26 #1004816081  by #1004816270 0: -255 (-255) - 00:00:04

Hier sind die MT5: historischen Positionen


 
hini #:

Und der über CloseBy generierte Positionsverlauf unterscheidet sich von dem, den ich manuell erstellt habe.

Sie stimmt perfekt mit der Zeitachse überein. Noch einmal. MT5 generiert die Handelshistorie. Es ist eine krumme Darstellung der geschlossenen Positionen.

Sie sollten sich nicht davon leiten lassen, was MT5 anzeigt, sondern vom gesunden Menschenverstand.