Ошибки, баги, вопросы - страница 1789

 
Vitalie Postolache:
Это то окно, в котором вкладки сделок, истории, новостей и т.д. По-английски "Toolbox".
Спасибо, не знал, выполнил. Теперь, не видно состояние последних позиций. Досадно, неужели программно нельзя сделать, чтобы последняя строка просто не уходила вниз?
 
Yousufkhodja Sultonov:
Спасибо, не знал, выполнил. Теперь, не видно состояние последних позиций. Досадно, неужели программно нельзя сделать, чтобы последняя строка просто не уходила вниз?

Можно, именно программно. Написать индикатор, который выводит эту строку на всех графиках, например.

Разработчики могли бы сделать, чтобы эта информация дублировалась в строке состояния, или в заголовке окна, но им это неинтересно, наверное.

 
В чем ошибка?
AccountInfoString(ACCOUNT_SERVER) = MetaQuotes-Demo

OrderSend(NULL,OP_BUYLIMIT,1,SymbolInfoDouble(Symbol(),SYMBOL_ASK)-100*_Point,100,0,0,My Order)
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = Si-3.17
Request.volume = 1.0
Request.price = 59647.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00

Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10022
Result.deal = 0
Result.order = 0
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Invalid expiration
Result.request_id = 0
Result.retcode_external = 0
 
fxsaber:
В чем ошибка?
ORDER_TIME_GTC на символе не поддерживается
 
A100:
ORDER_TIME_GTC на символе не поддерживается
Спасибо!
 

Серьезный баг, т.к. касается самой торговли.

Сервер FIBOGroup-MT5 Server, демо, базовая валюта USD, Netting, build 1525.

Сначала скрин "Ордера, Сделки"

 

Была открыта позиция на 1 лот, и закрыта (не перевернута!) на 1.5 лота.

То, что это одна позиция, подтверждает скрин режим "Позиции"

 

Выделил красным, что еще ошибка произошла с начислением свопа (позиция жила 1 секунду) и с каким-то огромным убытком.

Так выглядит лог

2017.02.09 08:39:14.285 Trades  '1013175': exchange buy 1.00 EURUSD at market
2017.02.09 08:39:15.352 Trades  '1013175': deal #1542796 buy 1.00 EURUSD at 1.06763 done (based on order #2246162)
2017.02.09 08:39:15.354 Trades  '1013175': order #2246162 buy 1.00 / 1.00 EURUSD at 1.06763 done in 1069.212 ms
2017.02.09 08:39:15.354 Trades  '1013175': failed modify #2156238 buy 1.50 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06990, tp: 1.07190 [Invalid stops]
2017.02.09 08:39:15.355 Trades  '1013175': exchange sell 1.50 EURUSD at market, close #2156238 buy 1.50 EURUSD 1.07090333
2017.02.09 08:39:16.421 Trades  '1013175': deal #1542797 sell 1.50 EURUSD at 1.06761 done (based on order #2246163)
2017.02.09 08:39:16.422 Trades  '1013175': order #2246163 sell 1.50 / 1.50 EURUSD at 1.06761 done in 1066.734 ms

Красным выледил автоматическую попытку установить SL/TP открытой позиции. PositionGetDouble(POSITION_VOLUME) вернул 1.5 лота, вместо 1.0. Возникла ошибка Invalid stops, хотя SYMBOL_TRADE_STOPS_LEVEL == 0.

Нужно, наверное, добавить, что закрытие позиции происходило с указанием Request.position = PositionTicket. Т.е. этот параметр был не нулевой.

 

В общем, БАЖИЩЕ, которое напрямую касается денег! 

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

ФОРТС. Вопросы по исполнению

fxsaber, 2017.02.09 08:56

Правильно ли понимаю, что в данном случае OrderSend вернул true практически мгновенно, но 65 секунд наблюдалось (ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_STARTED ?

Кстати, а почему при выставлении отложки через OrderSend он возвращает true сразу, как состояние ордера становится ORDER_STATE_STARTED, а не дожидается ORDER_STATE_PLACED?

Это же не асинхронная OrderSendAsync. 

 
fxsaber:

Кстати, а почему при выставлении отложки через OrderSend он возвращает true сразу, как состояние ордера становится ORDER_STATE_STARTED, а не дожидается ORDER_STATE_PLACED?

Это же не асинхронная OrderSendAsync. 

Наверное потому, что это результат успешного выполнения OrderSend, а не результата успешности установки ордера?
 
Artyom Trishkin:
Наверное потому, что это результат успешного выполнения OrderSend, а не результата успешности установки ордера?
ORDER_STATE_STARTED - это результат успешного OrderCheck.
 
fxsaber:
ORDER_STATE_STARTED - это результат успешного OrderCheck.
А когда ордер уже выставлен, то что-то возвращается?
Причина обращения: