Accettazione di ordini SL/TP - pagina 3

 
fxsaber:

Sfortunatamente, non è possibile monitorare l'accettazione degli ordini in sospeso, perché questa informazione non è disponibile sul lato del terminale. Ma quasi invariabilmente, la presenza di ritardi significativi sul lato degli ordini TP/SL non può che influenzare i ritardi nell'esecuzione degli ordini. Poiché la causa sembra essere della stessa natura.

Log di attivazione del limitatore preso dal server commerciale.

2020.11.26 09:32:23.053    '': order [#199 sell limit 0.01 EURSEK at 10.15957] triggered, activation price 10.16102 [10.16102 / 10.16354]


Accetta-Tick.


3ms di ritardo nell'esecuzione del limitatore. Probabilmente i controlli di correttezza dei margini sono molto costosi, ecc.

Forse c'è un'opzione sul server per disabilitare i controlli.


Finora la conclusione intermedia è che il ritardo è della stessa natura, sia per i livelli TP/SL che per gli ordini.


HH Il tick è stato scritto nel database MT5 alle 09:32:23.050, ma prima era 09:32:23.039 sulla macchina del server di trading. Cioè 11 ms prima. Totale 14 (11 + 3) ms di ritardo.

 
La gente vive). 3 millisecondi sono un problema.
 
Dmitry Fedoseev:
La gente vive)) Tre millisecondi sono un problema.

Questo è su un server commerciale completamente vuoto con zero carico di CPU.

L'esempio qui sopra era per centinaia di millisecondi su MQ-Demo.

Così com'è, anche tre millisecondi sono spesso la causa di un reindirizzamento. È come non prendere un aereo a causa di un semaforo.

 
fxsaber:

SZZ il tick è stato registrato nel database di MT5 alle 09:32:23.050, ma la macchina con il server di trading prima ha colpito alle 09:32:23.039. Cioè 11 ms prima. Totale 14 (11 + 3) ms di ritardo.

Controllate anche la velocità di scrittura dei tick nella base MT5.

 

Ho avuto solo un ordine sul mio conto reale che ha chiuso su un takeaway, non a caso, le azioni)))

QD      0       21:14:14.049    CheckOrders (GAZP,D1)   ServerName: Open-Broker
MN      0       21:14:14.049    CheckOrders (GAZP,D1)   
LF      0       21:14:14.078    CheckOrders (GAZP,D1)   Last Tick 2020.11.13 21:45:51.656 180.84 180.89
CK      0       21:14:14.078    CheckOrders (GAZP,D1)   Accepted Tick 2020.11.13 21:45:51.656 180.84 180.89
PS      0       21:14:14.078    CheckOrders (GAZP,D1)   Accepted Length = 14 ms.
EK      0       21:14:14.078    CheckOrders (GAZP,D1)   Order 139999826 ORDER_TYPE_SELL GAZP 2020.11.13 21:45:51.670 180.84 ORDER_REASON_TP ORDER_STATE_FILLED 2020.11.13 21:45:51.670, Position 139820013 created 2020.11.12 20:41:42.184, StopLevel = 0
 
Aleksandr Slavskii:

Ho avuto solo un ordine sul mio conto reale che ha chiuso sul prendere, non a caso, azioni)))

Hai una situazione molto bella.

sul mio conto reale che ha chiuso a valore di presa, non è una sorpresa, è un'azione)))

Order 139999826 ORDER_TYPE_SELL GAZP 2020.11.13 21:45:51.670 180.84 ORDER_REASON_TP ORDER_STATE_FILLED 2020.11.13 21:45:51.670, Position 139820013 created 2020.11.12 20:41:42.184, StopLevel = 0

La tempistica dell'ordine TP e la sua esecuzione coincidono con la precisione di un millisecondo. Forse, questa è una peculiarità dello scambio.

Ma il tempo di nascita del take order è di 14 millisecondi. È molto per un'operazione di borsa.

 

Sembra che abbia scoperto la causa. Eseguire lo script sulla macchina su cui gira il server.

// Преобразование времени в миллисекундах в строку.
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));
}


Risultato.

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

A sinistra c'è il tempo di stampa. Sulla destra c'è l'ora del tick in arrivo. Il ritardo può essere visto chiaramente. Sembra che OnTick sia attivato alcuni millisecondi dopo che il tick è scritto sul server di trading.


Sembra che la parte del server responsabile dell'attivazione degli ordini sia in ritardo, come succede con il loro arrivo al terminale.

 
fxsaber :

Anch'io ho un intero registro di messaggi del genere. Forse le cose cambieranno dopo il fine settimana.


2020.11.25 16:52:52.992 Trades  '92810': failed modify #1758569 sell 0.02 USDJPY sl: 0.000, tp: 104.293 -> sl: 0.000, tp: 0.000 [Unknown error]

sparito.


2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Total Orders (from 2020.11.30 00:00:00) = 899, calculated = 58
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Calculation time = 00:00:00.000
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  ServerName: RannForex-Server
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:45.786 104.369 104.369
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.712 104.365 104.365
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 1077 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774962 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:45.789 104.365 ORDER_REASON_TP ORDER_STATE_FILLED 2020.11.30 19:07:45.802, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Orders (6) before 1774962 with PositionID = 1774955:
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  ------------------------
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:44.766 104.366 104.366
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.766 104.366 104.366
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 2 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774959 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:44.768 104.365 ORDER_REASON_TP ORDER_STATE_REJECTED 2020.11.30 19:07:44.780, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:44.874 104.367 104.367
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.712 104.365 104.365
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 164 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774960 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:44.876 104.365 ORDER_REASON_TP ORDER_STATE_REJECTED 2020.11.30 19:07:44.900, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:44.940 104.368 104.368
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.712 104.365 104.365
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 230 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774961 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:44.942 104.365 ORDER_REASON_TP ORDER_STATE_REJECTED 2020.11.30 19:07:44.954, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Checked Orders = 3
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  ------------------------
 
Enrique Dangeroux:

sparito.

Il tuo log conferma pienamente che l'ordine TP ripetuto si forma solo dopo l'arrivo di un nuovo tick.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Accettazione di ordini SL/TP

Enrique Dangeroux, 2020.11.30 19:04

2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:45.786 104.369 104.369
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.712 104.365 104.365
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 1077 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774962 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:45.789 104.365 ORDER_REASON_TP ORDER_STATE_FILLED 2020.11.30 19:07:45.802, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Orders (6) before 1774962 with PositionID = 1774955:
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  ------------------------
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:44.766 104.366 104.366
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.766 104.366 104.366
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 2 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774959 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:44.768 104.365 ORDER_REASON_TP ORDER_STATE_REJECTED 2020.11.30 19:07:44.780, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:44.874 104.367 104.367
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.712 104.365 104.365
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 164 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774960 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:44.876 104.365 ORDER_REASON_TP ORDER_STATE_REJECTED 2020.11.30 19:07:44.900, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Last Tick 2020.11.30 19:07:44.940 104.368 104.368
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Tick 2020.11.30 19:07:44.712 104.365 104.365
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Accepted Length = 230 ms.
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Order 1774961 ORDER_TYPE_SELL USDJPY 2020.11.30 19:07:44.942 104.365 ORDER_REASON_TP ORDER_STATE_REJECTED 2020.11.30 19:07:44.954, Position 1774955 created 2020.11.30 19:07:22.655, StopLevel = 0
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  Checked Orders = 3
2020.11.30 18:52:09.327 OrderCheck (GBPAUD,H1)  ------------------------

Ho avuto a che fare con il broker su un sacco di altri tronchi simili (oggi) che si occupano di queste situazioni.

 

https://www.mql5.com/ru/forum/341117 è ancora un problema attuale


Per quanto riguarda la rivista, non c'erano "impostazioni commerciali".