Скачать MetaTrader 5

как после открытия ордера отключить советник на одну свечу

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Много подписчиков на сигнале? Задумайся о платной подписке!
vitold
18
vitold 2015.02.11 15:14 

Господа! Подскажите кто сможет: как после открытия ордера отключить советник на одну свечу ? Задача в том, чтобы советник не закрывал ордер на той же свече, что и открыл ордер по своим заданым условиям

Boris
3900
Boris 2015.02.11 18:37  
Пропишите условие закрытия, исключающее закрытие "на той же свече"!
Artyom Trishkin
Модератор
75776
Artyom Trishkin 2015.02.11 18:59  
Vitold:

Господа! Подскажите кто сможет: как после открытия ордера отключить советник на одну свечу ? Задача в том, чтобы советник не закрывал ордер на той же свече, что и открыл ордер по своим заданым условиям


Если бар открытия ордера равен нулю, то запретить закрытие.

После того, как найдёте и успешно выберите посредством OrderSelect() нужный вам ордер, время открытия которого вам нужно знать, его бар открытия найдёте так:

int bar_open=iBarShift(OrderSymbol(),Period(),OrderOpenTime());
Dmitry Fedoseev
42906
Dmitry Fedoseev 2015.02.11 19:02  

В цикле перебора ордеров: 

if(OrderOpenTime()>=iTime(NULL,TimeFrame,0)) continue

Алексей Тарабанов
7200
Алексей Тарабанов 2015.02.11 20:54  
Vitold:

Господа! Подскажите кто сможет: как после открытия ордера отключить советник на одну свечу ? Задача в том, чтобы советник не закрывал ордер на той же свече, что и открыл ордер по своим заданым условиям


Имхенько, лучше сделать так, чтобы советник не пытался закрыть ордер, либо не открывал бы его вовсе :) 
vitold
18
vitold 2015.02.12 08:06  
Integer:

В цикле перебора ордеров: 

if(OrderOpenTime()>=iTime(NULL,TimeFrame,0)) continue

 

 Выдает ошибку (TimeFramе-variable not defined). Может TimeFramе не согласрвана?
Vitalie Postolache
12135
Vitalie Postolache 2015.02.12 08:11  
Vitold:
 Выдает ошибку (TimeFramе-variable not defined). Может TimeFramе не согласрвана?
А объявить переменную не пробовали? Или это надо особым образом подчёркивать?
Dmitry Fedoseev
42906
Dmitry Fedoseev 2015.02.12 09:31  
Vitold:
 Выдает ошибку (TimeFramе-variable not defined). Может TimeFramе не согласрвана?
Это как бы намек, что о таймфрейме вы сами должны подумать, поставить 0 или же нужное вам значение.
vitold
18
vitold 2015.02.13 12:31  
evillive:
А объявить переменную не пробовали? Или это надо особым образом подчёркивать?
TimeFramе должен быть текущий (тот на котором открыт график). Каким образом его обьявить?
vitold
18
vitold 2015.02.13 13:08  
Integer:
Это как бы намек, что о таймфрейме вы сами должны подумать, поставить 0 или же нужное вам значение.
Я  так понимаю что TimeFramе просто указывает на период на котором открыт гафик и работает советник. И он указаывает на все свечи, находящиеся  в этом периоде, а мне нужно ограничится одной свечей, а со следующей уже все советник опять включился. А  TimeFramе, наверное,   должен фигуриравать не только в цикле перебора ордеров?
Dmitry Fedoseev
42906
Dmitry Fedoseev 2015.02.13 13:54  
Vitold:
Я  так понимаю что TimeFramе просто указывает на период на котором открыт гафик и работает советник. И он указаывает на все свечи, находящиеся  в этом периоде, а мне нужно ограничится одной свечей, а со следующей уже все советник опять включился. А  TimeFramе, наверное,   должен фигуриравать не только в цикле перебора ордеров?
Прочитайте в справке описание функции iTime() и ее параметров. Поставьте 0 вместо TimeFrame. 
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий