Ошибка 129 при OrderClose() - кто виноват и что делать ?

 

Приветствую всех.

Во время попытки закрытия ордера - возвращается код 129. "Неправильная цена". Хотя, в тестере - всегда все проходит нормально, и если перезапустить советник - то тоже все проходит нормально.

В чем причина, и что делать ?

Закрытие происходит по паре евродоллара в два часа ночи, когда рынок спокоен. Параметр slippage устанавливаю 10 пунктов. Но уже несколько раз происходит возврат этой ошибки (и при этом все нормально проходит при перезапуске).

Что порекомендуете, друзья ?

 
может слип маловат, а может брокер цену не дает, потому как ночь, если брокер не дает то ничего не сделаете
 
Два часа ночи по серверному времени или по вашему ?
 
George Merts:

Приветствую всех.

Во время попытки закрытия ордера - возвращается код 129. "Неправильная цена". Хотя, в тестере - всегда все проходит нормально, и если перезапустить советник - то тоже все проходит нормально.

В чем причина, и что делать ?

Закрытие происходит по паре евродоллара в два часа ночи, когда рынок спокоен. Параметр slippage устанавливаю 10 пунктов. Но уже несколько раз происходит возврат этой ошибки (и при этом все нормально проходит при перезапуске).

Что порекомендуете, друзья ?

1. По какой цене закрываете Buy, по какой Sell ? (это вряд ли, раз тестер не ругается)

2. При получении этой ошибки советник выводит в журнал цены Bid, Ask, закрытия в торговом приказе, отсылаемом советником на сервер, для анализа? Если нет, то нужно сделать, а потом, при получении ошибки, анализировать что там

 

Попробуйте так же вместо Bid и Ask указывать при закрытии:

MarketInfo(OrderSymbol(),MODE_BID)
MarketInfo(OrderSymbol(),MODE_ASK)
 

В тестере - все в порядке. Два ночи - это и по моему времени, и по серверному (ДЦ Альпари).

Более того, на счету Альпари-ЕСН - никаких подобных проблем не было. А вот на Альпари-Стандарт - уже третий раз.

При этом, если перезапустить  советник, то он нормально закрывает ордера. Поэтому сейчас пока - сделал вывод в момент получения кода ошибки всех цен.

Проблема в том, что сделки в советнике очень редкие - советник работает на дневках, и каждая из сделок имеет "большой вес".

 
Vladimir Zubov:

Попробуйте так же вместо Bid и Ask указывать при закрытии:

Хм... Интересно, что, данные получаемые через МаркетИнфо и напрямую через Бид-Аск - могут быть разными ?
 
George Merts:
Хм... Интересно, что, данные получаемые через МаркетИнфо и напрямую через Бид-Аск - могут быть разными ?
Звучит странно, но могут) В МаркетИнфо всегда будут актуальнее цены.
 
George Merts:
Хм... Интересно, что, данные получаемые через МаркетИнфо и напрямую через Бид-Аск - могут быть разными ?
Если во время цикла на очередном тике, советник выполняет много вычислений, то он может пропустить очередной тик. Таким образом его торговое окружение, а с ним и Bid с Ask, будут не соответствовать текущему. Поэтому всегда нужно брать актуальные цены перед выполнением торгового приказа.
 
Виноват брокер. Заявок в своем стакане нет, а выводить сделку далее (закрытие ведь тоже сделка), скорее всего, не хочет.  Вот и футболит клиента.
 
George Merts:

Приветствую всех.

Во время попытки закрытия ордера - возвращается код 129. "Неправильная цена". Хотя, в тестере - всегда все проходит нормально, и если перезапустить советник - то тоже все проходит нормально.

В чем причина, и что делать ?

Закрытие происходит по паре евродоллара в два часа ночи, когда рынок спокоен. Параметр slippage устанавливаю 10 пунктов. Но уже несколько раз происходит возврат этой ошибки (и при этом все нормально проходит при перезапуске).

Что порекомендуете, друзья ?

Это 100% проделки брокера. Избежать этого на счетах standart не получится.

Нужно либо уходить на ECN-счета, либо отправлять повторный приказ на закрытие, при получении подобных ошибок.

Причина обращения: