ERR_ORDER_LOCKED 139 - что за чудовище такое?? - страница 3

 

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

 
Запустил 4-ре терминала на один счет, ни занятости торгового потока, никаких других ошибок.
 

Может, дело в конкретном ДЦ? Я все-таки не пойму - что такое 139, когда 139 возникает. Вернее даже так: что надо сделать, чтобы она появилась.

И почему-то никаких каментов от разработчиков.:(

 
Integer >>:

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

Разделение потоков не спомогло этому случаем?

Надо бы как-то с одного потока, с экспертного, значит с экспертного.

Стоп-лосс тож двигается по своему потоку...

;)

 
Svinozavr писал(а) >>

Может, дело в конкретном ДЦ? Я все-таки не пойму - что такое 139, когда 139 возникает. Вернее даже так: что надо сделать, чтобы она появилась.

И почему-то никаких каментов от разработчиков.:(

Не только Вам хочется услышать голос разработчиков. И, сдается мне, не только мне.

Может быть, попросим хором?

 

В справке явно сказано: "ордер заблокирован и уже обрабатывается". То есть, тут возможны 2 варианта: менеджер взял в работу этот ордер вручную, либо данный ордер заблокирован автоматически в связи с предыдущим торговым запросом, либо в связи с обработкой, которая предусмотрена условиями этого самого ордера.

 
stringo >>:

Возможна ли ошибка 139 при использовании следующего кода?

int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0);
OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-100*Point,OrderTakeProfit(),0);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Bid+100*Point,0);
 
kombat писал(а) >>

Разделение потоков не спомогло этому случаем?

Надо бы как-то с одного потока, с экспертного, значит с экспертного.

Стоп-лосс тож двигается по своему потоку...

;)

И это делал - (мое сообщение 28.09.2009 04:04). В четырех терминалах советники делали одно и тоже - двигали стоплосс. Если из одного терминала несколько советников, тогда торговый поток будет занят.

 
Если в одном терминала несколько советников, то ошибка 146.
 
stringo писал(а) >>

В справке явно сказано: "ордер заблокирован и уже обрабатывается". То есть, тут возможны 2 варианта: менеджер взял в работу этот ордер вручную, либо данный ордер заблокирован автоматически в связи с предыдущим торговым запросом, либо в связи с обработкой, которая предусмотрена условиями этого самого ордера.

Как так может быть, если работает один советник? функции OrderSend(), OrderModify(), OrderClose() ждут завершения исполнения запроса. Ооткуда может взяться еще один запрос, если работает один советник?

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