Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сервер Alpari-MT5-Demo. Дважды выполнялся этот скрипт.
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
Такие неожиданные тормоза происходят почти на всех демо-серверах. Так что проблема касается не только ФОРТС.
Разработчикам в данном случае должно быть легче разобраться, т.к. никаких бриджей. Гляньте эту ситуацию.
У меня не ДЕМО, а РЕАЛ
Поэтому в вашем случае разработчикам куда сложнее разобраться.
Демо - никуда из экосистемы Metatrader ничего не уходит. Т.е. проблему ни на кого не повесить и, соответственно, проще локализовать.
Сервер Alpari-MT5-Demo. Дважды выполнялся этот скрипт.
Такие неожиданные тормоза происходят почти на всех демо-серверах. Так что проблема касается не только ФОРТС.
Разработчикам в данном случае должно быть легче разобраться, т.к. никаких бриджей. Гляньте эту ситуацию.
Какой номер билда MT5?
Нашелся воспроизводимый случай тормозов!
Сервер FIBOGroup-MT5 Server, демо, базовая валюта USD, Netting, build 1525.
Все так же запускаю проверочный скрипт (будет работать, если модератор обновит библу). Лог двух запусков подряд
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 раз медленнее работает, чем остальные режимы! Воспроизводится.
Правильно ли понимаю, что в данном случае OrderSend вернул true практически мгновенно, но 65 секунд наблюдалось (ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED ?
Просьба, добавьте в свой код эту проверку.
Правильно ли понимаю, что в данном случае OrderSend вернул true практически мгновенно, но 65 секунд наблюдалось (ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED ?
Просьба, добавьте в свой код эту проверку.
Я использую OrderSendAsync
Но, при задержке более 1сек, проверяю состояние ордера
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;
Я использую OrderSendAsync
Но, при задержке более 1сек, проверяю состояние ордера
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;
Значит все таки Started висит.
Точно не могу сказать, потому что
{
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;
}
Один мз 4-х вариантов
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.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