堡垒。执法问题 - 页 83

 
fxsaber:

Alpari-MT5-演示服务器。这个脚本 被执行了两次。

2017.02.08 22:55:13.170 Trades  '50075899': market buy 1.00 BRN
2017.02.08 22:55:15.817 Trades  '50075899': accepted market buy 1.00 BRN
2017.02.08 22:55:15.817 Trades  '50075899': deal #4163994 buy 1.00 BRN at 55.41 done (based on order #5506688)
2017.02.08 22:55:15.827 Trades  '50075899': order #5506688 buy 1.00 / 1.00 BRN at 55.41 done in 2658.948 ms
2017.02.08 22:55:15.827 Trades  '50075899': modify #5506688 buy 1.00 BRN sl: 0.00, tp: 0.00 -> sl: 54.41, tp: 56.41
2017.02.08 22:55:17.270 Trades  '50075899': accepted modify #5506688 buy 1.00 BRN sl: 0.00, tp: 0.00 -> sl: 54.41, tp: 56.41
2017.02.08 22:55:18.124 Trades  '50075899': modify #5506688 buy 1.00 BRN -> sl: 54.41, tp: 56.41 done in 2295.483 ms
2017.02.08 22:55:18.124 Trades  '50075899': market sell 1.00 BRN, close #5506688 buy 1.00 BRN 55.41
2017.02.08 22:55:23.246 Trades  '50075899': accepted market sell 1.00 BRN, close #5506688 buy 1.00 BRN 55.41
2017.02.08 22:55:23.246 Trades  '50075899': deal #4163995 sell 1.00 BRN at 55.27 done (based on order #5506689)
2017.02.08 22:55:23.246 Trades  '50075899': order #5506689 sell 1.00 / 1.00 BRN at 55.27 done in 5119.709 ms

2017.02.08 22:55:23.246 Trades  '50075899': buy limit 1.00 BRN at 54.40
2017.02.08 22:55:23.309 Trades  '50075899': accepted buy limit 1.00 BRN at 54.40
2017.02.08 22:55:23.314 Trades  '50075899': order #5506691 buy limit 1.00 / 1.00 BRN at market done in 66.501 ms
2017.02.08 22:55:23.314 Trades  '50075899': cancel order #5506691 buy limit 1.00 BRN at 54.40
2017.02.08 22:55:23.376 Trades  '50075899': accepted cancel order #5506691 buy limit 1.00 BRN at 54.40
2017.02.08 22:55:23.379 Trades  '50075899': cancel #5506691 buy limit 1.00 BRN at market done in 64.586 ms

2017.02.08 22:55:48.729 Trades  '50075899': market buy 1.00 BRN
2017.02.08 22:55:48.801 Trades  '50075899': accepted market buy 1.00 BRN
2017.02.08 22:55:48.801 Trades  '50075899': deal #4163999 buy 1.00 BRN at 55.39 done (based on order #5506694)
2017.02.08 22:55:48.809 Trades  '50075899': order #5506694 buy 1.00 / 1.00 BRN at 55.39 done in 78.782 ms
2017.02.08 22:55:48.809 Trades  '50075899': modify #5506694 buy 1.00 BRN sl: 0.00, tp: 0.00 -> sl: 54.39, tp: 56.39
2017.02.08 22:55:48.879 Trades  '50075899': accepted modify #5506694 buy 1.00 BRN sl: 0.00, tp: 0.00 -> sl: 54.39, tp: 56.39
2017.02.08 22:55:48.886 Trades  '50075899': modify #5506694 buy 1.00 BRN -> sl: 54.39, tp: 56.39 done in 77.030 ms
2017.02.08 22:55:48.886 Trades  '50075899': market sell 1.00 BRN, close #5506694 buy 1.00 BRN 55.39
2017.02.08 22:55:48.961 Trades  '50075899': accepted market sell 1.00 BRN, close #5506694 buy 1.00 BRN 55.39
2017.02.08 22:55:48.966 Trades  '50075899': deal #4164000 sell 1.00 BRN at 55.27 done (based on order #5506695)
2017.02.08 22:55:48.966 Trades  '50075899': order #5506695 sell 1.00 / 1.00 BRN at 55.27 done in 79.688 ms
2017.02.08 22:55:48.966 Trades  '50075899': buy limit 1.00 BRN at 54.39
2017.02.08 22:55:49.034 Trades  '50075899': accepted buy limit 1.00 BRN at 54.39
2017.02.08 22:55:49.041 Trades  '50075899': order #5506696 buy limit 1.00 / 1.00 BRN at market done in 75.393 ms
2017.02.08 22:55:49.041 Trades  '50075899': cancel order #5506696 buy limit 1.00 BRN at 54.39
2017.02.08 22:55:49.116 Trades  '50075899': accepted cancel order #5506696 buy limit 1.00 BRN at 54.39
2017.02.08 22:55:49.116 Trades  '50075899': cancel #5506696 buy limit 1.00 BRN at market done in 83.423 ms

几乎所有的演示服务器都会出现这种意外的减速。因此,问题不仅涉及FORTS。

在这种情况下,开发商应该更容易处理,因为没有桥梁。看一下这种情况吧。

我没有演示,我有一个真实的。
 
prostotrader:
我没有演示,我有一个真实的。

因此,在你的情况下,开发商更难理清。

演示 - 从Metatrader生态系统中没有任何东西可以进入。也就是说,不能把问题归咎于任何人,因此更容易实现本地化。

 
fxsaber:

Alpari-MT5-演示服务器。这个脚本 被执行了两次。

几乎所有的演示服务器都会出现这种意外的减速。因此,问题不仅涉及FORTS。

在这种情况下,开发商应该更容易处理,因为没有桥梁。看一下这种情况吧。

MT5的构建号是什么?
 
Rashid Umarov:
MT5的构建号是什么?
1525.
 
Rashid Umarov:

发现了一个可复制的刹车案例!

FIBOGroup-MT5服务器,演示版,基础货币USD,净值化,构建1525。

仍在运行测试脚本(如果版主能更新圣经,就能成功)。连续两次运行的日志

2017.02.09 09:28:19.404 Scripts script MT4Statement (EURUSD,M1) loaded successfully
2017.02.09 09:28:19.414 Trades  '1013175': exchange buy 1.00 EURUSD at market
2017.02.09 09:28:20.499 Trades  '1013175': deal #1542820 buy 1.00 EURUSD at 1.06721 done (based on order #2246203)
2017.02.09 09:28:20.499 Trades  '1013175': order #2246203 buy 1.00 / 1.00 EURUSD at 1.06721 done in 1078.071 ms

2017.02.09 09:28:20.499 Trades  '1013175': modify #2246203 buy 1.00 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06621, tp: 1.06821
2017.02.09 09:28:20.557 Trades  '1013175': modify #2246203 buy 1.00 EURUSD -> sl: 1.06621, tp: 1.06821 done in 57.672 ms
2017.02.09 09:28:20.557 Trades  '1013175': exchange sell 1.00 EURUSD at market, close #2246203 buy 1.00 EURUSD 1.06721
2017.02.09 09:28:21.624 Trades  '1013175': deal #1542821 sell 1.00 EURUSD at 1.06720 done (based on order #2246204)
2017.02.09 09:28:21.624 Trades  '1013175': order #2246204 sell 1.00 / 1.00 EURUSD at 1.06720 done in 1067.918 ms

2017.02.09 09:28:21.627 Trades  '1013175': buy limit 1.00 EURUSD at 1.06621
2017.02.09 09:28:21.687 Trades  '1013175': order #2246205 buy limit 1.00 / 1.00 EURUSD at market done in 60.036 ms
2017.02.09 09:28:21.687 Trades  '1013175': cancel order #2246205 buy limit 1.00 EURUSD at 1.06621
2017.02.09 09:28:21.747 Trades  '1013175': cancel #2246205 buy limit 1.00 EURUSD at market done in 59.555 ms
2017.02.09 09:28:21.747 Scripts script MT4Statement (EURUSD,M1) removed
2017.02.09 09:28:31.214 Scripts script MT4Statement (EURUSD,M1) loaded successfully
2017.02.09 09:28:31.227 Trades  '1013175': exchange buy 1.00 EURUSD at market
2017.02.09 09:28:32.302 Trades  '1013175': deal #1542822 buy 1.00 EURUSD at 1.06723 done (based on order #2246206)
2017.02.09 09:28:32.302 Trades  '1013175': order #2246206 buy 1.00 / 1.00 EURUSD at 1.06723 done in 1068.513 ms

2017.02.09 09:28:32.304 Trades  '1013175': modify #2246206 buy 1.00 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06623, tp: 1.06823
2017.02.09 09:28:32.364 Trades  '1013175': modify #2246206 buy 1.00 EURUSD -> sl: 1.06623, tp: 1.06823 done in 60.516 ms
2017.02.09 09:28:32.364 Trades  '1013175': exchange sell 1.00 EURUSD at market, close #2246206 buy 1.00 EURUSD 1.06723
2017.02.09 09:28:33.429 Trades  '1013175': deal #1542823 sell 1.00 EURUSD at 1.06722 done (based on order #2246207)
2017.02.09 09:28:33.432 Trades  '1013175': order #2246207 sell 1.00 / 1.00 EURUSD at 1.06722 done in 1068.809 ms

2017.02.09 09:28:33.432 Trades  '1013175': buy limit 1.00 EURUSD at 1.06623
2017.02.09 09:28:33.492 Trades  '1013175': order #2246208 buy limit 1.00 / 1.00 EURUSD at market done in 58.742 ms
2017.02.09 09:28:33.492 Trades  '1013175': cancel order #2246208 buy limit 1.00 EURUSD at 1.06623
2017.02.09 09:28:33.549 Trades  '1013175': cancel #2246208 buy limit 1.00 EURUSD at market done in 57.722 ms
2017.02.09 09:28:33.549 Scripts script MT4Statement (EURUSD,M1) removed

TRADE_ACTION_DEAL比其他模式要慢20倍!回放。

 
prostotrader:
2016.12.14 22:01:41.371 Trades  'xxxxx': cancel order #49932961 buy limit 1.00 CHMF-6.17 at 92501 placed for execution in 64873.549 ms

我是否正确理解,在这种情况下,OrderSend几乎立即返回真,但观察到65秒(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) ==ORDER_STATE_STARTED?

请在你的代码中加入这个检查。

 
fxsaber:

我是否正确理解,在这种情况下,OrderSend几乎立即返回真,但观察到65秒(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) ==ORDER_STATE_STARTED?

请在你的代码中加入这个检查。

我正在使用OrderSendAsync

但如果延迟超过1秒,我就检查订单状态

case ORDER_BUSY:
      switch(o_status)
      {
        case BUY_ORDER:
          BuyOrder.mem_time = GetMicrosecondCount();
          Print(__FUNCTION__, ": Buy ордер в переходном состоянии.");
        break;
        case SELL_ORDER:
          SellOrder.mem_time = GetMicrosecondCount();
          Print(__FUNCTION__, ": Sell ордер в переходном состоянии.");
        break;
      }
    break;
 
prostotrader:

我使用OrderSendAsync

但是,如果有超过1秒的延迟,我就会检查订单的状态。

case ORDER_BUSY:
      switch(o_status)
      {
        case BUY_ORDER:
          BuyOrder.mem_time = GetMicrosecondCount();
          Print(__FUNCTION__, ": Buy ордер в переходном состоянии.");
        break;
        case SELL_ORDER:
          SellOrder.mem_time = GetMicrosecondCount();
          Print(__FUNCTION__, ": Sell ордер в переходном состоянии.");
        break;
      }
    break;
因此,它仍然是开始。
 
fxsaber:
因此,开始仍在徘徊。

我不能肯定地说,因为

switch(ord_data.state)
      {
        case ORDER_STATE_STARTED:
        case ORDER_STATE_REQUEST_ADD:
        case ORDER_STATE_REQUEST_MODIFY:
        case ORDER_STATE_REQUEST_CANCEL:
          ord_data.real_state = ORDER_BUSY;
        break;

        case ORDER_STATE_PARTIAL:
          ord_data.real_state = ORDER_EXIST_PARTIAL;
        break;
                                          
        case ORDER_STATE_PLACED:
          ord_data.real_state = ORDER_EXIST;
        break;
      }


四个选项中的一个

case ORDER_STATE_STARTED:
        case ORDER_STATE_REQUEST_ADD:
        case ORDER_STATE_REQUEST_MODIFY:
        case ORDER_STATE_REQUEST_CANCEL:
 

最大的问题是这样的

是6-7毫秒,或者说刹车是无法理解的(917.779)。

2017.02.10 14:07:32.008 Trades  'xxxxx': buy limit 2.00 BR-7.17 at 56.89 placed for execution in 7.124 ms
2017.02.10 14:07:32.020 Trades  'xxxxx': cancel order #52361023 buy limit 2.00 BR-7.17 at 56.89
2017.02.10 14:07:32.025 Trades  'xxxxx': accepted cancel order #52361023 buy limit 2.00 BR-7.17 at 56.89
2017.02.10 14:07:32.026 Trades  'xxxxx': cancel order #52361023 buy limit 2.00 BR-7.17 at 56.89 placed for execution in 6.297 ms
2017.02.10 14:08:00.711 Trades  'xxxxx': modify order #52360848 sell limit 1.00 BR-9.17 at 58.40 sl: 0.00 tp: 0.00 -> 58.23, sl: 0.00 tp: 0.00
2017.02.10 14:08:01.628 Trades  'xxxxx': accepted modify order #52360848 sell limit 1.00 BR-9.17 at 58.40 sl: 0.00 tp: 0.00 -> 58.23, sl: 0.00 tp: 0.00
2017.02.10 14:08:01.629 Trades  'xxxxx': modify order #52360848 sell limit 1.00 BR-9.17 at 58.40 sl: 0.00 tp: 0.00 -> 58.23, sl: 0.00 tp: 0.00 placed for execution in 917.779 ms
2017.02.10 14:08:04.005 Trades  'xxxxx': modify order #52360848 sell limit 1.00 BR-9.17 at 58.23 sl: 0.00 tp: 0.00 -> 58.08, sl: 0.00 tp: 0.00
2017.02.10 14:08:04.011 Trades  'xxxxx': accepted modify order #52360848 sell limit 1.00 BR-9.17 at 58.23 sl: 0.00 tp: 0.00 -> 58.08, sl: 0.00 tp: 0.00
2017.02.10 14:08:04.012 Trades  'xxxxx': modify order #52360848 sell limit 1.00 BR-9.17 at 58.23 sl: 0.00 tp: 0.00 -> 58.08, sl: 0.00 tp: 0.00 placed for execution in 6.677 ms
原因: