Для того, чтобы использовать все возможности сайта, мы рекомендуем Вам person_addЗарегистрироваться или personВойти

  • Страница 1 из 2
  • 1
  • 2
  • »
Форум Трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Пересечение заданной линии (Как при описании условий для торговли описать пересечение не)
Пересечение заданной линии
Дата: Четверг, 10.10.2013, 13:49 | Сообщение # 1 Написал: AndreCo
Группа: Пользователи
Сообщений: 6
Награды: 0
Статус: Offline

Как при описании условий для торговли описать пересечение некой заданой линии (как сигнал) собственным индикатором?

attach_file Прикрепления: 5360277.png(17.4 Kb)

Дата: Четверг, 10.10.2013, 14:03 | Сообщение # 2 Написал: expforex
Группа: Администраторы
Сообщений: 9195
Награды: 30
Статус: Offline

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

для этого в внешние настройки советника например выставляем внешние переменные индикатора: 

Код
extern double    k1=1.0;
extern double    k2=1.0;
extern double    k3=1.0;


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

Код
double Indicator1 = iCustom(Symbol(),0,"AndreCo",k1,k2,k3,0,shift);


буфер у нас 1, т.е. его порядковый номер 0.

Далее второй бар индикатора:
Код
double Indicator2 = iCustom(Symbol(),0,"AndreCo",k1,k2,k3,0,shift+1);


shift в данном случае определяет стартовый бар расчета, если поставить 0 - то будет считаться текущее пересечение, я не рекомендую так делать, потому что на текущем баре индикатор только формирует значение линии поэтому shift=1 

Далее пересечение в данном случае будет выглядеть так,
например пересечение 0 снизу вверх:
 
Код
if(Indicator2 <=0 && Indicator1>0)Открываем бай например


например пересечение 0 сверху вниз:
 
Код
if(Indicator2>=0 && Indicator1 <0)Открываем селл например

gestureс Уважением, Владислав Expforex

Дата: Четверг, 10.10.2013, 17:43 | Сообщение # 3 Написал: AndreCo
Группа: Пользователи
Сообщений: 6
Награды: 0
Статус: Offline

Для понятия принципа написал "солянку" взяв за основу стандартный советник МА, прицепив простой индикатор. Сделал как написано выше - ордера не открывает. Посмотрите, пожалуйста, где косяк. Спасибо.

attach_file Прикрепления: What_System.mq4(5.1 Kb)

Дата: Четверг, 10.10.2013, 17:45 | Сообщение # 4 Написал: expforex
Группа: Администраторы
Сообщений: 9195
Награды: 30
Статус: Offline

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

gestureс Уважением, Владислав Expforex

Дата: Четверг, 10.10.2013, 17:49 | Сообщение # 5 Написал: AndreCo
Группа: Пользователи
Сообщений: 6
Награды: 0
Статус: Offline

загружено успешно (loaded successfully)
При компиляции ошибок нет

Дата: Четверг, 10.10.2013, 17:54 | Сообщение # 6 Написал: expforex
Группа: Администраторы
Сообщений: 9195
Награды: 30
Статус: Offline

AndreCo, ок, тогда смотрите на индюк, у меня его нет поэтому посмотреть ен могу.

gestureс Уважением, Владислав Expforex

Дата: Четверг, 10.10.2013, 18:01 | Сообщение # 7 Написал: AndreCo
Группа: Пользователи
Сообщений: 6
Награды: 0
Статус: Offline

Вот:
ТФ М5

attach_file Прикрепления: What.mq4(2.2 Kb)

Дата: Четверг, 10.10.2013, 18:11 | Сообщение # 8 Написал: expforex
Группа: Администраторы
Сообщений: 9195
Награды: 30
Статус: Offline

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

может  название индикатора неправильное? в самом советнике 
может надо так 

   double indi1=iCustom(Symbol(),0,"What",0,shift);
   double indi2=iCustom(Symbol(),0,"What",0,shift+1);

attach_file Прикрепления: 8832259.png(139.4 Kb)

gestureс Уважением, Владислав Expforex

Дата: Четверг, 10.10.2013, 21:50 | Сообщение # 9 Написал: AndreCo
Группа: Пользователи
Сообщений: 6
Награды: 0
Статус: Offline

Спасибо за помощь, с этим вопросом разобрался

Дата: Четверг, 10.10.2013, 22:27 | Сообщение # 10 Написал: expforex
Группа: Администраторы
Сообщений: 9195
Награды: 30
Статус: Offline

AndreCo, все таки неправильно был назван индикатор?

gestureс Уважением, Владислав Expforex

Форум Трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Пересечение заданной линии (Как при описании условий для торговли описать пересечение не)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: