Aceptación de órdenes SL/TP - página 3

 
fxsaber:

Lamentablemente, no es posible controlar la aceptación de las órdenes pendientes, ya que esta información no está disponible en el lado de la Terminal. Pero casi invariablemente, la presencia de retrasos significativos en el lado de las órdenes TP/SL no puede sino afectar a los retrasos en la ejecución de las órdenes. Ya que la causa parece ser de la misma naturaleza.

Registro de activación del limitador tomado del servidor de comercio.

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]


Aceptar-Tick.


Retraso de 3ms en la ejecución del limitador. Probablemente, los controles de corrección de márgenes sean muy costosos, etc.

Tal vez haya una opción en el servidor para desactivar las comprobaciones.


Hasta ahora la conclusión intermedia es que el desfase es de la misma naturaleza, tanto para los niveles TP/SL como para las órdenes.


HH El tick se escribió en la base de datos de MT5 a las 09:32:23.050, pero antes fueron las 09:32:23.039 en la máquina del servidor de operaciones. Es decir, 11 ms antes. Total 14 (11 + 3) ms de retraso.

 
La gente vive). 3 milisegundos es un problema.
 
Dmitry Fedoseev:
La gente vive)) Tres milisegundos es un problema.

Esto es en un servidor de comercio completamente vacío con cero carga de CPU.

El ejemplo anterior fue durante cientos de milisegundos en MQ-Demo.

Tal y como están las cosas, incluso tres milisegundos son a menudo la causa de una redirección. Es como no coger un avión por culpa de un semáforo.

 
fxsaber:

HH La base de datos de MT5 registró el tick a las 09:32:23.050, pero la máquina con el servidor de operaciones antes de eso golpeó a las 09:32:23.039. Es decir, 11 ms antes. Total 14 (11 + 3) ms de retraso.

Por favor, compruebe también la velocidad de escritura de los ticks en la base de MT5.

 

Sólo tuve una orden en mi cuenta real que se cerró en una toma de posesión, no es de extrañar que las acciones)))

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:

Sólo tenía una orden en mi cuenta real que se cerró en la toma, ninguna sorpresa allí, stock)))

La situación es muy buena.

en mi cuenta real que cerró a valor de toma, no es una sorpresa, es una acción)))

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 hora de nacimiento de la orden TP y la hora de su ejecución coinciden con la precisión de un milisegundo. Tal vez, esta es la peculiaridad del intercambio.

Pero el tiempo de nacimiento de la orden de toma es de 14 milisegundos. Para una operación bursátil, eso es mucho.

 

Parece haber descubierto la causa. Ejecutar el script en la máquina en la que se ejecuta el servidor.

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


Resultado.

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 la izquierda está el tiempo de impresión. A la derecha está la hora de la garrapata entrante. El desfase puede verse claramente. Parece que OnTick se activa unos milisegundos después de que el tick se escriba en el servidor de operaciones.


Parece que la parte del servidor responsable de la activación del pedido se retrasa, como ocurre con su llegada al terminal.

 
fxsaber :

Yo también tengo un diario entero lleno de mensajes así. Quizás las cosas cambien después del fin de semana.


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]

se ha ido.


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:

se ha ido.

Su registro confirma plenamente que la orden de repetición de TP sólo se forma tras la llegada de un nuevo tick.

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Aceptación de órdenes 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)  ------------------------

Han estado tratando con el corredor en un montón de otros registros similares (hoy) que tratan de estas situaciones.

 

https://www.mql5.com/ru/forum/341117 sigue siendo un problema actual


En cuanto a la revista, no había "ajustes comerciales".