Aceitação de ordens SL/TP - página 3

 
fxsaber:

Infelizmente, não é possível monitorar a aceitação de ordens pendentes, porque esta informação não está disponível no lado do Terminal. Mas quase invariavelmente, a presença de atrasos significativos no lado das ordens TP/SL não pode deixar de afetar os atrasos na execução das ordens. Uma vez que a causa parece ser da mesma natureza.

Log de acionamento do limitador tirado do servidor comercial.

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]


Aceitar-Ticar.


3ms de atraso na execução do limitador. Provavelmente, verificações de correção de margem muito caras, etc.

Talvez haja uma opção no servidor para desativar as verificações.


Até agora, a conclusão intermediária é que o atraso é da mesma natureza, tanto para os níveis TP/SL quanto para as ordens.


HH O tick foi escrito no banco de dados MT5 às 09:32:23.050, mas era 09:32:23.039 na máquina do servidor comercial antes disso. Ou seja, 11 ms antes. Total 14 (11 + 3) ms de atraso.

 
As pessoas vivem). 3 milissegundos é um problema.
 
Dmitry Fedoseev:
As pessoas vivem)) Três milissegundos é um problema.

Isto está em um servidor comercial completamente vazio com carga de CPU zero.

O exemplo acima foi durante centenas de milissegundos no MQ-Demo.

Como está, mesmo três milissegundos é muitas vezes a causa de um redirecionamento. É como não pegar um avião por causa de um semáforo.

 
fxsaber:

SZZ o tick foi registrado no banco de dados MT5 às 09:32:23.050, mas a máquina com o servidor comercial antes disso bateu às 09:32:23.039. Ou seja, 11 ms antes. Total 14 (11 + 3) ms de atraso.

Favor verificar também a velocidade de escrita de carrapatos para a base MT5.

 

Eu só tinha um pedido na minha conta real que fechou em uma takeaway, o que não é de se estranhar, o estoque))))

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:

Eu só tinha um pedido na minha conta real que fechou no take, sem surpresa lá, estoque))))

Você tem uma situação muito legal.

na minha conta real que fechou a valor de aquisição, não é uma surpresa, é um estoque))))

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

O tempo de nascimento da ordem TP e o tempo de sua execução coincidem com a precisão de um milissegundo. Talvez, esta seja uma peculiaridade da troca.

Mas o tempo de nascimento do pedido é de 14 milissegundos. Isso é muito para uma negociação na bolsa de valores.

 

Parece ter descoberto a causa. Executando o script na máquina em que o servidor está rodando.

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

À esquerda, está o tempo de impressão. À direita está a hora do tique de entrada. O atraso pode ser visto claramente. Parece que o OnTick é acionado alguns milissegundos depois que o tick é escrito para o servidor comercial.


Parece que a parte do servidor responsável pela ativação do pedido está atrasada, como acontece com sua chegada ao terminal.

 
fxsaber :

Eu também tenho um registro completo de mensagens como essa. Talvez as coisas mudem após o fim 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]

desapareceu.


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:

desapareceu.

Seu registro confirma plenamente que a repetição da ordem TP só é formada após a chegada de um novo tick.

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Aceitação de ordens 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)  ------------------------

Têm lidado com o corretor em muitos outros troncos similares (hoje) lidando com essas situações.

 

https://www.mql5.com/ru/forum/341117 ainda é um problema atual


Quanto à revista, não existiam "cenários comerciais".

Razão: