Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не знаешь язык собеседника? Функция автоматического перевода тебе поможет!
folw
61
folw 2011.10.19 12:37 

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

пример:

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

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

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

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

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

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

Файлы:
main_3.ex4 7 kb
folw
61
folw 2011.10.19 12:38  
если хто поможет буду очень рад и глубоко признателен!!!
Diamant
337
Diamant 2011.10.19 12:41  
Исходник дайте
26994
154
26994 2011.10.19 12:51  

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


MQ4 который!

Viktor
228
Viktor 2011.10.19 15:35  
Элементарно, Ватсон!

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

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

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

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

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

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

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

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



Ну и советы у Вас.
Viktor
228
Viktor 2011.10.19 15:56  
Vinin:

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


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

TarasBY
1739
TarasBY 2011.10.19 15:57  
Vinin:

Ну и советы у Вас.
Мы строили-строили... :)))
Viktor
228
Viktor 2011.10.19 16:00  
TarasBY:
Мы строили-строили... :)))

А, ... врубился. Извините, не сообразил.
Victor Nikolaev
Модератор
14485
Victor Nikolaev 2011.10.19 16:37  
prorab:


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


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

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

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

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

Да и потом, это только принципиальная схема. Покажет аффтар код, порекомендуем более конкретно.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий