помогите дополнить советник

 

помогите дополнить советник(он на отложеные ордера). Надо чтоб он еще удолял отложеный ордер который не сработал после 2-го сигнала.

пример:

1-сигнал - ставится отложенный ордер

2-сигнал ставит отлож ордер

3-сигнал ставит отлож ордер и удаляет 1-й отложеный ордер если он не сработал.

и так дальше если 4 сигнал то ставит отлож. ордер и удаляет 2-й ордер (если он не сработал)

Помогите плиззззззз!!!!!

внизу прилогается советник!!

Файлы:
main_3.ex4  7 kb
 
если хто поможет буду очень рад и глубоко признателен!!!
 
Исходник дайте
 

Пока нам нужен Main 3.mq4


MQ4 который!

 
Элементарно, Ватсон!

Добавляем четыре переменные:
static int tick1=0, tick2=0, tick3=0, tick;
...
1-сигнал - ставится отложенный ордер tick = OrderSend();

сразу запоминаем:
tick1 = tick2;
tick2 = tick3;
tick3 = tick;

тут же проверяем tick1:
- если OrderSelect( tick1 ) не нашел, ничего не делаем, т.к. тиккет первого ордера еще не дошел.
- если нашел, проверяем OrderTyp().
- если не исполнен, удаляем.

Если у вас цикл, то дальше все пойдет автоматически, следующим в переменной tick1 окажется второй ордер, за ним третий и т.д.
 
prorab:
Элементарно, Ватсон!

Добавляем четыре переменные:
static int tick1=0, tick2=0, tick3=0, tick;
...
1-сигнал - ставится отложенный ордер tick = OrderSend();

сразу запоминаем:
tick1 = tick2;
tick2 = tick3;
tick3 = tick;

тут же проверяем tick1:
- если OrderSelect( tick1 ) не нашел, ничего не делаем, т.к. тиккет первого ордера еще не дошел.
- если нашел, проверяем OrderTyp().
- если не исполнен, удаляем.

Если у вас цикл, то дальше все пойдет автоматически, следующим в переменной tick1 окажется второй ордер, за ним третий и т.д.



Ну и советы у Вас.
 
Vinin:

Ну и советы у Вас.


Подскажите, что не так?

 
Vinin:

Ну и советы у Вас.
Мы строили-строили... :)))
 
TarasBY:
Мы строили-строили... :)))

А, ... врубился. Извините, не сообразил.
 
prorab:


Подскажите, что не так?


Зачем удалять ордер, если прошло несколько тиков. Цена еще просто не успела дойти. Просто забросаете сервер запросами и можете получить не совсем хороший результат
 
Vinin:

Зачем удалять ордер, если прошло несколько тиков. Цена еще просто не успела дойти. Просто забросаете сервер запросами и можете получить не совсем хороший результат

Не так.
Первый ордер от сигнала 1 попадет сначала в tick3, после сигнала 2 из tick3 в tick2 и только после сигнала 3 доберется до tick1.

Я так понял, что сов обрабатывает какие-то большие движения (реакцию на фундамент), а такие сигналы не каждый день, так что между первым и третьим сигналами может пройти несколько дней (не тиков!).
Сервер не перетрудится.

Да и потом, это только принципиальная схема. Покажет аффтар код, порекомендуем более конкретно.
Причина обращения: