堡垒。执法问题 - 页 86

 
fxsaber:
我没有我的案子。有终端日志,对所有用户都一样。

好了,日志是一样的,但不幸的是,结果是不同的......。

你顽固地看不到289和9ms之间的区别。

这里有一个新的(真正的1531)。

2017.02.17 14:05:01.032 Trades  'xxxxx': buy limit 2.00 Eu-9.17 at 65030
2017.02.17 14:05:01.437 Trades  'xxxxx': accepted buy limit 2.00 Eu-9.17 at 65030
2017.02.17 14:05:01.444 Trades  'xxxxx': buy limit 2.00 Eu-9.17 at 65030 placed for execution in 412.406 ms (179.952 ms on server)
2017.02.17 14:05:01.449 Trades  'xxxxx': sell limit 1.00 BR-8.17 at 57.45
2017.02.17 14:05:01.603 Trades  'xxxxx': sell limit 1.00 LKOH-6.17 at 34098 placed for execution in 554.628 ms (195.343 ms on server)
2017.02.17 14:05:01.604 Trades  'xxxxx': accepted buy limit 3.00 MXI-6.17 at 2172.70
2017.02.17 14:05:01.604 Trades  'xxxxx': buy limit 3.00 MXI-6.17 at 2172.70 placed for execution in 537.273 ms (11.579 ms on server)
2017.02.17 14:05:01.608 Trades  'xxxxx': accepted sell limit 5.00 GBPU-6.17 at 1.2495
2017.02.17 14:05:02.012 Trades  'xxxxx': sell limit 5.00 GBPU-6.17 at 1.2495 placed for execution in 921.827 ms (1.396 ms on server)
2017.02.17 14:05:02.013 Trades  'xxxxx': accepted buy limit 5.00 HYDR-6.17 at 10779
2017.02.17 14:05:02.015 Trades  'xxxxx': accepted buy limit 2.00 MGNT-9.17 at 9611
2017.02.17 14:05:02.017 Trades  'xxxxx': accepted sell limit 2.00 MGNT-9.17 at 11001
2017.02.17 14:05:02.018 Trades  'xxxxx': accepted buy limit 1.00 ED-9.17 at 1.0601
2017.02.17 14:05:02.019 Trades  'xxxxx': buy limit 5.00 HYDR-6.17 at 10779 placed for execution in 929.618 ms (3.608 ms on server)
2017.02.17 14:05:02.022 Trades  'xxxxx': buy limit 2.00 MGNT-9.17 at 9611 placed for execution in 610.425 ms (3.848 ms on server)
2017.02.17 14:05:02.029 Trades  'xxxxx': sell limit 2.00 MGNT-9.17 at 11001 placed for execution in 616.804 ms (3.793 ms on server)
2017.02.17 14:05:02.030 Trades  'xxxxx': buy limit 1.00 ED-9.17 at 1.0601 placed for execution in 616.485 ms (3.712 ms on server)
2017.02.17 14:05:02.040 Trades  'xxxxx': cancel order #52607654 sell limit 1.00 LKOH-6.17 at 34098
2017.02.17 14:05:02.042 Trades  'xxxxx': accepted sell limit 1.00 ED-9.17 at 1.0849
2017.02.17 14:05:02.043 Trades  'xxxxx': sell limit 1.00 ED-9.17 at 1.0849 placed for execution in 629.309 ms (2.119 ms on server)
2017.02.17 14:05:02.215 Trades  'xxxxx': accepted buy limit 2.00 AUDU-6.17 at 0.7586
2017.02.17 14:05:02.216 Trades  'xxxxx': accepted buy limit 5.00 TATN-6.17 at 37027
2017.02.17 14:05:02.217 Trades  'xxxxx': accepted sell limit 5.00 AUDU-6.17 at 0.8025
2017.02.17 14:05:02.217 Trades  'xxxxx': buy limit 2.00 AUDU-6.17 at 0.7586 placed for execution in 793.001 ms (5.415 ms on server)
2017.02.17 14:05:02.519 Trades  'xxxxx': buy limit 5.00 TATN-6.17 at 37027 placed for execution in 1094.281 ms (5.535 ms on server)
2017.02.17 14:05:02.521 Trades  'xxxxx': sell limit 5.00 AUDU-6.17 at 0.8025 placed for execution in 1096.137 ms (5.514 ms on server)
2017.02.17 14:05:02.533 Trades  'xxxxx': accepted sell limit 5.00 TATN-6.17 at 42028
2017.02.17 14:05:02.533 Trades  'xxxxx': sell limit 5.00 TATN-6.17 at 42028 placed for execution in 1108.871 ms (1.341 ms on server)
 
prostotrader:

我想这更有意义

专家日志

2017.02.17 13:45:27.132 trader (RTS-3.17,M1)      COrder::Place: Order sent to server...
2017.02.17 13:45:27.141 trader (RTS-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
2017.02.17 13:45:27.421 trader (RTS-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE--> ORDER_STATE_PLACED -- > Order place done.

289毫秒。

终端日志

2017.02.17 13:45:27.132 Trades  '1007932': buy limit 2.00 RTS-6.17 at 115190
2017.02.17 13:45:27.141 Trades  '1007932': accepted buy limit 2.00 RTS-6.17 at 115190
2017.02.17 13:45:27.141 Trades  '1007932': buy limit 2.00 RTS-6.17 at 115190 placed for execution in 8.526 ms

9毫秒。

相同的颜色表示相同的事件。由于某些原因,终端日志中的两行都有27.141。

专家顾问的日志包含27.141和27.421。似乎OnTradeTransaction 的速度仍然很慢--终端收到了事件,但在>200毫秒后才被发送到OnTradeTransaction。也许,专家顾问在这200毫秒内一直在做什么,这就是为什么它如此延迟。没有源代码,我不能说。

 
fxsaber:

同样的颜色也被用来标记相同的事件。由于某些原因,这两行在终端日志中都有27.141。

专家顾问的日志显示27.141和27.421。似乎OnTradeTransaction 的速度仍然很慢--终端收到了事件,但在>200毫秒后才被发送到OnTradeTransaction。也许,专家顾问在这200毫秒内正在做一些事情,这就是为什么它如此延迟的原因。没有源代码,我不能说。

在演示器上试试这个

//+------------------------------------------------------------------+
//|                                                   Test_delay.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

ulong order_ticket;
ulong Magic=1234567890;
ulong order_id;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetOrder();
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
   switch(trans.type)
     {
      case TRADE_TRANSACTION_REQUEST: if((order_id!=0) && (result.request_id==order_id))
        {
         order_ticket=result.order;
         Print(__FUNCTION__, ": TRADE_TRANSACTION_REQUEST --> Order got ticket.");
         order_id=0;
        }
      break;
      case TRADE_TRANSACTION_ORDER_UPDATE:  if((order_ticket!=0) && (trans.order==order_ticket))
        {
          switch(trans.order_state)
         {
          case ORDER_STATE_PLACED:
            Print(__FUNCTION__, ": TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Order place done.");
          break;
         }
        }
      break;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void SetOrder()
  {
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
   order_id=0;
   order_ticket=0;
   request.magic=Magic;
   request.symbol=Symbol();
   request.volume=1;
   request.type_filling=ORDER_FILLING_RETURN;
   request.type_time=ORDER_TIME_DAY;
   request.action=TRADE_ACTION_PENDING;
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.comment="";
   request.price=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MAX);
   if(OrderSendAsync(request,result))
     {
      if((result.retcode==TRADE_RETCODE_PLACED) || (result.retcode==TRADE_RETCODE_DONE))
        {
         order_id=result.request_id;
         Print(__FUNCTION__, ": Order send to server.");
        }
     }
   else
     {Print("Order not send.");}
  }
//+------------------------------------------------------------------+

终端日志

2017.02.17 14:48:33.361 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121900
2017.02.17 14:48:33.368 Trades  '1007932': accepted sell limit 1.00 RTS-3.17 at 121900
2017.02.17 14:48:33.369 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121900 placed for execution in 8.077 ms

8毫秒。

专家日志。

2017.02.17 14:48:33.361 Test_delay (RTS-3.17,M1)        SetOrder: Order send to server.
2017.02.17 14:48:33.369 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
2017.02.17 14:48:33.377 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Order place done.

16毫秒。

专家的 "TORRIBLE "在哪里?

 

现在通过添加同步订单设置使任务复杂化

//+------------------------------------------------------------------+
//|                                                   Test_delay.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

ulong order_ticket;
ulong sync_order;
ulong Magic=1234567890;
ulong order_id;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetOrder();
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
   switch(trans.type)
     {
      case TRADE_TRANSACTION_REQUEST: if((order_id!=0) && (result.request_id==order_id))
        {
         order_ticket=result.order;
         Print(__FUNCTION__, ": TRADE_TRANSACTION_REQUEST --> Order got ticket.");
         order_id=0;
        }
      break;
      case TRADE_TRANSACTION_ORDER_UPDATE:  if((order_ticket>0) && (trans.order==order_ticket))
        {
          switch(trans.order_state)
         {
          case ORDER_STATE_PLACED:
            Print(__FUNCTION__, ": TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.");
            SetSyncOrder();
          break;
         }
        }
        else
        if((sync_order>0) && (trans.order==sync_order))
          {
             switch(trans.order_state)
           {
            case ORDER_STATE_PLACED:
              Print(__FUNCTION__, ": TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done. And found in terminal.");
            break;
           }
          }
        
      break;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void SetSyncOrder()
  {
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
   order_id=0;
   sync_order=0;
   request.magic=Magic;
   request.symbol=Symbol();
   request.volume=1;
   request.type_filling=ORDER_FILLING_RETURN;
   request.type_time=ORDER_TIME_DAY;
   request.action=TRADE_ACTION_PENDING;
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.comment="";
   request.price=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MAX);
   Print(__FUNCTION__, ": Sync Order send to server...");
   if(OrderSend(request,result))
     {
      if((result.retcode==TRADE_RETCODE_PLACED) || (result.retcode==TRADE_RETCODE_DONE))
        {
         sync_order=result.order;
         Print(__FUNCTION__, ": Sync Order place done? but nof found in terminal.");
        }
     }
   else
     {Print("Order not send.");}
  }
  //---------------------
  void SetOrder()
  {
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
   order_id=0;
   order_ticket=0;
   request.magic=Magic;
   request.symbol=Symbol();
   request.volume=1;
   request.type_filling=ORDER_FILLING_RETURN;
   request.type_time=ORDER_TIME_DAY;
   request.action=TRADE_ACTION_PENDING;
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.comment="";
   request.price=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MAX);
   Print(__FUNCTION__, ": Async Order send to server...");
   if(OrderSendAsync(request,result))
     {
      if((result.retcode==TRADE_RETCODE_PLACED) || (result.retcode==TRADE_RETCODE_DONE))
        {
         order_id=result.request_id;
         Print(__FUNCTION__, ": Async Order got request ID.");
        }
     }
   else
     {Print("Order not send.");}
  }
//+------------------------------------------------------------------+

终端日志

2017.02.17 15:17:15.279 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121900
2017.02.17 15:17:15.292 Trades  '1007932': accepted sell limit 1.00 RTS-3.17 at 121900
2017.02.17 15:17:15.292 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121900 placed for execution in 13.559 ms
2017.02.17 15:17:15.297 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121900
2017.02.17 15:17:15.308 Trades  '1007932': accepted sell limit 1.00 RTS-3.17 at 121900
2017.02.17 15:17:15.310 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121900 placed for execution
2017.02.17 15:17:15.317 Trades  '1007932': order #54040029 sell limit 1.00 / 1.00 RTS-3.17 at 121900 done in 19.853 ms

异步模式 - 13毫秒。(放置执行)

同步 - 20毫秒。

专家顾问日志


2017.02.17 15:17:15.277 Test_delay (RTS-3.17,M1)        SetOrder: Async Order send to server...
2017.02.17 15:17:15.279 Test_delay (RTS-3.17,M1)        SetOrder: Async Order got request ID.
2017.02.17 15:17:15.292 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
2017.02.17 15:17:15.297 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.
2017.02.17 15:17:15.297 Test_delay (RTS-3.17,M1)        SetSyncOrder: Sync Order send to server...
2017.02.17 15:17:15.317 Test_delay (RTS-3.17,M1)        SetSyncOrder: Sync Order place done? but nof found in terminal.
2017.02.17 15:17:15.317 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done. And found in terminal.

异步模式 - 20毫秒。(其中终端7毫秒做????)

同步模式 - 20毫秒。

 

我们自己永远无法弄清延误的原因。

因为FORTS的连接是如下的。

终端-->互联网-->经纪人网络-->MT5服务器-->经纪人网络-->互联网--终端

除非开发商自己愿意处理延迟问题,否则就会是这样的情况。

 
prostotrader:

而现在要通过增加一个同步订单设置来使任务复杂化

CI      0       14:59:53.943    Trades  '5122740': sell limit 1.00 MIX-3.17 at 225925
KL      0       14:59:53.997    Trades  '5122740': accepted sell limit 1.00 MIX-3.17 at 225925
OH      0       14:59:54.025    Trades  '5122740': order #134542376 sell limit 1.00 / 1.00 MIX-3.17 at market done in 82.884 ms
JF      0       14:59:54.026    Trades  '5122740': sell limit 1.00 MIX-3.17 at 225925
KM      0       14:59:54.082    Trades  '5122740': accepted sell limit 1.00 MIX-3.17 at 225925
PI      0       14:59:54.082    Trades  '5122740': order #134542377 sell limit 1.00 / 1.00 MIX-3.17 at market done in 57.025 ms
EN      0       14:59:53.942    Test (MIX-3.17,M1)      SetOrder: Async Order send to server...
PP      0       14:59:53.943    Test (MIX-3.17,M1)      SetOrder: Async Order got request ID.
JF      0       14:59:54.025    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
GP      0       14:59:54.026    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.
KD      0       14:59:54.026    Test (MIX-3.17,M1)      SetSyncOrder: Sync Order send to server...
JM      0       14:59:54.082    Test (MIX-3.17,M1)      SetSyncOrder: Sync Order place done? but nof found in terminal.
DE      0       14:59:54.082    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done. And found in terminal.

MQ-Demo。

 
prostotrader:

我们自己永远无法弄清延误的原因。

因为FORTS的连接是如下的。

终端-->互联网-->经纪人网络-->MT5服务器-->经纪人网络-->互联网--终端

除非开发商自己愿意处理延迟问题,否则就会是这样的情况。

嗯,MQ-Demo上有刹车,所以他们会消除这些刹车。而且100%会减少其他服务器上的滞后。
 
fxsaber:

CI      0       14:59:53.943    Trades  '5122740': sell limit 1.00 MIX-3.17 at 225925
KL      0       14:59:53.997    Trades  '5122740': accepted sell limit 1.00 MIX-3.17 at 225925
OH      0       14:59:54.025    Trades  '5122740': order #134542376 sell limit 1.00 / 1.00 MIX-3.17 at market done in 82.884 ms
JF      0       14:59:54.026    Trades  '5122740': sell limit 1.00 MIX-3.17 at 225925
KM      0       14:59:54.082    Trades  '5122740': accepted sell limit 1.00 MIX-3.17 at 225925
PI      0       14:59:54.082    Trades  '5122740': order #134542377 sell limit 1.00 / 1.00 MIX-3.17 at market done in 57.025 ms
EN      0       14:59:53.942    Test (MIX-3.17,M1)      SetOrder: Async Order send to server...
PP      0       14:59:53.943    Test (MIX-3.17,M1)      SetOrder: Async Order got request ID.
JF      0       14:59:54.025    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
GP      0       14:59:54.026    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.
KD      0       14:59:54.026    Test (MIX-3.17,M1)      SetSyncOrder: Sync Order send to server...
JM      0       14:59:54.082    Test (MIX-3.17,M1)      SetSyncOrder: Sync Order place done? but nof found in terminal.
DE      0       14:59:54.082    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done. And found in terminal.

MQ-Demo。

难道这一点没有任何疑问吗?

JF      0       14:59:54.025    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
GP      0       14:59:54.026    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.

1ms - 不!

再次检查。

添加

我是在1525版本上测试的

 
prostotrader:

这一点有什么疑问吗?

JF      0       14:59:54.025    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
GP      0       14:59:54.026    Test (MIX-3.17,M1)      OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.

1ms - 不!

我唯一的疑问是终端自己记录的时间。

这就是为什么我做了以下工作

//+------------------------------------------------------------------+
//|                                                   Test_delay.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

ulong order_ticket;
ulong sync_order;
ulong Magic=1234567890;
ulong order_id;

ulong StartTime;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   StartTime = GetMicrosecondCount();
  
   SetOrder();
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
   switch(trans.type)
     {
      case TRADE_TRANSACTION_REQUEST: if((order_id!=0) && (result.request_id==order_id))
        {
         Print(DoubleToString((GetMicrosecondCount() - StartTime) / 1000.0, 3));
         order_ticket=result.order;
         Print(__FUNCTION__, ": TRADE_TRANSACTION_REQUEST --> Order got ticket.");
         order_id=0;
        }
      break;
      case TRADE_TRANSACTION_ORDER_UPDATE:  if((order_ticket>0) && (trans.order==order_ticket))
        {
          switch(trans.order_state)
         {
          case ORDER_STATE_PLACED:
            Print(DoubleToString((GetMicrosecondCount() - StartTime) / 1000.0, 3));
            
            Print(__FUNCTION__, ": TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.");
            
            SetSyncOrder();
          break;
         }
        }
        else
        if((sync_order>0) && (trans.order==sync_order))
          {
             switch(trans.order_state)
           {
            case ORDER_STATE_PLACED:
              Print(DoubleToString((GetMicrosecondCount() - StartTime) / 1000.0, 3));            
              
              Print(__FUNCTION__, ": TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done. And found in terminal.");
            break;
           }
          }
        
      break;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void SetSyncOrder()
  {
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
   order_id=0;
   sync_order=0;
   request.magic=Magic;
   request.symbol=Symbol();
   request.volume=1;
   request.type_filling=ORDER_FILLING_RETURN;
   request.type_time=ORDER_TIME_DAY;
   request.action=TRADE_ACTION_PENDING;
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.comment="";
   request.price=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MAX);
   Print(__FUNCTION__, ": Sync Order send to server...");

   StartTime = GetMicrosecondCount();
  
   if(OrderSend(request,result))
     {
      if((result.retcode==TRADE_RETCODE_PLACED) || (result.retcode==TRADE_RETCODE_DONE))
        {
         sync_order=result.order;
         Print(__FUNCTION__, ": Sync Order place done? but nof found in terminal.");
        }
     }
   else
     {Print("Order not send.");}
  }
  //---------------------
  void SetOrder()
  {
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
   order_id=0;
   order_ticket=0;
   request.magic=Magic;
   request.symbol=Symbol();
   request.volume=1;
   request.type_filling=ORDER_FILLING_RETURN;
   request.type_time=ORDER_TIME_DAY;
   request.action=TRADE_ACTION_PENDING;
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.comment="";
   request.price=SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MAX);
   Print(__FUNCTION__, ": Async Order send to server...");

   StartTime = GetMicrosecondCount();
  
   if(OrderSendAsync(request,result))
     {
      if((result.retcode==TRADE_RETCODE_PLACED) || (result.retcode==TRADE_RETCODE_DONE))
        {
         order_id=result.request_id;
         Print(__FUNCTION__, ": Async Order got request ID.");
        }
     }
   else
     {Print("Order not send.");}
  }
//+------------------------------------------------------------------+

你能得到什么?

 
fxsaber:

你得到了什么?

2017.02.17 16:20:47.292 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121520
2017.02.17 16:20:47.299 Trades  '1007932': accepted sell limit 1.00 RTS-3.17 at 121520
2017.02.17 16:20:47.300 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121520 placed for execution in 8.287 ms
2017.02.17 16:20:47.307 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121520
2017.02.17 16:20:47.315 Trades  '1007932': accepted sell limit 1.00 RTS-3.17 at 121520
2017.02.17 16:20:47.316 Trades  '1007932': sell limit 1.00 RTS-3.17 at 121520 placed for execution
2017.02.17 16:20:47.323 Trades  '1007932': order #54042531 sell limit 1.00 / 1.00 RTS-3.17 at 121520 done in 15.978 ms


2017.02.17 16:17:57.121 Test_delay (RTS-3.17,M1)        SetOrder: Async Order send to server...
2017.02.17 16:17:57.122 Test_delay (RTS-3.17,M1)        SetOrder: Async Order got request ID.
2017.02.17 16:17:57.132 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
2017.02.17 16:17:57.146 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.
2017.02.17 16:17:57.146 Test_delay (RTS-3.17,M1)        SetSyncOrder: Sync Order send to server...
2017.02.17 16:17:57.161 Test_delay (RTS-3.17,M1)        SetSyncOrder: Sync Order place done, but not found in terminal.
2017.02.17 16:17:57.161 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done and found in terminal.
2017.02.17 16:20:47.291 Test_delay (RTS-3.17,M1)        SetOrder: Async Order send to server...
2017.02.17 16:20:47.292 Test_delay (RTS-3.17,M1)        SetOrder: Async Order got request ID.
2017.02.17 16:20:47.300 Test_delay (RTS-3.17,M1)        8.305
2017.02.17 16:20:47.300 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_REQUEST --> Order got ticket.
2017.02.17 16:20:47.307 Test_delay (RTS-3.17,M1)        15.644
2017.02.17 16:20:47.307 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Async Order place done.
2017.02.17 16:20:47.307 Test_delay (RTS-3.17,M1)        SetSyncOrder: Sync Order send to server...
2017.02.17 16:20:47.323 Test_delay (RTS-3.17,M1)        SetSyncOrder: Sync Order place done? but nof found in terminal.
2017.02.17 16:20:47.323 Test_delay (RTS-3.17,M1)        16.033
2017.02.17 16:20:47.323 Test_delay (RTS-3.17,M1)        OnTradeTransaction: TRADE_TRANSACTION_ORDER_UPDATE --> ORDER_STATE_PLACED --> Sync order place done. And found in terminal.

图片1533。

添加

计时有什么意义,那么在这么小的时间 范围内,当地的 时间怎么会准确呢?