Реквоты в тестере MT5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Maxim Dmitrievsky
19164
Maxim Dmitrievsky  

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

2016.09.07 09:27:35.947 2016.04.11 00:06:40   deal performed [#12 buy 0.01 EURUSD at 1.14069]
2016.09.07 09:27:35.947 2016.04.11 00:06:40   deal #12 buy 0.01 EURUSD at 1.14069 done (based on order #12)
2016.09.07 09:27:35.947 2016.04.11 00:06:40   instant buy 0.01 EURUSD at 1.14069 (1.14062 / 1.14069 / 1.14062)
2016.09.07 09:27:35.947 2016.04.11 00:06:39   CTrade::OrderSend: instant sell 0.01 EURUSD at 1.41048 [requote (1.14092/1.14099)]
2016.09.07 09:27:35.947 2016.04.11 00:06:39   requote 1.14092 / 1.14099 / 1.14092 (instant sell 0.01 EURUSD at 1.41048)
2016.09.07 09:27:35.947 2016.04.11 00:06:39   CTrade::OrderSend: instant buy 0.01 GBPUSD at 1.14099 [requote (1.41048/1.41089)]
2016.09.07 09:27:35.947 2016.04.11 00:06:39   requote 1.41048 / 1.41089 / 1.41048 (instant buy 0.01 GBPUSD at 1.14099)
2016.09.07 09:27:35.947 2016.04.11 00:06:39   CTrade::OrderSend: instant sell 0.01 EURUSD at 1.41048 [requote (1.14092/1.14099)]
2016.09.07 09:27:35.947 2016.04.11 00:06:39   requote 1.14092 / 1.14099 / 1.14092 (instant sell 0.01 EURUSD at 1.41048)
2016.09.07 09:27:35.947 2016.04.11 00:06:39   requote 1.41048 / 1.41089 / 1.41048 (instant buy 0.01 GBPUSD at 1.14099)

Использую стандартный класс CTrade для открытия позиций, хеджевый счет, серевр метаквотс демо, реквоты появляются при тестировании на релаьных тиках, на моделируемых, на охлс на 1 мин

билд 1405 

Alexey Viktorov
25926
Alexey Viktorov  
Maxim Dmitrievsky:

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

Использую стандартный класс CTrade для открытия позиций, хеджевый счет, серевр метаквотс демо, реквоты появляются при тестировании на релаьных тиках, на моделируемых, на охлс на 1 мин

билд 1405 

Я однажды бился с такой проблемой дня 2 или 3. Оказалось ошибка копи-паста... Вместо Bid открывал ордер sell по Ask.

Проверь внимательно какие цены передаёшь в запрос.

Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
Alexey Viktorov:

Я однажды бился с такой проблемой дня 2 или 3. Оказалось ошибка копи-паста... Вместо Bid открывал ордер sell по Ask.

Проверь внимательно какие цены передаёшь в запрос.

А суть в том, что тестирую у брокера, и там нет ни одной ошибки.. но исполнение маркет а не инстант. Биды и аски проверял, все как надо. Текущая цена берется прямо перед открытием ордера. И когда неверная цена указаеа, то обычно ошибка invalid price. Похоже на то, что при интстант исполнении симулируются реквоты все-таки

2016.09.07 12:13:49.234 2016.01.15 16:00:19   CTrade::OrderSend: market sell 0.01 EURUSD.e [done at 1.09611]
2016.09.07 12:13:49.234 2016.01.15 16:00:19   order performed sell 0.01 at 1.09611 [#951 sell 0.01 EURUSD.e at 1.09611]
2016.09.07 12:13:49.234 2016.01.15 16:00:19   deal performed [#951 sell 0.01 EURUSD.e at 1.09611]
2016.09.07 12:13:49.234 2016.01.15 16:00:19   deal #951 sell 0.01 EURUSD.e at 1.09611 done (based on order #951)
2016.09.07 12:13:49.234 2016.01.15 16:00:19   market sell 0.01 EURUSD.e (1.09611 / 1.09616 / 1.09611)
2016.09.07 12:13:49.234 2016.01.15 16:00:19   CTrade::OrderSend: market buy 0.01 USDCHF.e [done at 0.99893]
2016.09.07 12:13:49.234 2016.01.15 16:00:19   deal performed [#950 buy 0.01 USDCHF.e at 0.99893]
2016.09.07 12:13:49.234 2016.01.15 16:00:19   deal #950 buy 0.01 USDCHF.e at 0.99893 done (based on order #950)
2016.09.07 12:13:49.234 2016.01.15 16:00:19   market buy 0.01 USDCHF.e (0.99879 / 0.99893 / 0.99879)
Slava
Модератор
13449
Slava  
У Вас случайно не включена настройка "произвольная задержка" в тестере?
Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
Slawa:
У Вас случайно не включена настройка "произвольная задержка" в тестере?
нет, не пользуюсь. Попробовал, что с ней что без нее одинаково реквоты.
Slava
Модератор
13449
Slava  

Судя по представленным логам, Вы какие-то левые цены подсовываете. Откуда что берётся?

2016.09.07 09:27:35.947 2016.04.11 00:06:39   CTrade::OrderSend: instant sell 0.01 EURUSD at 1.41048 [requote (1.14092/1.14099)]
2016.09.07 09:27:35.947 2016.04.11 00:06:39   requote 1.41048 / 1.41089 / 1.41048 (instant buy 0.01 GBPUSD at 1.14099)
Alexey Viktorov
25926
Alexey Viktorov  
Maxim Dmitrievsky:

А суть в том, что тестирую у брокера, и там нет ни одной ошибки.. но исполнение маркет а не инстант. Биды и аски проверял, все как надо. Текущая цена берется прямо перед открытием ордера. И когда неверная цена указаеа, то обычно ошибка invalid price. Похоже на то, что при интстант исполнении симулируются реквоты все-таки

Да вот я тоже так думал, но получал именно реквоту, а не invalid price. И именно в тестере на счёте MQ hedge.

Даже начал писать тему на форуме, но при написании комментариев к коду обнаружил косяк.

Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
if(!SymbolInfoTick(FirstSymbol,fpprcurr)) {Print("First Symbol price has not been received"); return;}
if(!SymbolInfoTick(SecondSymbol,spprcurr)) {Print("Second Symbol price has not been received"); return;}
double priceBuy=fpprcurr.ask;
double priceSell=spprcurr.bid;
m_Trade.PositionOpen(SecondSymbol,ORDER_TYPE_BUY,Lot,priceBuy,0,0,NULL);
m_Trade.PositionOpen(FirstSymbol,ORDER_TYPE_SELL,Lot,priceSell,0,0,NULL);

вот отсюдова цены беру
Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
сейчас я еще 10 раз проверю тогда, буду читать каждый символ по 2 минуты ) там несколько таких модулей с ордерами.. скорее всего значит мой косяк.. просто меня сбывает с толку что при тестах у брокера на маркет исполнении нет ни одной ошибки
Vladimir Karputov
Модератор
182391
Vladimir Karputov  
Maxim Dmitrievsky:

Вот и ошибка - перепутаны символы. "FirstSymbol"  - это "EURUSD", "SecondSymbol" - это "GBPUSD". Вы при отправке Buy по "SecondSymbol" (GBPUSD) берёте цену "priceBuy" - ask c "FirstSymbol" (EURUSD). 

И перед отправкой приказа протоколируйте: название символа и его цену. Таки образом сразу будут видны ошибки. 

Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
Karputov Vladimir:

Вот и ошибка - перепутаны символы. "FirstSymbol"  - это "EURUSD", "SecondSymbol" - это "GBPUSD". Вы при отправке Buy по "SecondSymbol" (GBPUSD) берёте цену "priceBuy" - ask c "FirstSymbol" (EURUSD). 

И перед отправкой приказа протоколируйте: название символа и его цену. Таки образом сразу будут видны ошибки. 

Точно ) переделаю и проверю
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий