Обычно за время в пределах пинга.
Сами замерьте время появления простым скриптом, не забывая о стандартных ошибках кеширования счетчиков.
получается долго.
пинг вроде нормальный
вот пример:
эксперт каждый тик выводит информацию о сколько сделок в истории:
LN 0 17:26:42.126 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=305 OO 0 17:26:44.153 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GL 0 17:26:44.504 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 HM 0 17:26:44.615 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 LJ 0 17:26:44.945 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GK 0 17:26:45.143 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 OI 0 17:26:48.418 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GF 0 17:26:49.464 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GG 0 17:26:49.635 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 CD 0 17:26:49.699 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 RE 0 17:26:49.986 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GR 0 17:26:50.161 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 CS 0 17:26:50.343 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 JP 0 17:26:50.515 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 CN 0 17:26:50.585 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 FO 0 17:26:51.484 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 NL 0 17:26:51.530 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 DM 0 17:26:51.608 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 HJ 0 17:26:51.657 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 JK 0 17:26:51.721 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 DH 0 17:26:52.557 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 RI 0 17:26:52.920 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 MG 0 17:26:53.089 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 LD 0 17:26:55.070 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=307
а теперь смотрим в журнал:
OI 0 17:10:01.837 Terminal stopped CM 0 17:26:24.931 Terminal MetaTrader 5 Alfa-Forex build 999 started (Альфа-Форекс) RE 0 17:26:25.442 OpenCL Device #0: GPU NVIDIA Corporation GeForce GTX 560 Ti with OpenCL 1.1 (8 units, 1645 MHz, 1024 Mb, version 340.52, rating 584) PG 0 17:26:26.415 Network '50004487': authorized on AlfaForex-Real through Access Server_4 OG 0 17:26:26.415 Network '50004487': previous successful authorization performed from 109.86.244.240 on 2014.10.31 18:09:48 EG 0 17:26:26.508 Network '50004487': terminal synchronized with Альфа-Форекс FP 0 17:26:26.945 Experts expert Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) loaded successfully OM 0 17:26:37.245 Trades '50004487': instant sell 1.00 EURUSD at 1.25130 NF 0 17:26:37.292 Trades '50004487': accepted instant sell 1.00 EURUSD at 1.25130 RQ 0 17:26:37.292 Trades '50004487': order #108383399 sell 1.00 / 1.00 EURUSD at 1.25130 done in 46 ms GR 0 17:26:37.292 Trades '50004487': deal #107337618 sell 1.00 EURUSD at 1.25130 done (based on order #108383399) GJ 0 17:26:49.163 Trades '50004487': instant sell 1.00 EURUSD at 1.25127 IG 0 17:26:49.209 Trades '50004487': accepted instant sell 1.00 EURUSD at 1.25127 IN 0 17:26:49.209 Trades '50004487': order #108383400 sell 1.00 / 1.00 EURUSD at 1.25127 done in 45 ms RS 0 17:26:49.209 Trades '50004487': deal #107337619 sell 1.00 EURUSD at 1.25127 done (based on order #108383400) LD 0 17:28:02.841 Experts AutoTrading is disabled
например я открыл сделку
GR 0 17:26:37.292 Trades '50004487': deal #107337618 sell 1.00 EURUSD at 1.25130 done (based on order #108383399)
но запись в эксперте , который выводит количество сделок появилась только :
OO 0 17:26:44.153 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306
далее открыл еще одну сделку:
RS 0 17:26:49.209 Trades '50004487': deal #107337619 sell 1.00 EURUSD at 1.25127 done (based on order #108383400)
но запись появилась только :
LD 0 17:26:55.070 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=307
Т.е. 7 секунд спустя, поэтому простой код по нахождению последней сделки, а именно, профит ли был получен на последней сделке или нет - не работает.
Хотя в тестере все ок.
Сама функция определения стопа:
int isCloseLastPosByStop(string sym="") { int total=0; // Всего сделок в списке выбранной истории ulong ticket=0; // Тикет сделки string deal_symbol=""; // Символ сделки double deal_price=-1; datetime end=TimeCurrent(); //--- начальную границу установим на 3 дня назад datetime start=end-3*PeriodSeconds(PERIOD_D1); //--- запросим в кэш программы торговую историю за последние 3 дня HistorySelect(start,end); { // Получим количество сделок в полученном списке total=HistoryDealsTotal()-1; //--- // Пройдем в цикле по всем сделкам в полученном списке // от последней сделки в списке к первой for(int i=total; i>=0; i--) { // Если тикет сделки по её позиции в списке получен, то... if((ticket=HistoryDealGetTicket(i))>0) if(HistoryDealGetInteger(ticket,DEAL_ENTRY)==DEAL_ENTRY_OUT) { ticket=HistoryDealGetTicket(i); deal_symbol=HistoryDealGetString(ticket,DEAL_SYMBOL); // получим символ сделки deal_price=HistoryDealGetDouble(ticket,DEAL_PROFIT); // получим цену сделки //--- // Если символ сделки и текущий символ равны, остановим цикл if(deal_symbol==sym) { break; } } } } if(deal_price<0) return(1); if(deal_price==0) return(2); return(0); }
А почему вы на тиках ловите?
Совершили сделку и начинайте проверять наличии транзакции в истории, делая Sleep(1) между запросами
всмысле через OnTrade?
так какая разница, Все равно даже после сделки он возвращает старое значение сделок:
RS 0 17:26:49.209 Trades '50004487': deal #107337619 sell 1.00 EURUSD at 1.25127 done (based on order #108383400) Это моя сделка
OO 0 17:26:44.153 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GL 0 17:26:44.504 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 HM 0 17:26:44.615 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 LJ 0 17:26:44.945 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GK 0 17:26:45.143 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 OI 0 17:26:48.418 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GF 0 17:26:49.464 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GG 0 17:26:49.635 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 CD 0 17:26:49.699 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 RE 0 17:26:49.986 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 GR 0 17:26:50.161 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 CS 0 17:26:50.343 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 JP 0 17:26:50.515 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 CN 0 17:26:50.585 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 FO 0 17:26:51.484 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 NL 0 17:26:51.530 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 DM 0 17:26:51.608 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 HJ 0 17:26:51.657 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 JK 0 17:26:51.721 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 DH 0 17:26:52.557 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 RI 0 17:26:52.920 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306 MG 0 17:26:53.089 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=306
LD 0 17:26:55.070 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) isCloseLastPosByStopProfit=1.28HistoryDealsTotal()=307 появилась только здесь
что то не то: код:
void OnTrade() { Print("OnTrade HistoryDealsTotal()="+HistoryDealsTotal()); } void OnTick() { Print("OnTick HistoryDealsTotal()="+HistoryDealsTotal()); }
список в логах эксперта:
MP 0 17:59:44.054 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=0 DL 0 17:59:44.118 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 LI 0 17:59:44.196 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 GE 0 17:59:44.540 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 MQ 0 17:59:45.080 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 NM 0 17:59:45.092 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 GI 0 17:59:45.129 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 LE 0 17:59:45.270 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 EQ 0 17:59:45.448 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 DM 0 17:59:45.867 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 MF 0 17:59:46.285 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 OR 0 17:59:46.579 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 KQ 0 17:59:46.587 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 KE 0 17:59:46.587 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 KI 0 17:59:46.587 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 JM 0 17:59:46.588 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 PN 0 17:59:46.590 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 HJ 0 17:59:46.798 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 KF 0 17:59:46.894 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 DR 0 17:59:46.961 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 KN 0 17:59:47.176 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 KJ 0 17:59:47.323 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 EG 0 17:59:47.475 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 ES 0 17:59:47.703 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 LO 0 17:59:47.768 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 RK 0 17:59:48.064 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 NG 0 17:59:48.091 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 DS 0 17:59:48.440 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 NO 0 17:59:48.873 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 ID 0 17:59:48.880 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 JH 0 17:59:48.881 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 JL 0 17:59:48.881 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 JP 0 17:59:48.881 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 JK 0 17:59:49.232 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 KD 0 17:59:49.453 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 OP 0 17:59:49.545 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 GL 0 17:59:49.596 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 QH 0 17:59:49.705 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 ID 0 17:59:49.895 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 NP 0 17:59:50.146 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 QL 0 17:59:50.426 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 IH 0 17:59:50.785 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 CJ 0 17:59:50.980 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 EN 0 17:59:50.982 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 GR 0 17:59:50.984 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 HF 0 17:59:50.985 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 IJ 0 17:59:50.986 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307 MQ 0 17:59:50.989 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 EM 0 17:59:51.102 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 CI 0 17:59:53.775 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307 DE 0 17:59:53.854 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 LQ 0 17:59:53.917 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 PM 0 17:59:54.086 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 FI 0 17:59:54.273 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 GE 0 17:59:54.443 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 PN 0 17:59:54.554 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 KJ 0 17:59:54.641 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 FF 0 17:59:54.691 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 OR 0 17:59:54.740 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 PN 0 17:59:54.815 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308 JJ 0 17:59:55.004 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 QF 0 17:59:55.597 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 PR 0 17:59:55.820 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 QO 0 17:59:56.051 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 NK 0 17:59:56.254 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 RG 0 17:59:56.436 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 FS 0 17:59:56.816 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=309 PO 0 17:59:57.006 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310 IK 0 17:59:58.000 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310 DG 0 17:59:58.177 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310 IS 0 17:59:58.242 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310 OL 0 17:59:58.303 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310 EH 0 17:59:58.518 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310 KD 0 17:59:58.752 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=310
открывал сделки в такое время:
LD 0 17:59:46.453 Trades '50004487': instant sell 1.00 EURUSD at 1.25288 HL 0 17:59:46.535 Trades '50004487': accepted instant sell 1.00 EURUSD at 1.25288 NH 0 17:59:46.535 Trades '50004487': order #108383590 sell 1.00 / 1.00 EURUSD at 1.25289 done in 82 ms LI 0 17:59:46.535 Trades '50004487': deal #107337790 sell 1.00 EURUSD at 1.25289 done (based on order #108383590) PE 0 17:59:48.716 Trades '50004487': instant sell 1.00 EURUSD at 1.25280 LM 0 17:59:48.797 Trades '50004487': accepted instant sell 1.00 EURUSD at 1.25280 JI 0 17:59:48.797 Trades '50004487': order #108383592 sell 1.00 / 1.00 EURUSD at 1.25281 done in 80 ms MJ 0 17:59:48.798 Trades '50004487': deal #107337792 sell 1.00 EURUSD at 1.25281 done (based on order #108383592) LR 0 17:59:50.823 Trades '50004487': instant sell 1.00 EURUSD at 1.25284 HN 0 17:59:50.923 Trades '50004487': accepted instant sell 1.00 EURUSD at 1.25284 KH 0 17:59:50.923 Trades '50004487': deal #107337794 sell 1.00 EURUSD at 1.25284 done (based on order #108383594) RG 0 17:59:50.923 Trades '50004487': order #108383594 sell 1.00 / 1.00 EURUSD at 1.25284 done in 100 ms LN 0 17:59:58.809 Experts expert Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) removed
Т.е. открыл например в
LI 0 17:59:46.535 Trades '50004487': deal #107337790 sell 1.00 EURUSD at 1.25289 done (based on order #108383590)
Запись в журнале трейд:
KQ 0 17:59:46.587 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTrade HistoryDealsTotal()=307
Запись в тиках
PN 0 17:59:46.590 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=307
И только :
DE 0 17:59:53.854 Exp - max-4@list.ru ZigZag MT5 4 (EURUSD,M1) OnTick HistoryDealsTotal()=308
спустя 7 секунд появилась запись
тот же самый эффект, история не обновляется сразу.
void OnTrade() { datetime end=TimeCurrent(); //--- начальную границу установим на 3 дня назад datetime start=end-3*PeriodSeconds(PERIOD_D1); //--- запросим в кэш программы торговую историю за последние 3 дня HistorySelect(start,end); Print("OnTrade HistoryDealsTotal()="+HistoryDealsTotal()); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTradeTransaction( const MqlTradeTransaction& trans, // структура торговой транзакции const MqlTradeRequest& request, // структура запроса const MqlTradeResult& result // структура ответа ) { datetime end=TimeCurrent(); //--- начальную границу установим на 3 дня назад datetime start=end-3*PeriodSeconds(PERIOD_D1); //--- запросим в кэш программы торговую историю за последние 3 дня HistorySelect(start,end); Print("OnTradeTransaction HistoryDealsTotal()="+HistoryDealsTotal()); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick() { datetime end=TimeCurrent(); //--- начальную границу установим на 3 дня назад datetime start=end-3*PeriodSeconds(PERIOD_D1); //--- запросим в кэш программы торговую историю за последние 3 дня HistorySelect(start,end); Print("OnTick HistoryDealsTotal()="+HistoryDealsTotal()); }
Что можно придумать чтобы история сразу обновлялась?
Как быстро обновляется история сделок в МТ5
спрашиваю потому что заметил что при закрытии сделки на терминале, она вроде есть в истории сделки сразу,
но эксперты выводит информацию о предпоследней сделке,
и только через 3 секунде о той которая была закрыта последней.
Заметил вот какую штуку. При отправки асинхронного торгового приказа например на открытие ордера по рынку, через некоторое время приходит событие OnTradeTransaction. В нем структура MqlTradeResult содержит идентификатор сделки, которая была совершена. Однако счетчик сделок HistoryDealsTotal молчит а попытки получить ее свойства прямо в OnTradeTransaction заканчиваются неудачей. Через миллисекунд 100-150 сделка попадает в историю сделок, HistoryDealsTotal возвращает новое значение, и ее свойства становятся доступны.
В общем складывается впечатления что событие о совершении сделки приходит раньше чем обновляется торговое окружение.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как быстро обновляется история сделок в МТ5
спрашиваю потому что заметил что при закрытии сделки на терминале, она вроде есть в истории сделки сразу,
но эксперты выводит информацию о предпоследней сделке,
и только через 3 секунде о той которая была закрыта последней.