Реквоты в тестере - что такое и как бороться?

 

Пытаюсь тестировать эксперт в тестере, получаю почти все время ошибку 10004 TRADE_RETCODE_REQUOTE в ответ на OrderSend.

Вопрос раз - какие могут быть реквоты в тестере?

Вопрос два - вызов функции аналога RefreshRates (делаю путем вызовов SymbolInfoTick и SymbolInfoDouble(,SYMBOL_BID)) обновляет цену при первой попытке рефреша, но ошибка 10004 не уходит. Последующие вызовы рефреша цену уже не обновляют. Но реквотная ошибка остается.

Что делать?

Документация по MQL5: Получение рыночной информации / SymbolInfoTick
Документация по MQL5: Получение рыночной информации / SymbolInfoTick
  • www.mql5.com
Получение рыночной информации / SymbolInfoTick - Документация по MQL5
 
marketeer:

Пытаюсь тестировать эксперт в тестере, получаю почти все время ошибку 10004 TRADE_RETCODE_REQUOTE в ответ на OrderSend.

Вопрос раз - какие могут быть реквоты в тестере?

Вопрос два - вызов функции аналога RefreshRates (делаю путем вызовов SymbolInfoTick и SymbolInfoDouble(,SYMBOL_BID)) обновляет цену при первой попытке рефреша, но ошибка 10004 не уходит. Последующие вызовы рефреша цену уже не обновляют. Но реквотная ошибка остается.

Что делать?

Какая у Вас версия терминала ?

Какая deviation в запросе на установку ордера ?

В прошлом (305) билде терминала тестер, похоже, работал в режиме 'C реквотами' , а не в 'Обычном'. Об этом говорят многочисленные сообщения в логе типа 'Price corrected from...':

JN    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:22    2010.01.22 17:00:04   NewBar EURAUD 17:0:3
JH    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:22    2010.01.22 17:00:07   vol= 0.7
QH    0    Trade    10:38:22    2010.01.22 17:00:07   price corrected from 1.56129 to 1.56127, deviation: 30 (instant buy 0.70 EURAUD at 1.56129 sl: 1.54329 tp: 1.59129)(1.56066 / 1.56127 / 1.56066)
QL    0    Trade    10:38:22    2010.01.22 17:00:07   instant buy 0.70 EURAUD at 1.56127 sl: 1.54329 tp: 1.59129 (1.56066 / 1.56127 / 1.56066)
CL    0    Trades    10:38:22    2010.01.22 17:00:07   deal #104 buy 0.70 EURAUD at 1.56127 done (based on order #104)
GJ    0    Trade    10:38:22    2010.01.22 17:00:07   deal performed [#104 buy 0.70 EURAUD at 1.56127]
GE    0    Trade    10:38:22    2010.01.22 17:00:07   order performed buy 0.70 at 1.56127 [#104 buy 0.70 EURAUD at 1.56127]
NK    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:22    2010.01.22 17:00:07   Long Position by EURAUD to be opened
GQ    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:22    2010.01.22 17:00:07   Margin Level= 390.14
JP    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:23    2010.01.22 18:00:01   NewBar EURAUD 18:0:1
PF    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:23    2010.01.22 18:00:01   NewBar EURUSD 18:0:1
FJ    0    PriceChannel_multi_Ch (EURUSD,H1)    10:38:23    2010.01.22 18:00:04   NewBar USDJPY 18:0:3

MN    0    Trade    10:38:23   

Приводятся параметры ордера и deviation. Если новая цена влазит в deviation, то реквота не выдаётся. Если нет, то выдаётся реквота с новой ценой. После обновления цен и повторного запроса ордер устанавливается, повторная реквота не выдаётся :

ND    0    PriceChannel_multi_Ch (EURUSD,H1)    10:41:05    2010.05.21 02:00:01   NewBar EURAUD 2:0:0
JG    0    PriceChannel_multi_Ch (EURUSD,H1)    10:41:05    2010.05.21 02:00:04   vol= 2.6
LS    0    Trade    10:41:05    2010.05.21 02:00:04   requote 1.53480 / 1.53570 / 1.53480 (instant buy 2.60 EURAUD at 1.53644 sl: 1.51844 tp: 1.56644)
KR    0    PriceChannel_multi_Ch (EURUSD,H1)    10:41:05    2010.05.21 02:00:04   Error opening BUY position by EURAUD : 'Requote'
GO    0    PriceChannel_multi_Ch (EURUSD,H1)    10:41:05    2010.05.21 02:00:04   Open parameters : price=1.536440,TP=1.566440,SL=1.518440
GO    0    Trade    10:41:05    2010.05.21 02:00:04   instant buy 2.60 EURAUD at 1.53570 sl: 1.51770 tp: 1.56570 (1.53480 / 1.53570 / 1.53480)
FN    0    Trades    10:41:05    2010.05.21 02:00:04   deal #810 buy 2.60 EURAUD at 1.53570 done (based on order #810)
NM    0    Trade    10:41:05    2010.05.21 02:00:04   deal performed [#810 buy 2.60 EURAUD at 1.53570]
NK    0    Trade    10:41:05    2010.05.21 02:00:04   order performed buy 2.60 at 1.53570 [#810 buy 2.60 EURAUD at 1.53570]
KH    0    PriceChannel_multi_Ch (EURUSD,H1)    10:41:05    2010.05.21 02:00:04   Long Position by EURAUD to be opened
JD    0    PriceChannel_multi_Ch (EURUSD,H1)    10:41:05    2010.05.21 02:00:04   Margin Level= 1667.18

EP

В 306 билде этого нет и тест, как правило, проходит без реквот, если же единичные случаи проходят, то они корректно обрабатываются.

Так что, у Вас, похоже, ошибка в коде.

 

Номер билда - последний (306) - они же автоматом ставятся, как только МК их выпускает.

Конечно же может быть и ошибка в коде, потому я и спрашиваю, как правильно обрабатывать реквоты в МТ5 - в частности, как сделать рефреш в тестере (может быть не так, как написал я). Проскальзывание - 10.

Тот же самый код в МТ4 (с поправкой на конвертацию) работает на ура.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
marketeer:

Номер билда - последний (306) - они же автоматом ставятся, как только МК их выпускает.

Конечно же может быть и ошибка в коде, потому я и спрашиваю, как правильно обрабатывать реквоты в МТ5 - в частности, как сделать рефреш в тестере (может быть не так, как написал я). Проскальзывание - 10.

Тот же самый код в МТ4 (с поправкой на конвертацию) работает на ура.

Ну, так , не зная Вашего кода, кто Вам поможет ?
 
см.  MqlTradeResult.  Посмотри в этой ветке, я там торговый класс выкладывал, думаю разберешься что к чему.

 

Не проблема код выложить (вечером будет под рукой). Пред. версия библиотеки и так выложена на сайте брокера. Я только "за", чтобы ее проверили люди со стороны - только вот мало желающих бывает в чужом коде копаться. Особенно учитывая, что сейчас я поставил цель портировать версию из MT4, а продвинутую пятерошную на ООП напишу попозже.

Kos, спасибо, я видел. Попробую другие способы, хотя хотелось бы все-таки услышать официальных лиц, должны ли новые цены поступать в SymbolInfoTick и SymbolInfoDouble.

 

Блин, ну вот как тут можно работать?! Цельный час писал тут сочинение, а форум взял и по...ерил его нафик. Буду писать по частям, и теперь уж в телеграфном стиле, извиняйте.

Прикладываю библиотеку, с помощью которой обрабатываются ордера/позиции.


Файлы:
 

Блин, в натуре достал форум. Лог не могу приложить. Попытка номер два - обычным текстом:

PN    0    History    22:31:08    EURAUD: symbol tick base found
ME    0    History    22:31:11    EURAUD: contains 578695 M1 records of beginning data from 2009.01.02 06:01 to 2010.08.02 01:11
RE    0    History    22:31:11    EURAUD,M15: history cache reserved for estimated 39840 bars
EP    0    History    22:31:11    EURAUD,M15: history begins from 2009.01.02 06:00
EQ    0    History    22:31:11    AUDJPY: symbol tick base found
FM    0    History    22:31:14    AUDJPY: contains 555334 M1 records of beginning data from 2009.01.26 04:34 to 2010.08.02 01:11
PL    0    History    22:31:14    AUDJPY,M15: history cache reserved for estimated 39840 bars
FO    0    History    22:31:14    AUDJPY,M15: history begins from 2009.01.26 04:30
EI    0    History    22:31:14    EURCAD: symbol tick base found
JE    0    History    22:31:17    EURCAD: contains 555160 M1 records of beginning data from 2009.01.26 04:35 to 2010.08.02 01:11
NF    0    History    22:31:17    EURCAD,M15: history cache reserved for estimated 39840 bars
LF    0    History    22:31:17    EURCAD,M15: history begins from 2009.01.26 04:30
LP    0    History    22:31:17    AUDUSD: symbol tick base found
NK    0    History    22:31:20    AUDUSD: contains 569232 M1 records of beginning data from 2009.01.02 06:01 to 2010.08.02 01:11
JN    0    History    22:31:20    AUDUSD,M15: history cache reserved for estimated 39840 bars
QN    0    History    22:31:20    AUDUSD,M15: history begins from 2009.01.02 06:00
EJ    0    History    22:31:20    EURCHF: symbol tick base found
JS    0    History    22:31:23    EURCHF: contains 568046 M1 records of beginning data from 2009.01.02 06:01 to 2010.08.02 01:11
NP    0    History    22:31:23    EURCHF,M15: history cache reserved for estimated 39840 bars
ID    0    History    22:31:23    EURCHF,M15: history begins from 2009.01.02 06:00
IS    0    VoBot (EURUSD,M15)    22:31:24    2010.08.02 18:15:00   Setting SELL(-1) order on AUDJPY
FH    0    VoBot (EURUSD,M15)    22:31:24    2010.08.02 18:15:00   Ask=78.926 Bid=78.895 sy=AUDJPY l=0.1 op=Sell pp=78.895 sl=0 tp=0
HH    0    VoBot (EURUSD,M15)    22:31:24    2010.08.02 18:15:00   _OrderSend price=78.895
FK    0    Trade    22:31:24    2010.08.02 18:15:00   instant sell 0.10 AUDJPY at 78.895 (78.895 / 78.926 / 78.895)
HR    0    Symbols    22:31:24    USDJPY: symbol to be synchronized
CG    0    Symbols    22:31:24    USDJPY: symbol synchronized, 3304 bytes of symbol info received
JO    0    History    22:31:25    USDJPY: load 27 bytes of history data to synchronize
KQ    0    History    22:31:25    USDJPY: history synchronized from 2009.01.02 to 2010.08.05
MK    0    Trades    22:31:25    2010.08.02 18:15:00   deal #2 sell 0.10 AUDJPY at 78.895 done (based on order #2)
DN    0    Trade    22:31:25    2010.08.02 18:15:00   deal performed [#2 sell 0.10 AUDJPY at 78.895]
IL    0    Trade    22:31:25    2010.08.02 18:15:00   order performed sell 0.10 at 78.895 [#2 sell 0.10 AUDJPY at 78.895]
MQ    0    VoBot (EURUSD,M15)    22:31:25    2010.08.02 18:15:00   result.deal=0
RJ    0    VoBot (EURUSD,M15)    22:31:25    2010.08.02 18:15:00   HistoryDealGetInteger error:4755
ER    0    VoBot (EURUSD,M15)    22:31:25    2010.08.02 18:15:00   Sell saved #0
OF    0    VoBot (EURUSD,M15)    22:31:25    2010.08.02 18:30:00   Acquiring orphan sell order 2
IG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:00   Setting BUY(1) order on AUDUSD
EQ    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:00   Ask=0.91175 Bid=0.91156 sy=AUDUSD l=0.1 op=Buy pp=0.91175 sl=0 tp=0
DO    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:00   _OrderSend price=0.91175
CK    0    Trade    22:31:25    2010.08.03 15:45:00   requote 0.91156 / 0.91175 / 0.91156 (instant sell 0.10 AUDUSD at 0.91175)
FK    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:00   Requote, new prices: ask=0.91175 bid=0.91156
LF    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:00   Send error: 10004 result:true
IR    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:05   Requote cmd: 0 result:true
PG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:05   New price=0.91175
CS    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:05   _OrderSend price=0.91175
DO    0    Trade    22:31:25    2010.08.03 15:45:05   requote 0.91156 / 0.91175 / 0.91156 (instant sell 0.10 AUDUSD at 0.91175)
MG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:05   Requote, new prices: ask=0.91175 bid=0.91156
CE    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:05   Send error: 10004 result:true
IN    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:10   Requote cmd: 0 result:true
PS    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:10   New price=0.91175
KG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:10   _OrderSend price=0.91175
LS    0    Trade    22:31:25    2010.08.03 15:45:10   requote 0.91156 / 0.91175 / 0.91156 (instant sell 0.10 AUDUSD at 0.91175)
MS    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:10   Requote, new prices: ask=0.91175 bid=0.91156
CI    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:10   Send error: 10004 result:true
RJ    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:15   Requote cmd: 0 result:true
GN    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:15   New price=0.91175
MH    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 15:45:15   Error(4756) sending order
IG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:00   Setting BUY(1) order on AUDUSD
OQ    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:00   Ask=0.91144 Bid=0.91118 sy=AUDUSD l=0.1 op=Buy pp=0.91144 sl=0 tp=0
JO    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:00   _OrderSend price=0.91144
CK    0    Trade    22:31:25    2010.08.03 16:00:00   requote 0.91118 / 0.91144 / 0.91118 (instant sell 0.10 AUDUSD at 0.91144)
JK    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:00   Requote, new prices: ask=0.91144 bid=0.91118
LF    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:00   Send error: 10004 result:true
IR    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:05   Requote cmd: 0 result:true
QG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:05   New price=0.91127
NS    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:05   _OrderSend price=0.91127
DO    0    Trade    22:31:25    2010.08.03 16:00:05   requote 0.91100 / 0.91127 / 0.91100 (instant sell 0.10 AUDUSD at 0.91127)
MG    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:05   Requote, new prices: ask=0.91127 bid=0.911
GE    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:05   Send error: 10004 result:true
MN    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:10   Requote cmd: 0 result:true
ER    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:10   New price=0.91127
JD    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:10   _OrderSend price=0.91127
PS    0    Trade    22:31:25    2010.08.03 16:00:10   requote 0.91100 / 0.91127 / 0.91100 (instant sell 0.10 AUDUSD at 0.91127)
IR    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:10   Requote, new prices: ask=0.91127 bid=0.911
KI    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:10   Send error: 10004 result:true
JI    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:15   Requote cmd: 0 result:true
RN    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:15   New price=0.91127
QK    0    VoBot (EURUSD,M15)    22:31:25    2010.08.03 16:00:15   Error(4756) sending order
QO    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:15:00   Setting SELL(-1) order on EURAUD
EO    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:15:00   Ask=1.44749 Bid=1.44669 sy=EURAUD l=0.1 op=Sell pp=1.44669 sl=0 tp=0
LO    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:15:00   _OrderSend price=1.44669
LG    0    Trade    22:31:26    2010.08.03 21:15:00   instant sell 0.10 EURAUD at 1.44669 (1.44669 / 1.44749 / 1.44669)
OH    0    Trades    22:31:26    2010.08.03 21:15:00   deal #3 sell 0.10 EURAUD at 1.44669 done (based on order #3)
CM    0    Trade    22:31:26    2010.08.03 21:15:00   deal performed [#3 sell 0.10 EURAUD at 1.44669]
IM    0    Trade    22:31:26    2010.08.03 21:15:00   order performed sell 0.10 at 1.44669 [#3 sell 0.10 EURAUD at 1.44669]
QP    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:15:00   result.deal=0
FJ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:15:00   HistoryDealGetInteger error:4755
QR    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:15:00   Sell saved #0
LF    0    VoBot (EURUSD,M15)    22:31:26    2010.08.03 21:30:00   Acquiring orphan sell order 3
FJ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:15:30   Setting EXIT SELL(-2) order on AUDJPY
EO    0    Trade    22:31:26    2010.08.04 00:15:30   instant buy 0.10 AUDJPY at 78.351 (78.301 / 78.351 / 78.301)
QN    0    Trades    22:31:26    2010.08.04 00:15:30   deal #4 buy 0.10 AUDJPY at 78.351 done (based on order #4)
DK    0    Trade    22:31:26    2010.08.04 00:15:30   deal performed [#4 buy 0.10 AUDJPY at 78.351]
FG    0    Trade    22:31:26    2010.08.04 00:15:30   order performed buy 0.10 at 78.351 [#4 buy 0.10 AUDJPY at 78.351]
ON    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:00   Count of SELLs=1
LH    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:00   Setting BUY(1) order on AUDJPY
RH    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:00   Ask=78.30800000000001 Bid=78.25100000000001 sy=AUDJPY l=0.1 op=Buy pp=78.30800000000001 sl=0 tp=0
PH    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:00   _OrderSend price=78.30800000000001
RF    0    Trade    22:31:26    2010.08.04 00:30:00   requote 78.251 / 78.308 / 78.251 (instant sell 0.10 AUDJPY at 78.308)
DO    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:00   Requote, new prices: ask=78.30800000000001 bid=78.25100000000001
RP    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:00   Send error: 10004 result:true
KQ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:05   Requote cmd: 0 result:true
OJ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:05   New price=78.308
QQ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:05   _OrderSend price=78.30800000000001
KO    0    Trade    22:31:26    2010.08.04 00:30:05   requote 78.251 / 78.308 / 78.251 (instant sell 0.10 AUDJPY at 78.308)
EF    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:05   Requote, new prices: ask=78.30800000000001 bid=78.25100000000001
KK    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:05   Send error: 10004 result:true
QH    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:10   Requote cmd: 0 result:true
IS    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:10   New price=78.308
KF    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:10   _OrderSend price=78.30800000000001
EQ    0    Trade    22:31:26    2010.08.04 00:30:10   requote 78.251 / 78.308 / 78.251 (instant sell 0.10 AUDJPY at 78.308)
GM    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:10   Requote, new prices: ask=78.30800000000001 bid=78.25100000000001
MR    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:10   Send error: 10004 result:true
HF    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:15   Requote cmd: 0 result:true
DH    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:15   New price=78.308
QL    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:30:15   Error(4756) sending order
NK    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:00   Setting BUY(1) order on AUDJPY
HN    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:00   Ask=78.41500000000001 Bid=78.359 sy=AUDJPY l=0.1 op=Buy pp=78.41500000000001 sl=0 tp=0
QD    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:00   _OrderSend price=78.41500000000001
FS    0    Trade    22:31:26    2010.08.04 00:45:00   requote 78.359 / 78.415 / 78.359 (instant sell 0.10 AUDJPY at 78.415)
MQ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:00   Requote, new prices: ask=78.41500000000001 bid=78.359
DN    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:00   Send error: 10004 result:true
QK    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:05   Requote cmd: 0 result:true
EL    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:05   New price=78.416
DH    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:05   _OrderSend price=78.416
GG    0    Trade    22:31:26    2010.08.04 00:45:05   requote 78.360 / 78.416 / 78.360 (instant sell 0.10 AUDJPY at 78.416)
LL    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:05   Requote, new prices: ask=78.416 bid=78.36
MM    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:05   Send error: 10004 result:true
OF    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:10   Requote cmd: 0 result:true
OI    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:10   New price=78.416
FO    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:10   _OrderSend price=78.416
ID    0    Trade    22:31:26    2010.08.04 00:45:10   requote 78.360 / 78.416 / 78.360 (instant sell 0.10 AUDJPY at 78.416)
JJ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:10   Requote, new prices: ask=78.416 bid=78.36
GS    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:10   Send error: 10004 result:true
FP    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:15   Requote cmd: 0 result:true
RJ    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:15   New price=78.416
KR    0    VoBot (EURUSD,M15)    22:31:26    2010.08.04 00:45:15   Error(4756) sending order
D

 
По исходнику можете посмотреть, что реквоты обрабатываются правильно - по крайней мере аналогичным образом, как в других пятерочных исходниках. После первой ошибки реквоты поступают новые цены, они подставляются в следующий запрос, но ошибка остается. Причем при всех последующих попытках рефреш возвращает уже одни и те же цены. Количество попыток не важно - можно пытаться отрефрешиться до бесконечности. Очень похоже на баг в тестере.
 

Дополнительные вопросы. 1) В библиотеке делается попытка получить идентификатор сделки для только что открытой позиции из result.deal, но там почему-то всегда ноль. Нужно это, чтобы в идущем следом вызове HistoryDealGetInteger(result.deal, DEAL_POSITION_ID, LID); получить идентификатор самой позиции. В общем, вопрос - как получить id позиции, "не отходя от кассы"? 2) Как в тестере просмотреть позиции на чартах? По умолчанию открывается только чарт валюты, на которой запускался эксперт, но он же многовалютный. И как на графике с результатами тестирования получить инфу, где какая сделка была проведена, где какая позиция создавалась/поменялась? Сейчас график совершенно неинформативный. Всплывающих подсказок нет. Клики на нем никакой контекстной инфы не выводят.

Заранее спасибо.

PS 2 MQ. И почините же, наконец, форум.

Документация по MQL5: Торговые функции / HistoryDealGetInteger
Документация по MQL5: Торговые функции / HistoryDealGetInteger
  • www.mql5.com
Торговые функции / HistoryDealGetInteger - Документация по MQL5
 
Для полноты картины еще прикрепляю включенный "хедерник".
Файлы:
Причина обращения: