Главная
Форум
Лаборатория стратегий и советников к ним.

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

Форум » Cтратегии и программирование на MQL » Лаборатория стратегий и советников к ним. » Exp - Templates #8 Tester Light (Программирование советников по индикаторам - Легко!)
Exp - Templates #8 Tester Light
Дата: Четверг, 22.11.2012, 21:05 | Сообщение # 1 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн



Программирование советников, для проверки своей стратегии по каким либо индикаторам - достаточно простое дело. И особых познаний в области программирования не нужны. Я расскажу Вам, как сделать советника за 5 минут на основе каких либо индикаторов.

attach_file Прикрепления

4675889.png(111.4 Kb)

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

Дата: Воскресенье, 08.11.2015, 10:39 | Сообщение # 111 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

ну я же Вам скинул код выше?
логика та же. Просто индикаторы немного по другому работают.

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

Дата: Воскресенье, 08.11.2015, 12:56 | Сообщение # 112 Написал: viktorosyka_
Группа: Удаленные





Не получается
Кодextern int  Otstup   =30;extern double  Per   =9;int           NB,STr,UD;double         R,SHMax,SHMin;double         BufD[];double         BufU[];#define  SH_BUY   1#define  SH_SELL  2//+------------------------------------------------------------------+//|                    |//+------------------------------------------------------------------+void OnTick()  {//---
   ArrayResize(BufD,99);   ArrayResize(BufU,99);
   int SH=1;      for(SH=1;SH<100;SH++)//comb out the chart from 1 to NB     {      for(R=0,STr=SH;STr<SH+10;STr++) {R+=(10+SH-STr)*(High[STr]-Low[STr]);}      R/=55;
      SHMax = High[Highest(NULL,0,MODE_HIGH,Per,SH)];      SHMin = Low[Lowest(NULL,0,MODE_LOW,Per,SH)];      if(Close[SH]<SHMin+(SHMax-SHMin)*Otstup/100 && UD!=SH_SELL)        {         BufU[SH]=Low[SH]-R*0.5;
         UD=SH_SELL;         break;        }      if(Close[SH]>SHMax-(SHMax-SHMin)*Otstup/100 && UD!=SH_BUY)        {         BufD[SH]=High[SH]+R*0.5;
         UD=SH_BUY;         break;        }     }
/*       Блок сигналов    */
//   if(UD==SH_SELL) // SELL//   if(UD==SH_BUY) // BUY        }  
/* Блок управления сигналом от Вашего индикатораСоздаем переменные для сигналов индикатора */int IndicatorSignal()  {   int Sig=0;
   //Указываем Сигналы на открытие:      if (UD==SH_BUY) Sig=1;       if (UD==SH_SELL) Sig=2; 

  // 1 - бай  2 - селл, 3 - закрытие бай, 4 - закрытие селл   return(Sig);  }

В таком виде компилируется без ошибок, но ни одного сигнала не проходит. Если блокуправления сигналами вставить как у вас показано то при компиляции выдает  2 ошибки
'IndicatorSignal' - function not defined (подгонка+2).mq4 232 11
'IndicatorSignal' - function can be declared only in the global scope (подгонка+2).mq4 131 5
Где и что не так вставляю не пойму

Сообщение отредактировал viktorosyka_ - Воскресенье, 08.11.2015, 13:03

Дата: Воскресенье, 08.11.2015, 13:14 | Сообщение # 113 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

Особенности индикаторов в том что они рисуют, и на индикаторе все выглядит красиво.
Когда ВЫ в советнике используете индикатор, то есть параметр shift который сглаживает рисование

видео по этой теме:


но когда Вы переносите код индикатора в советник, тут уже никакое сглаживание не подходит. 
прикрепил советник

attach_file Прикрепления

Exp-SHI.mq4(32.6 Kb)

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

Дата: Воскресенье, 08.11.2015, 16:08 | Сообщение # 114 Написал: viktorosyka_
Группа: Удаленные





Спасибо за разъяснение!

Дата: Пятница, 29.07.2016, 13:02 | Сообщение # 115 Написал: viktorosyka_
Группа: Удаленные





Здравствуйте Влад, Подскажите пожалуйста, как можно взять показания угла наклона из этого индикатора и использовать в шаблоне №10

attach_file Прикрепления

Linear_Sinus_FT.mq4(10.4 Kb)

Дата: Пятница, 29.07.2016, 14:05 | Сообщение # 116 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

приветствую,
вывел показания угла в отдельный буфер
на 0 баре он будет показывать показания угла то что и на графике.


получить показания:


Код
int IndicatorSignal(bool Printer=false)
  {

   int Sig=0;
double angle=iCustom(Symbol(),0,"Linear_Sinus_FT",600,2,0);
// 1 - бай  2 - селл, 3 - закрытие бай, 4 - закрытие селл
   return(Sig);
  }

attach_file Прикрепления

5243275.png(64.4 Kb) · Linear_Sinus_FT.zip(1.8 Kb)

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

Дата: Пятница, 29.07.2016, 17:52 | Сообщение # 117 Написал: viktorosyka_
Группа: Удаленные





Спасибо!!!

Дата: Пятница, 20.01.2017, 22:30 | Сообщение # 118 Написал: viktorosyka_
Группа: Удаленные





Добрый веер, Уважаемый Влад!
Вопрос по шаблону 10. Как изменить код шаблона что-бы мартингейл срабатывал не по сериям(Коленам), а по номерам ордеров в серии.
Т.Е. открывается 1 ордер по сигналу индикатора  лотом 1, следующий сигнал в том-же направлении при множители 2= 2.
при закрытии этой серии (колена) отсщет начинается сначала. smile  Спасибо и всего доброго вам и вашей семье, мира и достатка.

Сообщение отредактировал viktorosyka_ - Пятница, 20.01.2017, 22:31

Дата: Пятница, 20.01.2017, 23:02 | Сообщение # 119 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

приветствую, 
Вы имеете ввиду не по закрытию по СЛ а при доп открытии?

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

Дата: Суббота, 21.01.2017, 08:41 | Сообщение # 120 Написал: viktorosyka_
Группа: Удаленные





Да. Например  при затяжном тренде доливки шли по сигналу индикатора с учетом мартина (1,2,4,8 и т.д.) по противоположному сигналу индикатора эта серия закрывается, и начинается новая  (1,2,4,8 и т.д.).

Форум » Cтратегии и программирование на MQL » Лаборатория стратегий и советников к ним. » Exp - Templates #8 Tester Light (Программирование советников по индикаторам - Легко!)
Поиск:
Expforex Expforex Идеи для Форекс https://www.expforex.com/1NEWDESIGN/NEWLOGO/LOGONEW.png expforex@meta.ua Украина expforex2