Доброго времени суток.
Дело в том что советник попытался закрыть ордер и лимитник во время клиринга - вернее вежду тем моментом когда клиринговая палата закрыла позицию и вновь ее открыла:
2016.12.22 23:56:43.824 Trades '28798': deal #32742026 buy 7.00 VTBR-3.17 at 7326 done (based on order #0)
2016.12.22 23:56:43.835 Trades '28798': failed cancel order #0 buy 0.00 at market [Invalid request] - в данный момент лимитника не существовала поэтому вышла эта ошибка (не обращайте на это внимание)
2016.12.22 23:56:43.838 Trades '28798': deal #32742027 sell 7.00 VTBR-3.17 at 7326 done (based on order #0)
В итоге советник решил что позиция закрыта а по факту она осталось висеть.
Вопрос: по поводу лимитника все понятно а вот кокой retcode вернулся при попытки закрыть позицию во время клиринга не понятно?
Привожу код закрытия позиции:
CTrade trade;
trade.SetTypeFilling(Filling);
trade.PositionClose(_Symbol);
if(trade.ResultRetcode()==TRADE_RETCODE_DONE || trade.ResultRetcode()==TRADE_RETCODE_REJECT || trade.ResultRetcode()==TRADE_RETCODE_POSITION_CLOSED)
{
ObjectDelete(0,CHART_TEXT_OBJECT_NAME);
start=TimeCurrent()+(Sleep*60);
pos=false;
tradeResult=false;
DiffVolumes=DiffVolumesEx;
DiffTraders=DiffTradersEx;
trade.OrderDelete(ticketorder);
}
Заранее спасибо.
Зачем Вы пытаетесь что-то делать во время клиринга?
Время клирингов известно же.
Зачем Вы пытаетесь что-то делать во время клиринга?
Время клирингов известно же.
Хотелось бы сделать универсальный робот - в том числе и для зарубежного рынка.
Не получится, слишком много различий.
На досуге почитайте
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток.
Дело в том что советник попытался закрыть ордер и лимитник во время клиринга - вернее вежду тем моментом когда клиринговая палата закрыла позицию и вновь ее открыла:
2016.12.22 23:56:43.824 Trades '28798': deal #32742026 buy 7.00 VTBR-3.17 at 7326 done (based on order #0)
2016.12.22 23:56:43.835 Trades '28798': failed cancel order #0 buy 0.00 at market [Invalid request] - в данный момент лимитника не существовала поэтому вышла эта ошибка (не обращайте на это внимание)
2016.12.22 23:56:43.838 Trades '28798': deal #32742027 sell 7.00 VTBR-3.17 at 7326 done (based on order #0)
В итоге советник решил что позиция закрыта а по факту она осталось висеть.
Вопрос: по поводу лимитника все понятно а вот кокой retcode вернулся при попытки закрыть позицию во время клиринга не понятно?
Привожу код закрытия позиции:
CTrade trade;
trade.SetTypeFilling(Filling);
trade.PositionClose(_Symbol);
if(trade.ResultRetcode()==TRADE_RETCODE_DONE || trade.ResultRetcode()==TRADE_RETCODE_REJECT || trade.ResultRetcode()==TRADE_RETCODE_POSITION_CLOSED)
{
ObjectDelete(0,CHART_TEXT_OBJECT_NAME);
start=TimeCurrent()+(Sleep*60);
pos=false;
tradeResult=false;
DiffVolumes=DiffVolumesEx;
DiffTraders=DiffTradersEx;
trade.OrderDelete(ticketorder);
}
Заранее спасибо.