Старт распродаж! Черная пятница - 50%



Основные понятия [17]
Торговые системы,тактики [67]
Форекс начинающим [16]
Разное [37]

Сигнальный бар shift Рисующие индикаторы, с чем едят закрытый бар и текущий

Добавить в социальные закладки:

Сигнальный бар shift  Рисующие индикаторы, с чем едят закрытый бар и текущий бар.

Разбираем примеры работы индикаторов рисующих и не рисующих. Отличие сигналов при программировании. Использование параметра shift

 

 

 

Предисловие

Данная статья была написана по просьбам наших друзей.

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

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

Видео

Видео разбито на 9 сигнальных индикаторов с разными стратегиями сигналов. Как ими пользоваться и от чего спасает параметр shift 

shift (0,1,2.....) Номер бара

Данный параметр представляет собой номер бара, с которого Ваши индикаторы будут брать сигнал. При заказе эксперта Вы должны указать такие параметры определения сигнала: Открывать сделку сразу же после сигнала, или же ждать , пока сигнал сформируется на закрытом баре и открывать сделку только открытии следующего бара
Некоторые индикаторы, в силу своих алгоритмов, имеют четкое определение: на каком баре подается сигнал. Если говорить о четкости и правильном исполнении приказа: то сделку необходимо обрабатывать только на закрытом баре  т.е. параметр shift=1, Если же необходимо открывать сделку сразу же по наступлению сигнала на текущем баре и индикатор это позволяет необходимо ставить shift=0.
 

Советник

Советник написан с помощью нашего шаблона для написания советника. Все функции советника описаны на данной странице: Функции советника форекс

Скачать пакет можно по ссылке Пакет тестирования сигнального бара

 

Индикаторы

1. Индикатор Mooving Average

Стандартные индикатор терминала МТ4 имеющий в настройках период усреднения, цены усреднения а также тип усреднения. 

Стратегия торговли: Пересечение средних. Пересечение медленной МА и быстрой МА

Код стратегии:

      double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift); // Пример Вызова МА
      double ExampleMA2=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift); // Пример Вызова МА
      double ExampleMA23=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift+1); // Пример Вызова МА
      double ExampleMA22=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift+1); // Пример Вызова МА

      if(ExampleMA23<ExampleMA22 && ExampleMA>ExampleMA2)Sig=1;
      if(ExampleMA23>ExampleMA22 && ExampleMA<ExampleMA2)Sig=2;

Примеры работы при shift = 0 

Примеры работы при shift = 1

 

Пояснение: Данный индикатор, в принципе, не рисует, поэтому можно использовать при любом shift. 

Пример в видео: 

2. Индикатор cross

Пользовательский индикатор по стратегии пересечения МА + какие то фишки. Рисует сильно с хитростью. Т.е. пересечение 1 бара рисует стрелку на 0 баре и постоянно ее перерисовывает. 

Стратегия торговли: Торговля по стрелкам

Код стратегии:

  int Sig=0;
   if(shift!=-1)
     {
      double UP=iCustom(Symbol(),0,"cross",0,shift);
      double DN=iCustom(Symbol(),0,"cross",1,shift);
     }
   if(shift==-1)
      for(int i=1;i<=100;i++)
        {
         UP=iCustom(Symbol(),0,"cross",0,i);
         DN=iCustom(Symbol(),0,"cross",1,i);
         if(UP!=EMPTY_VALUE || DN!=EMPTY_VALUE)break;

        }

   if(UP!=EMPTY_VALUE){Sig=1;}
   if(DN!=EMPTY_VALUE){Sig=2;}

Примеры работы при shift = 0 

Примеры работы при shift = 1

Примеры работы при shift = -1

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

Пример в видео: 

3. Индикатор CurrencyPowerMeter

Пользовательский индикатор измеряющий силу валют. Данный индикатор работает по объектам поэтому shift не имеет значения. стратегия торговли по данному индикатору основывается на выстаскивании значения не с буфера индикатора, а с показания объекта на графике

Стратегия торговли: Торговля разнице между силами валют

Код стратегии:

   double EUR_HOUR[1];
   double GBP_HOUR[1];
   double AUD_HOUR[1];
   double NZD_HOUR[1];
   double USD_HOUR[1];
   double CAD_HOUR[1];
   double CHF_HOUR[1];
   double JPY_HOUR[1];

   double PervayaValuta;
   double VtorayaValuta;
   string note=" ======= Authentication SETTINGS ======";
   string username = "";
   string password = "";
   double trend;
   string DATATRend;

   trend=iCustom(Symbol(),0,"CurrencyPowerMeter",0,0);

   EUR_HOUR[0]=StringToDouble(ObjectDescription("CPMEUR_Str_h"));
   GBP_HOUR[0]=StringToDouble(ObjectDescription("CPMGBP_Str_h"));
   AUD_HOUR[0]=StringToDouble(ObjectDescription("CPMAUD_Str_h"));
   NZD_HOUR[0]=StringToDouble(ObjectDescription("CPMNZD_Str_h"));
   USD_HOUR[0]=StringToDouble(ObjectDescription("CPMUSD_Str_h"));
   CAD_HOUR[0]=StringToDouble(ObjectDescription("CPMCAD_Str_h"));
   CHF_HOUR[0]=StringToDouble(ObjectDescription("CPMCHF_Str_h"));
   JPY_HOUR[0]=StringToDouble(ObjectDescription("CPMJPY_Str_h"));

   if(StringSubstr(Symbol(),0,3)=="USD")PervayaValuta=USD_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="GBP")PervayaValuta=GBP_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="EUR")PervayaValuta=EUR_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="AUD")PervayaValuta=AUD_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="NZD")PervayaValuta=NZD_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="CAD")PervayaValuta=CAD_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="CHF")PervayaValuta=CHF_HOUR[0];
   if(StringSubstr(Symbol(),0,3)=="JPY")PervayaValuta=JPY_HOUR[0];

 

   if(StringSubstr(Symbol(),3,3)=="USD")VtorayaValuta=USD_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="GBP")VtorayaValuta=GBP_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="EUR")VtorayaValuta=EUR_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="AUD")VtorayaValuta=AUD_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="NZD")VtorayaValuta=NZD_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="CAD")VtorayaValuta=CAD_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="CHF")VtorayaValuta=CHF_HOUR[0];
   if(StringSubstr(Symbol(),3,3)=="JPY")VtorayaValuta=JPY_HOUR[0];

   if(PervayaValuta-VtorayaValuta>0)return(1);
   if(PervayaValuta-VtorayaValuta<0)return(2);
   return(0);

Примеры работы

 

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

Пример в видео: 

4. Индикатор Fiji Trend

Пользовательский индикатор работающий на MA и ATR, сигналы в виде стрелок, не рисующий индикатор, но с маленькой хитростью, индикатор берет данные с закрытых баров, но ставит стрелку на текущем 0 баре. это Иллюзия обмана. 

Стратегия торговли: торговля по стрелкам индикатора

Код стратегии:

   

   int Sig=0;

   double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // Пример вызова пользовательского индикатора
   double UPSignal=iCustom(Symbol(),0,"Fiji Trend",2,shift); // Пример вызова пользовательского индикатора
   double DNTrend=iCustom(Symbol(),0,"Fiji Trend",1,shift); // Пример вызова пользовательского индикатора
   double UPTrend=iCustom(Symbol(),0,"Fiji Trend",0,shift); // Пример вызова пользовательского индикатора


                                                            //Указываем Сигналы на открытие:
   if( UPSignal!=EMPTY_VALUE)Sig=1;
   if( DNSignal!=EMPTY_VALUE)Sig=2;

Примеры работы при shift = 0 

Примеры работы при shift = 1

 

Пояснение: Данный индикатор  не рисует. Но ставит сигналы с хитростью, которую я указал Выше. Один из немногих индикаторов, которые дает вполне хорошие сигналы

Пример в видео: 

5. Индикатор Fisher

Пользовательский индикатор, работающий на Хай Лоу баров и вычисляющий сигнал на основе своих формул. Рисует как показали тесты. Перерисовывает 3-5 баров на закрытых барах. сделан в виде гистограммы

Стратегия торговли: торговля по гистограмме. Пересечение гистограммой 0 отметки

Код стратегии:

   

   int Sig=0;

   double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // Пример вызова пользовательского индикатора

   double Fisher1=iCustom(Symbol(),0,"fisher",0,shift);
   double Fisher2=iCustom(Symbol(),0,"fisher",0,shift);


   if( Fisher1>0 && Fisher2>0 ){Sig=1; }
   if( Fisher1<0 && Fisher2<0 ){Sig=2;}

// 1 - бай  2 - селл
   return(Sig);

Примеры работы при shift = 0 

Примеры работы при shift = 1

 

Пояснение: Данный индикатор  рисует, поэтому брать с него сигналы я не рекомендую

Пример в видео: 

6. Индикатор HMA color

Пользовательский индикатор, работающий на MA и вычисляющий сигнал на основе своих формул.

Стратегия торговли: торговля по изменению цвета

Код стратегии:

 

  int Sig=0;

   double HMARED=iCustom(Symbol(),0,"HMA Color",3,shift);
   double HMAGREEN=iCustom(Symbol(),0,"HMA Color",1,shift);

   double HMARED2=iCustom(Symbol(),0,"HMA Color",3,shift+1);
   double HMAGREEN2=iCustom(Symbol(),0,"HMA Color",1,shift+1);

//Указываем Сигналы на открытие:
   if(HMAGREEN!=EMPTY_VALUE && HMAGREEN2==EMPTY_VALUE)Sig=1;
   if(HMARED!=EMPTY_VALUE && HMARED2==EMPTY_VALUE)Sig=2; 

Примеры работы при shift = 0 

Примеры работы при shift = 1

 

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

Пример в видео: 

7. Индикатор MACD

Стандартный индикатор терминала МТ. 

Стратегия торговли: торговля по пересечнию сигнальной линии и гистограммы

Код стратегии:

   int Sig=0;

   double MACD_SIGNAL1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift); // Пример Вызова МА
   double MACD_SIGNAL2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift+1); // Пример Вызова МА

   double MACD_MAIN1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift); // Пример Вызова МА
   double MACD_MAIN2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift+1); // Пример Вызова МА

   if(MACD_SIGNAL2<MACD_MAIN2 && MACD_SIGNAL1>MACD_MAIN1)Sig=1;
   if(MACD_SIGNAL2>MACD_MAIN2 && MACD_SIGNAL1<MACD_MAIN1)Sig=2;

Примеры работы при shift = 0 

Примеры работы при shift = 1

 

Пояснение: Данный индикатор  не перерисовывает на 1 закрытом баре, поэтому можно свободно использовать shift=1

 

Пример в видео: 

8. Индикатор ZIGZAG

Стандартный индикатор терминала МТ. Строит вершины и впадины по хай лоу определенного участка.

Стратегия торговли: торговлю по образованию вершин и впадин. Не рекомендуется играть по индикатору позициями. Хорошая стратегия по лимитникам.

Код стратегии:

   

   int Sig=0;

   double PriceZZ1=GetExtremumZZPrice(Symbol(),0,1);
   double PriceZZ2=GetExtremumZZPrice(Symbol(),0,2);

   double priceUP,priceDN;

   if(PriceZZ2>PriceZZ1 ){priceUP=PriceZZ2;priceDN=PriceZZ1;Sig=2;}
   if(PriceZZ2<PriceZZ1 ){priceUP=PriceZZ1;priceDN=PriceZZ2;Sig=1;}

Примеры работы при shift = 0 

 

Пояснение: Данный индикатор рисует вершины и впадины, поэтому shift не имеет значения. Особые условия стратегия позволяют торговать по данному индикатору довольно успешно.

Пример в видео: 

9. Работа по барам

Работа по обычнм барам терминала МТ. 

Стратегия торговли: Если бар бычий открываем бай, если бар медвежий открываем селл. 

Код стратегии:

      int Sig=0;

   if(Open[shift]<Close[shift])Sig=1;
   if(Open[shift]>Close[shift])Sig=2;

Примеры работы при shift = 0 

Примеры работы при shift = 1

 

Пояснение: Очень хороший пример работы параметра shift показывающий как можно играть стратегий по данному параметру

Пример в видео: 

Выводы

Данная статья показывает Вам примеры использований разных иникаторов и разное значение параметра shift. Естественно все индикаторы индивидуальны, поэтому при разработке советника учитывается тип индикатора и его сигнал. Но перед тем как заказать программисту - советника. Пожалуйста проверьте Ваш индикатор на момент перерисовки. Ведь от этого зависит то, как Ваш робот будет торговать. 

 

Советник

Советник написан с помощью нашего шаблона для написания советника. Все функции советника описаны на данной странице: Функции советника форекс

Скачать пакет можно по ссылке Пакет тестирования сигнального бара


Получить бесплатно Сигнальный бар shift  Рисующие индикаторы, с чем едят закрытый бар и текущий

Категория: Основные понятия | Добавил: expforex (27.10.2015)
Просмотров: 2355 | Теги: едят, Рисующие, сигнальный, бар, Закрытый, Shift, текущий, индикаторы, чем | Рейтинг: 5.0/1 |
Всего комментариев: 0
Имя *:
Email:
Код *:



WebMoney Яндекс цитирования.