Annahme von SL/TP-Aufträgen - Seite 5

 
Renat Fatkhullin:

Sie haben ein sehr kleines Detail "vergessen" - Sie haben 58.000 Aufträge geprüft und nur einen einzigen Auswurf bei 300 ms gefunden. Und dies (1 von 58 000) hätte eindeutig im Mittelpunkt solcher Kontrollen stehen müssen.

Ja, ich habe den Status nicht objektiver erhoben.

Trotzdem werden wir die Analyse fortsetzen, obwohl einzelne Ausreißer in jedem System vorkommen können.

Ich habe mir RannForex sehr genau angesehen, da es sich um eine Schlacht handelt. Dort hat absolut jeder Auftrag 2-3 ms, unabhängig vom Symbol.

Und der Status der Ticks wurde an einem anderen Ort erfasst, wo sich das Terminal auf demselben Rechner befand, auf dem auch der Server steht.

 
2021.02.05 17:00:47.044 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.044 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.044 CheckOrders (EURUSD,D1) Start CheckOrders, inFrom = 2021.01.01 00:00:00, inTicket = 0
2021.02.05 17:00:47.044 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.045 CheckOrders (EURUSD,D1) Last Tick 2021.02.05 15:34:01.326 1.08224 1.08233
2021.02.05 17:00:47.045 CheckOrders (EURUSD,D1) LatTick Length = 5 ms.
2021.02.05 17:00:47.045 CheckOrders (EURUSD,D1) Accepted Tick 2021.02.05 15:34:01.326 1.08224 1.08233
2021.02.05 17:00:47.045 CheckOrders (EURUSD,D1) Accepted Length = 5 ms.
2021.02.05 17:00:47.045 CheckOrders (EURUSD,D1) Order 123333339 ORDER_TYPE_BUY EURCHF 2021.02.05 15:34:01.331 1.08233 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.05 15:34:01.373, Position 123263232 created 2021.02.05 13:10:32.521, StopLevel = 0
2021.02.05 17:00:47.045 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) Last Tick 2021.02.04 21:44:22.384 1.08132 1.08136
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) LatTick Length = 6 ms.
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) Accepted Tick 2021.02.04 21:44:22.384 1.08132 1.08136
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) Accepted Length = 6 ms.
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) Order 123050627 ORDER_TYPE_SELL EURCHF 2021.02.04 21:44:22.390 1.08132 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.04 21:44:22.431, Position 123024385 created 2021.02.04 20:52:15.142, StopLevel = 0
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) Last Tick 2021.02.04 17:22:02.377 1.08189 1.08189
2021.02.05 17:00:47.046 CheckOrders (EURUSD,D1) LatTick Length = 7 ms.
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Accepted Tick 2021.02.04 17:22:02.377 1.08189 1.08189
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Accepted Length = 7 ms.
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122938233 ORDER_TYPE_SELL EURCHF 2021.02.04 17:22:02.384 1.08189 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.04 17:22:02.442, Position 122928144 created 2021.02.04 17:16:43.333, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Last Tick 2021.02.04 17:16:42.786 1.08168 1.08168
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) LatTick Length = 51 ms.
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Accepted Tick 2021.02.04 17:16:42.786 1.08168 1.08168
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Accepted Length = 51 ms.
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122933325 ORDER_TYPE_BUY EURCHF 2021.02.04 17:16:42.837 1.08171 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.04 17:16:43.335, Position 122905671 created 2021.02.04 17:09:03.783, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 11:38:04.424, 2021.02.03 12:38:04.424) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122248978 ORDER_TYPE_SELL NZDCAD 2021.02.03 12:38:04.424 0.92108 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 12:38:04.469, Position 122078077 created 2021.02.03 08:49:03.466, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 11:37:56.905, 2021.02.03 12:37:56.905) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122248934 ORDER_TYPE_SELL NZDCAD 2021.02.03 12:37:56.905 0.92104 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 12:37:56.953, Position 122077808 created 2021.02.03 08:47:33.346, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 07:47:33.344, 2021.02.03 09:24:40.310) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122149815 ORDER_TYPE_SELL NZDCAD 2021.02.03 09:24:40.310 0.92254 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 09:24:40.355, Position 122077761 created 2021.02.03 08:47:33.344, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 07:46:05.065, 2021.02.03 09:24:38.641) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122149805 ORDER_TYPE_SELL NZDCAD 2021.02.03 09:24:38.641 0.92252 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 09:24:38.680, Position 122077760 created 2021.02.03 08:46:05.065, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 07:49:03.438, 2021.02.03 08:49:03.438) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122139945 ORDER_TYPE_BUY NZDCAD 2021.02.03 08:49:03.438 0.92213 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 08:49:03.482, Position 122071277 created 2021.02.03 02:39:05.643, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 07:47:33.323, 2021.02.03 08:47:33.323) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122139669 ORDER_TYPE_BUY NZDCAD 2021.02.03 08:47:33.323 0.92218 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 08:47:33.376, Position 122071588 created 2021.02.03 02:38:27.630, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 07:47:33.323, 2021.02.03 08:47:33.323) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122139668 ORDER_TYPE_BUY NZDCAD 2021.02.03 08:47:33.323 0.92219 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 08:47:33.367, Position 122070905 created 2021.02.03 02:38:45.648, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 07:46:05.018, 2021.02.03 08:46:05.018) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122139354 ORDER_TYPE_BUY NZDCAD 2021.02.03 08:46:05.018 0.92227 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 08:46:05.068, Position 122070794 created 2021.02.03 02:38:27.343, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:58:12.164, 2021.02.03 02:39:05.594) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122078065 ORDER_TYPE_SELL NZDCAD 2021.02.03 02:39:05.594 0.92066 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 02:39:05.631, Position 122005391 created 2021.02.03 01:58:12.164, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:55:04.419, 2021.02.03 02:38:45.600) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122077803 ORDER_TYPE_SELL NZDCAD 2021.02.03 02:38:45.600 0.92056 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 02:38:45.631, Position 122016550 created 2021.02.03 01:55:04.419, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:59:34.647, 2021.02.03 02:38:27.594) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122077754 ORDER_TYPE_SELL NZDCAD 2021.02.03 02:38:27.594 0.92048 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 02:38:27.648, Position 122016553 created 2021.02.03 01:59:34.647, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:54:36.785, 2021.02.03 02:38:27.292) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122077748 ORDER_TYPE_SELL NZDCAD 2021.02.03 02:38:27.292 0.92042 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 02:38:27.344, Position 122004723 created 2021.02.03 01:54:36.785, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:59:34.603, 2021.02.03 01:59:34.603) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122071584 ORDER_TYPE_BUY NZDCAD 2021.02.03 01:59:34.603 0.91993 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 01:59:34.623, Position 121900746 created 2021.02.02 21:33:29.598, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:58:12.125, 2021.02.03 01:58:12.125) = 0, _LastError = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) Order 122071259 ORDER_TYPE_BUY NZDCAD 2021.02.03 01:58:12.125 0.92016 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 01:58:12.165, Position 121910314 created 2021.02.02 20:42:24.207, StopLevel = 0
2021.02.05 17:00:47.047 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:55:04.388, 2021.02.03 01:55:04.388) = 0, _LastError = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Order 122070902 ORDER_TYPE_BUY NZDCAD 2021.02.03 01:55:04.388 0.92053 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 01:55:04.411, Position 121945533 created 2021.02.02 21:33:29.593, StopLevel = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.03 00:54:36.744, 2021.02.03 01:54:36.744) = 0, _LastError = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Order 122070780 ORDER_TYPE_BUY NZDCAD 2021.02.03 01:54:36.744 0.92064 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.03 01:54:36.791, Position 121900844 created 2021.02.02 20:39:22.457, StopLevel = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.02 20:33:29.555, 2021.02.02 21:33:29.555) = 0, _LastError = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Order 122016544 ORDER_TYPE_SELL NZDCAD 2021.02.02 21:33:29.555 0.91619 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.02 21:33:29.591, Position 121849527 created 2021.02.02 18:01:22.267, StopLevel = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.02 20:33:29.555, 2021.02.02 21:33:29.555) = 0, _LastError = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Order 122016543 ORDER_TYPE_SELL NZDCAD 2021.02.02 21:33:29.555 0.91619 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.02 21:33:29.585, Position 121804705 created 2021.02.02 16:52:35.900, StopLevel = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.02 19:42:24.179, 2021.02.02 20:42:24.179) = 0, _LastError = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Order 122005386 ORDER_TYPE_SELL NZDCAD 2021.02.02 20:42:24.179 0.91665 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.02 20:42:24.232, Position 121804706 created 2021.02.02 17:01:15.335, StopLevel = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) 
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Alert: bool GetAcceptedTick(const ulong,MqlTick&,const bool): CopyTicksRange(NZDCAD, 2021.02.02 19:39:22.423, 2021.02.02 20:39:22.423) = 0, _LastError = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) Order 122004709 ORDER_TYPE_SELL NZDCAD 2021.02.02 20:39:22.423 0.91662 ORDER_REASON_TP ORDER_STATE_FILLED 2021.02.02 20:39:22.476, Position 121829876 created 2021.02.02 16:52:39.474, StopLevel = 0
2021.02.05 17:00:47.048 CheckOrders (EURUSD,D1) 
2021.02.05 17:01:08.998 CheckOrders (EURUSD,D1) Last Tick 2021.01.07 16:31:09.714 1.06933 1.06938
2021.02.05 17:01:08.998 CheckOrders (EURUSD,D1) LatTick Length = 133 ms.
2021.02.05 17:01:08.998 CheckOrders (EURUSD,D1) Accepted Tick 2021.01.07 16:31:09.581 1.06936 1.06941
2021.02.05 17:01:08.998 CheckOrders (EURUSD,D1) Accepted Length = 266 ms.
2021.02.05 17:01:08.998 CheckOrders (EURUSD,D1) Order 115585098 ORDER_TYPE_SELL AUDNZD 2021.01.07 16:31:09.847 1.06936 ORDER_REASON_TP ORDER_STATE_FILLED 2021.01.07 16:31:09.907, Position 115540426 created 2021.01.07 16:24:36.081, StopLevel = 0
2021.02.05 17:01:08.998 CheckOrders (EURUSD,D1) 
2021.02.05 17:01:10.935 CheckOrders (EURUSD,D1) Total Orders (from 2021.01.01 00:00:00) = 1343, calculated = 583
2021.02.05 17:01:10.935 CheckOrders (EURUSD,D1) Calculation time = 00:00:23.890, Performance = 24.0 orders/sec.
2021.02.05 17:01:10.935 CheckOrders (EURUSD,D1) 
2021.02.05 17:01:10.935 CheckOrders (EURUSD,D1) ServerName: ICMarkets-MT5
2021.02.05 17:01:10.935 CheckOrders (EURUSD,D1) 
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Last Tick 2021.01.07 16:31:09.714 1.06933 1.06938
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) LatTick Length = 133 ms.
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Accepted Tick 2021.01.07 16:31:09.581 1.06936 1.06941
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Accepted Length = 266 ms.
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Order 115585098 ORDER_TYPE_SELL AUDNZD 2021.01.07 16:31:09.847 1.06936 ORDER_REASON_TP ORDER_STATE_FILLED 2021.01.07 16:31:09.907, Position 115540426 created 2021.01.07 16:24:36.081, StopLevel = 0
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) 
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Orders (2) before 115585098 with PositionID = 115540426:
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) ------------------------
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Checked Orders = 0
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Annahme von SL/TP-Aufträgen

Dzmitry Manannikov, 2021.02.05 15:10

2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Last Tick 2021.01.07 16:31:09.714 1.06933 1.06938
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) LatTick Length = 133 ms.
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Accepted Tick 2021.01.07 16:31:09.581 1.06936 1.06941
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Accepted Length = 266 ms.
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Order 115585098 ORDER_TYPE_SELL AUDNZD 2021.01.07 16:31:09.847 1.06936 ORDER_REASON_TP ORDER_STATE_FILLED 2021.01.07 16:31:09.907, Position 115540426 created 2021.01.07 16:24:36.081, StopLevel = 0
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) 
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Orders (2) before 115585098 with PositionID = 115540426:
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) ------------------------
2021.02.05 17:01:10.950 CheckOrders (EURUSD,D1) Checked Orders = 0

Danke, ich werde das Hervorgehobene erklären. Ein TP-Auftrag wurde 266 ms nach Beginn der Erfüllung des Preises angenommen. Gleichzeitig lag der letzte Tick vor der Annahme bei 133 ms.

Dies ist unklar, daher ein einfacheres Beispiel.


Es kommt ein Tick herein, der den TP einer offenen Position akzeptieren sollte. MT5 erstellt eine TP-Order, eine oder mehrere in Folge (wenn die vorherigen storniert werden).

Aber wir können genau sagen, was der letzte Auftrag in dieser Folge ist. Er wurde nicht sofort nach dem letzten Tick, der das TP-Niveau erreicht hat, gebildet, sondern erst nach 133 ms.


Stellen Sie sich vor, eine Zecke kommt. Und der MT5-Server startet erst nach 133 ms! Renat wird sagen, dass dies der Spitzenwert ist, und er wird Recht haben. Deshalb habe ich ein Skript in den Zweig gestellt, das den Durchschnittswert der Verzögerung angibt.

Es handelt sich ebenfalls um einige Millisekunden.


SZY Die Annahme eines Auftrags ist lediglich die Tatsache seiner Erstellung. Er sendet sie nicht irgendwohin, sondern erstellt sie einfach auf dem MT5-Server. Dies sollte sofort geschehen, sobald der Preis das entsprechende Niveau erreicht hat.

 

In einer Kampfsituation habe ich festgestellt, dass MT4 manchmal Limiter schneller akzeptiert als MT5. Daher hat MT4 in diesen Situationen Zeit, sich Liquidität zu beschaffen, MT5 nicht.

Bitte überwinden Sie die Verzögerungen des MT5-Servers.

 
Die Situation hat sich nicht verbessert.
 

Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien

Annahme von SL/TP-Aufträgen

fxsaber, 2020.11.27 21:20

Er scheint den Grund dafür herausgefunden zu haben. Ausführen des Skripts auf dem Server-Rechner.

// Преобразование времени в миллисекундах в строку.
string TimeToString( const long time, const int FlagTime = TIME_DATE | TIME_SECONDS)
{
  return(TimeToString((datetime)time / 1000, FlagTime) + "." + IntegerToString(time % 1000, 3, '0'));
}

// Преобразование тика в строку.
string TickToString( const MqlTick &Tick, const int digits )
{
  return(TimeToString(Tick.time_msc) + " " + DoubleToString(Tick.bid, digits) + " " + DoubleToString(Tick.ask, digits));
}

void OnTick()
{
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick))
    Print(TickToString(Tick, _Digits));
}


Ergebnis.

2020.11.27 22:13:44.156 2020.11.27 22:13:44.149 1.59953 1.59993
2020.11.27 22:13:44.862 2020.11.27 22:13:44.855 0.98789 0.98837
2020.11.27 22:13:45.263 2020.11.27 22:13:45.258 0.98789 0.98839
2020.11.27 22:13:46.878 2020.11.27 22:13:46.873 10.15554 10.16084
2020.11.27 22:13:48.993 2020.11.27 22:13:48.991 10.15554 10.16106
2020.11.27 22:13:51.722 2020.11.27 22:13:51.716 0.98789 0.98840
2020.11.27 22:13:53.035 2020.11.27 22:13:53.027 1.59950 1.59995
2020.11.27 22:13:53.134 2020.11.27 22:13:53.128 1.59954 1.59995
2020.11.27 22:13:53.737 2020.11.27 22:13:53.734 0.98789 0.98839
2020.11.27 22:13:54.745 2020.11.27 22:13:54.743 0.98789 0.98840
2020.11.27 22:13:56.768 2020.11.27 22:13:56.761 0.98789 0.98839
2020.11.27 22:13:57.977 2020.11.27 22:13:57.973 1.59954 1.59994
2020.11.27 22:14:00.293 2020.11.27 22:14:00.292 10.15554 10.16093
2020.11.27 22:14:04.131 2020.11.27 22:14:04.125 1.59954 1.59995
2020.11.27 22:14:08.868 2020.11.27 22:14:08.866 0.98789 0.98841
2020.11.27 22:14:09.780 2020.11.27 22:14:09.773 0.98789 0.98840
2020.11.27 22:14:09.981 2020.11.27 22:14:09.975 1.59955 1.59994
2020.11.27 22:14:10.085 2020.11.27 22:14:10.076 1.59957 1.59994
2020.11.27 22:14:10.180 2020.11.27 22:14:10.177 1.59957 1.59995

Auf der linken Seite ist die Druckzeit angegeben. Auf der rechten Seite steht die Uhrzeit des eingehenden Ticks. Der Rückstand ist deutlich zu erkennen. Es scheint, dass OnTick ein paar Millisekunden später ausgelöst wird, als der Tick auf den Handelsserver geschrieben wird.


Es scheint, dass der Serverteil, der für die Auftragsaktivierung verantwortlich ist, Ticks mit Verzögerung erhalten hat, wie es bei ihrer Ankunft am Terminal geschieht.


Terminal/Server = 2920. Leider hat sich die Situation noch nicht geändert.

2021.05.19 12:39:02.082 Test9   2021.05.19 12:39:02.080 1.62642 1.62654
2021.05.19 12:39:02.284 Test9   2021.05.19 12:39:02.282 1.62641 1.62651
2021.05.19 12:39:04.305 Test9   2021.05.19 12:39:04.299 1.62645 1.62655
2021.05.19 12:39:06.823 Test9   2021.05.19 12:39:06.821 1.62647 1.62658
2021.05.19 12:39:13.791 Test9   2021.05.19 12:39:13.785 1.62647 1.62659
2021.05.19 12:39:13.891 Test9   2021.05.19 12:39:13.886 1.62649 1.62659
2021.05.19 12:39:15.103 Test9   2021.05.19 12:39:15.097 1.62651 1.62661
2021.05.19 12:39:18.534 Test9   2021.05.19 12:39:18.527 1.62653 1.62663
2021.05.19 12:39:19.238 Test9   2021.05.19 12:39:19.232 1.62650 1.62660
 

Ich habe die Aufträge (mehrere Tausend) überprüft, die der Broker auf dem Handelsserver b2940 angenommen hat.

Signifikante Verbesserung! Die Verzögerungen betragen bis zu 2 ms, doch handelt es sich dabei wahrscheinlich um Spikes, die das neue Gesamtbild nicht beeinträchtigen.

Der Handel mit MT5 ist jetzt definitiv profitabler, da die Aufträge einige Millisekunden früher ausgeführt werden und es fast keine Verzögerung gibt.


Die anderen Lags habe ich nicht überprüft.

 

OrderGetTicket-Liste haben sie gesehen). Als diese Aufträge verschwanden, waren sie nicht in der Auftragshistorie enthalten. Sie tauchten in der Bestellhistorie überhaupt nicht auf.

Ich habe dies von Hand überprüft - es ist nicht vorhanden. Ich habe mich mit dem Makler in Verbindung gesetzt. Der Vermittler hat den Server überprüft, und sie (die Tickets) sind weder im Verlauf noch in den Protokollen zu finden.

Der Makler berichtet, dass, wenn die Aufträge nach Tickets sortiert werden, an diesen Stellen Löcher entstehen - die Tickets springen über diese Werte.


MT5-Server b2940. Ein alarmierender Fehler. Ich empfehle den Maklern, die Bestellscheine auf Löcher zu überprüfen - es gibt keine klare fortlaufende Nummerierung der Scheine.


ZZY Diese Aufträge sind nicht in den Terminalprotokollen enthalten, da es sich um TP-Aufträge handelt - sie werden automatisch erstellt, wenn der Preis das TP-Niveau der offenen Position erreicht.

ZZZY Welche Maßnahmen können Sie ergreifen, um das Problem loszuwerden?

Библиотеки: TradesID
Библиотеки: TradesID
  • 2021.03.29
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: TradesID
 
fxsaber:

OrderGetTicket-Liste haben sie gesehen). Als diese Aufträge verschwanden, waren sie nicht in der Auftragshistorie enthalten. Sie tauchten in der Bestellhistorie überhaupt nicht auf.

Ich habe dies von Hand überprüft - es ist nicht vorhanden. Ich habe mich mit dem Makler in Verbindung gesetzt. Der Makler hat den Server überprüft und sie (die Ticketberichte) sind weder in der Historie noch in den Protokollen zu finden.

Der Makler berichtet, dass, wenn die Aufträge nach Tickets sortiert werden, an diesen Stellen Löcher entstehen - die Tickets springen über diese Werte.


MT5-Server b2940. Ein alarmierender Fehler. Ich empfehle den Maklern, die Bestellscheine auf Löcher zu überprüfen - es gibt keine klare fortlaufende Nummerierung der Scheine.


ZZY Diese Aufträge sind nicht in den Terminalprotokollen zu finden, da es sich um TP-Aufträge handelt - sie werden automatisch erstellt, wenn der Preis das TP-Niveau der offenen Position erreicht.

ZZZY Was kann ich tun, um dieses Problem loszuwerden?

Pirs, Plugins, Add-ons, Skripte, Serverfilter sind sicherlich nicht das Problem...

Ich verstehe, dass jeder überhitzt ist, aber das ist ein bisschen kindisch... Fehlerberichte sehen anders aus

 
Maxim Kuznetsov:

Pirs, Plugins, Add-ons, Skripte, Serverfilter sind sicherlich nicht betroffen...

Ich verstehe, dass alle überhitzt sind, aber es ist ein bisschen kindisch... die Fehlerberichte sehen anders aus

Sie sehen einen Auftrag im Terminal, dann verschwindet er. Dann erscheint es nicht auf dem Server - das Ticket wird gelöscht. Bitte mischen Sie sich nicht ein.