Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



ИНДИКАТОР – BOLLINGER 3-ФРЕЙМА.

Здравствуйте. Можете переделать индикатор.

Bands_Custom.mq4 (6 Kb)

Надо, чтоб Болинждер показывал 3 фрейма в одном. Один график – свободный, показывает текущий фрейм. 2 других – залочены на те фреймы, что я укажу.

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

Нужна возможность ставить период для каждого раздельно.
Остальные параметры – общие для всех.
  • 0
  • Просмотров: 2440
  • 20 июля 2016, 17:41
  • mikeford
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
индюшонок
Следующая запись в группе  
Исправить индикатор.
19 июля 2016
21 июля 2016

Брокер для ваших роботов, 15 лет на рынке

Комментарии (5)

+
0
Посмотрю сегодня.
avatar

  35  AM2 Сообщений: 16285 - Андрей

  • 20 июля 2016, 18:39
+
0
Так примерно нужно?



//+------------------------------------------------------------------+
//|                                                           BB.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int BBPeriod1 = 20;
input int BBPeriod2 = 20;
input int BBPeriod3 = 20;

input int BBTF1 = 0;
input int BBTF2 = 30;
input int BBTF3 = 60;

input double BBDev = 2;

#property indicator_buffers 9
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 Blue
#property indicator_color6 Lime
#property indicator_color7 Red
#property indicator_color8 Blue
#property indicator_color9 Lime

double up1[];
double up2[];
double up3[];
double dn1[];
double dn2[];
double dn3[];
double md1[];
double md2[];
double md3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//--- upper band
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,up1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,up2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,up3);
/*--- lower ban*/
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,dn1);
   SetIndexStyle(4,DRAW_LINE);
   SetIndexBuffer(4,dn2);
   SetIndexStyle(5,DRAW_LINE);
   SetIndexBuffer(5,dn3);
//--- middle lined
   SetIndexStyle(6,DRAW_LINE);
   SetIndexBuffer(6,md1);
   SetIndexStyle(7,DRAW_LINE);
   SetIndexBuffer(7,md2);
   SetIndexStyle(8,DRAW_LINE);
   SetIndexBuffer(8,md3);

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   for(int i=0; i<5555; i++)
     {
      up1[i]=iBands(NULL,BBTF1,BBPeriod1,BBDev,0,0,1,i);
      dn1[i]=iBands(NULL,BBTF1,BBPeriod1,BBDev,0,0,2,i);
      md1[i]=iBands(NULL,BBTF1,BBPeriod1,BBDev,0,0,0,i);
      
      up2[i]=iBands(NULL,BBTF2,BBPeriod2,BBDev,0,0,1,i);
      dn2[i]=iBands(NULL,BBTF2,BBPeriod2,BBDev,0,0,2,i);
      md2[i]=iBands(NULL,BBTF2,BBPeriod2,BBDev,0,0,0,i);
      
      up3[i]=iBands(NULL,BBTF3,BBPeriod3,BBDev,0,0,1,i);
      dn3[i]=iBands(NULL,BBTF3,BBPeriod3,BBDev,0,0,2,i);
      md3[i]=iBands(NULL,BBTF3,BBPeriod3,BBDev,0,0,0,i);            
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
avatar

  35  AM2 Сообщений: 16285 - Андрей

  • 20 июля 2016, 19:43
+
0
Сложно сказать, потому что у меня он запустился в таком виде.



И даже на вашей фотке не то. Линии ведь не должны быть выше цены таким странным образом.

Надо так.
Допустим мой текущий фрейм 1Ч. Надо, чтоб на нем отображалось одновременно три графика Бандс – 1Ч (свободный), 4Ч и 1Д (если в настройках укажу их фрейм). Если я переключаю на 15М, то графики будут – 15М, а 4Ч и 1Д останутся неизменными. То есть, чтобы мне не нужно было постоянно менять фреймы, чтоб посмотреть ихний график. Это возможно сделать?
avatar

  9  mikeford Автор Сообщений: 57

  • 21 июля 2016, 19:12
+
0
И даже на вашей фотке не то. Линии ведь не должны быть выше цены таким странным образом.

Именно так и должно быть. возьмем к примеру машку период 20. на Н1 период 20, на Н4-80, на Д1-240. Так и с боллинджером. Все наверх улетает <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; 
Все по ТЗ: www.opentraders.ru/downloads/1264/
Редактирован: 22 июля 2016, 07:36
avatar

  35  AM2 Сообщений: 16285 - Андрей

  • 21 июля 2016, 20:53
+
0
Да, теперь разобрался. Спасибо.
avatar

  9  mikeford Автор Сообщений: 57

  • 22 июля 2016, 17:35

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий