FORTES. Questões de aplicação da lei - página 91

 
fxsaber:

Problemas somente quando se cancela pedidos pendentes?


Não, isso acontece em todos os modos (definir, modificar, cancelar)

Felizmente não tão frequentemente....

 
prostotrader:

Não, isso acontece em todos os modos(instalar, modificar, cancelar)

Quando houver um problema durante a instalação, forneça o que ORDER_TIME_DONE_MSC e ORDER_TIME_SETUP_MSC mostram.

Ao executá-lo, também DEAL_TIME_MSC.

 

Não sei se alguém escreveu, mas quando entro em um comércio no mercado, meu pedido nem sempre é acionado. Eu pressiono a compra, ela se interrompe, o negócio não se abre, às vezes só depois da terceira vez que o negócio é aberto. Estou infeliz(( Spread também gostaria que fosse menos, mas isso é outra história. Estou entusiasmado com as promoções e bônus, ilumina um pouco os inconvenientes do terminal))

 
fxsaber:

Quando houver um problema durante a instalação, forneça o que ORDER_TIME_DONE_MSC e ORDER_TIME_SETUP_MSC mostram.

Ao executar, mostrar também DEAL_TIME_MSC.


E o que você quer ver ao obter ORDER_TIME_DONE_MSC, uma vez que é o momento da retirada ou execução?

Hoje (conjunto de pedidos, não executados)

2017.07.25 10:34:32.675 Trades  'xxxxx': buy limit 2.00 GAZR-6.18 at 12585
2017.07.25 10:34:35.520 Trades  'xxxxx': accepted buy limit 2.00 GAZR-6.18 at 12585
2017.07.25 10:34:35.520 Trades  'xxxxx': buy limit 2.00 GAZR-6.18 at 12585 placed for execution in 2846.102 ms
===============================================================================================================
2017.07.25 10:34:33.695 trader (GAZR-6.18,M1)   CheckOrders: Задержка ответа сервера. Ожидание продолжается...
2017.07.25 10:34:34.702 trader (GAZR-6.18,M1)   CheckOrders: Задержка ответа сервера. Ожидание продолжается...
==============
Ticket = #70456445

Código

ulong ticket = 70456445;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
    if(HistoryOrderSelect(ticket))
    {
      ulong start = ulong(HistoryOrderGetInteger(ticket, ORDER_TIME_SETUP_MSC));
      ulong end = ulong(HistoryOrderGetInteger(ticket, ORDER_TIME_DONE_MSC));
      ulong diff = end - start;
      Print("Order start = ", start);
      Print("Order end = ", end);
      Print("Order diff = ", diff);
    }
   
//---
   return(INIT_SUCCEEDED);
  }

Resultado:

2017.07.25 14:08:03.281 Time_test (GAZR-6.18,M1)        Order start = 1500978875000
2017.07.25 14:08:03.281 Time_test (GAZR-6.18,M1)        Order end =   1500978890000
2017.07.25 14:08:03.281 Time_test (GAZR-6.18,M1)        Order diff =  15000
 
prostotrader:

E o que você quer ver ao obter ORDER_TIME_DONE_MSC, uma vez que é o tempo de retirada ou execução?

Eu estava pensando na execução. Por exemplo, você estabelece um limite ao preço atual. Então você pode estimar o tempo gasto na execução.

Francamente falando, nos faltam informações para pedidos que diriam quando um pedido é registrado por um servidor MT5 e não quando já está configurado em uma troca.

 
fxsaber:

Pensei na execução. Por exemplo, colocar um limite ao preço atual. Então você pode estimar o tempo gasto na execução.

Honestamente, não há informações suficientes para que os pedidos digam quando um pedido foi registrado pelo servidor MT5 e não quando já foi configurado para a troca.


Entrei em contato com o SD sobre outra entrada de registro que o pedido foi aceito pela troca, à qual recebi uma resposta:

Support Team 2017.02.28 12:10
Асинхронный метод не ожидает и не отслеживает результат операции (выставление ордера), только сам факт посылки, и соответственно, не протоколирует его.

Adicionado

Mas, o fato de que às vezes o servidor processa o pedido (antes de enviar para troca) mais de 2-3 segundos. - é muito ruim...

Adicionado

Normalmente, na minha configuração 5-6 ms:

2017.07.25 14:32:40.575 Trades  'ххххх': cancel order #70570407 buy limit 1.00 PLD-12.17 at 806.78
2017.07.25 14:32:40.581 Trades  'ххххх': accepted cancel order #70570407 buy limit 1.00 PLD-12.17 at 806.78
2017.07.25 14:32:40.581 Trades  'ххххх': cancel order #70570407 buy limit 1.00 PLD-12.17 at 806.78 placed for execution in 6.194 ms
 
prostotrader:

Mas, o próprio fato de que às vezes o servidor processa o pedido (antes de enviá-lo para a troca) por mais de 2-3 segundos. - Já é muito ruim...

Parece ser um insecto bastante raro. Devemos escrever um EA que coloque e remova limitadores. E pedir à SD que a execute de verdade com a captura do bug.

 
fxsaber:

Parece ser um insecto muito raro. Devemos escrever um EA que coloque e remova o limitador. E peça ao SD para executá-lo no real com a captura de bugs.


SD tem feito isso desde2014.12.16 06:27

 
prostotrader:

SD já está fazendo isso desde2014.12.16 06:27

Não há vontade de fazê-lo, ao que parece.

 
fxsaber:

Sem desejo, ao que parece.


Talvez... Mas eu acho que o desejo está lá, MAS!

O servidor MT5 está rodando através do Plaza II, infelizmente não sei como a interface do MQ é implementada,

mas fazendo minha interface, vejo isso com um fluxo muito grande de pedidos,

Há pequenos "atrasos" no processamento de comandos (para 1 login não deve haver mais do que 30 operações por segundo), e imagine quantos

usuários que o Corretor tem...?