Нужно задержать открытие ордера !

 
Имеется стратегия, для реализации стратеги на терминале должно работать два советника, открываются по одному сигналу в разные стороны (по свече нового часа) ... Вопрос в студию! Каким образом можно реализовать задержку открытия ордера одного из советников, например один по новому часу открылся, другой открывается через 10 секунд после открытия часа ? Проблема похоже в том, что ДЦ не дает одновременно открыть два ордера, выявлено методом народного тыка...при наличии нескольких терминалов с такой системой открытия ордеров на каждом терминале открывается только какой то один ордер в ту или иную сторону, в журнале по не открытому ордеру пишется "сервер занят" в итоге ордер не открывается, при попытке увеличить число попыток открытия ордера, например, долбить сервер пока не откроет... ессено ДЦ отвечает записью в журнале ping error Люди добрые, может у кого то есть предложения по решению данного казуса ?
 
тут и тыкать нечего - https://book.mql4.com/ru/trading/common

Порядок проведения торговых операций

 
didivi:
Имеется стратегия, для реализации стратеги на терминале должно работать два советника, открываются по одному сигналу в разные стороны (по свече нового часа) ... Вопрос в студию! Каким образом можно реализовать задержку открытия ордера одного из советников, например один по новому часу открылся, другой открывается через 10 секунд после открытия часа ? Проблема похоже в том, что ДЦ не дает одновременно открыть два ордера, выявлено методом народного тыка...при наличии нескольких терминалов с такой системой открытия ордеров на каждом терминале открывается только какой то один ордер в ту или иную сторону, в журнале по не открытому ордеру пишется "сервер занят" в итоге ордер не открывается, при попытке увеличить число попыток открытия ордера, например, долбить сервер пока не откроет... ессено ДЦ отвечает записью в журнале ping error Люди добрые, может у кого то есть предложения по решению данного казуса ?

В начале функции start() нужно прописать:


if (! isTradesAllowed()) {

return(0);

}

 
didivi:
Имеется стратегия, для реализации стратеги на терминале должно работать два советника, открываются по одному сигналу в разные стороны (по свече нового часа) ... Вопрос в студию! Каким образом можно реализовать задержку открытия ордера одного из советников, например один по новому часу открылся, другой открывается через 10 секунд после открытия часа ? Проблема похоже в том, что ДЦ не дает одновременно открыть два ордера, выявлено методом народного тыка...при наличии нескольких терминалов с такой системой открытия ордеров на каждом терминале открывается только какой то один ордер в ту или иную сторону, в журнале по не открытому ордеру пишется "сервер занят" в итоге ордер не открывается, при попытке увеличить число попыток открытия ордера, например, долбить сервер пока не откроет... ессено ДЦ отвечает записью в журнале ping error Люди добрые, может у кого то есть предложения по решению данного казуса ?

Приходит тик.

Если есть сигнал:

1. Смотрим сколько у нас открытых ордеров.

2. Если - 0, то посылаем приказ на открытие ордера, скажем, OP_BUY, сигнал пока не сбрасываем.

Возвращаем управление терминалу.

3. Если - 1, то посылаем приказ на открытие ордера с направление противоположным уже существующему ордеру, сигнал пока не сбрасываем.

Возвращаем управление терминалу.

4. Если - 2, то сбрасываем сигнал.

Возвращаем управление терминалу.

Если сигнала нет:

1. Возвращаем управление терминалу.

----------------------------------------------------

Все, никуда они не денутся, ордера откроют.

Мне сейчас особо делать нечего, если хочешь могу прислать программку.

 
Reshetov:

В начале функции start() нужно прописать:


if (! isTradesAllowed()) {

return(0);

}

Скважность повысится, но пока сервак не отработает первый ордер, ко второму не приступит - я так понял, в свое время прочитав ссылку постом выше
 
Что есть скважность ?
 
didivi:
Что есть скважность ?
https://book.mql4.com/ru/special/index
 
Всем спасибо...попробуем...проверим...