Не всегда одновременно открываются ордера buy и sell

 

Объясните, пожалуйста, почему не всегда срабатывает одновременное выполнение следующих команд:

OrderSend("EURUSD",OP_BUY,0.01,Ask,5,Bid-10*Point,0);
OrderSend("EURUSD",OP_SELL,0.01,Bid,5,Ask+10*Point,0);

 

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

Если нужна синхронность, то можете попробовать запустить советники на двух терминалах, залогиненных к одному счёту.

Один будет торговать в бай, другой в селл.

А вообще-то локи - это ЗЛО.

 
goldtrader писал (а) >>

А вообще-то локи - это ЗЛО.

Иное мнение: Вы просто не умеете их готовить... (с) :)))

 

Да это даже не лок, просто выкинутый спред....

 

,To goldtrader

Спасибо!

Для меня можно, чтобы команды выполнились и последовательно, скажем через 3 или 4 секунды. Но это происходит через раз. Скрипт, который я запускаю, открывает зачастую только один (первый) ордер. По второму - ошибка 129. Что это может быть?

 
kramz писал (а) >>

,To goldtrader

Спасибо!

Для меня можно, чтобы команды выполнились и последовательно, скажем через 3 или 4 секунды. Но это происходит через раз. Скрипт, который я запускаю, открывает зачастую только один (первый) ордер. По второму - ошибка 129. Что это может быть?

ERR_INVALID_PRICE 129 Неправильная цена bid или ask, возможно, ненормализованная цена. Необходимо после задержки от 5 секунд обновить данные при помощи функции RefreshRates и повторить попытку. Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы.

Беда случается скорее всего из-за того, что пока исполняется первый ордер, цена успевает поменяться. RefreshRates сразу за первой командой должна вылечить болезнь.
 
Figar0 писал (а) >>

Да это даже не лок, просто выкинутый спред....

Поддерживаю.

Лок сам по себе является заблуждением. А в таком варианте и подавно

kramz писал (а) >>

Объясните, пожалуйста..

Представьте, вы подходите к кассе обмена валюты. В правом кармане у Вас 100$, а в левом 2500 рублей.

И меняете.. 100$ на 2450 руб (из правого), а 2500 руб на 98$ (из левого).

В результате этой операции Вы просто потеряете 2% денежных средств.

Vita писал (а) >>

..вылечить болезнь.

Паталогия таблетками.. эт вряд ли.
 
SK. писал (а) >>

Паталогия таблетками.. эт вряд ли.

:D

 

Так... минусы сказали... теперь скажу плюс для равновесия...

Лок - это кредит. Взаймы берётся время для обдумывания решения. Для тормозов типа меня, локи являются хорошим средством, чтобы отложить решение и подумать завтра.

 
KimIV писал (а) >>

Так... минусы сказали... теперь скажу плюс для равновесия...

Лок - это кредит. Взаймы берётся время для обдумывания решения. Для тормозов типа меня, локи являются хорошим средством, чтобы отложить решение и подумать завтра.

Подумать только до вечера. А до завтра - это уже своп в минус.

Поставить зеркальный лок - это всё равно, что закрыть позицию.

Почему её не закрыть, а потом спокойно думать.. сколько хошешь.

--

Есть и более серьёзные подробности. Стопы и профиты, например. Неровён час, ночью (пока трейдер думает во сне) цена пройдётся по обоим стопам.. и думать уже придётся над другими вопросами.

 
KimIV писал (а) >>

Так... минусы сказали... теперь скажу плюс для равновесия...

Лок - это кредит. Взаймы берётся время для обдумывания решения. Для тормозов типа меня, локи являются хорошим средством, чтобы отложить решение и подумать завтра.

Банальное закрытие позиции, разве, не приводит к тому же самому?

Скорее всего покупается иллюзия будущего хитроумного разруливания ордеров лока. Можно, конечно, предположить, что для чьей-то психики существование двух противоположных ордеров "стимулирует" к продуктивному мыслительному процессу. Так сказать, под давлением.

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