cardon

 
Уровень 10

  Торгую в компаниях:


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

Рейтинг 2146



РЕКОМЕНДУЮ




Лучшее от cardon



дороботка сова Комментариев 68
2016-11-24 13:25:33Рейтинг 0

советник на 1 МА Комментариев 13
2016-07-29 13:57:46Рейтинг 0

просто индюк Комментариев 22
2016-09-17 11:18:53Рейтинг 0

доработка сова Комментариев 2
2017-01-09 19:57:28Рейтинг 0

сова просто сова Комментариев 19
2016-10-06 16:43:18Рейтинг 0

просто индюк

здоров всем 0/, давно не выгонял тараканов с головы) вот решил выгнать чуток.

нужен индикатор который закрашивал бы дни в определенный цвет от открытия дня — открылись выше — красим в зеленый, ниже — красим в красный.
цвет закраски можно выбирать, но должно быть два разных.

сделать 2 варианта работы если не сложно:

1. простой — закрашивать после закрытия дня, то есть в течении дня нечего не красим, а после закрытия дня закрашиваем, как показано на скрине.

2. посложнее — красит в течении дня по лоу/максимуму, тоесть возможны перемены цвета при пересечении открытия дня, например мы пошли в низ красим в красный, но через время пошли на верх и пересекли открытие и меняем цвет на зеленый или наоборот. В итоге после закрытия дня должна получится картинка, как у первого варианта.

при сложности 2 варианта сделать хоть первый.

  • +3
  • Просмотров: 4127
  • 17 сентября 2016, 11:18
  • cardon
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
После выходных посмотрю.
avatar

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

  • 17 сентября 2016, 14:00
+
0
скачай индикатор m-Candles. в просторах инета валяется
avatar

  15  laser Сообщений: 182 - Сергей

  • 17 сентября 2016, 21:51
+
0
это не то, думаете я не смотрел, мне нужно как на скрине, потом на него наложу еще индюк один.
avatar

  10  cardon Автор Сообщений: 376

  • 17 сентября 2016, 22:20
+
0
Вот простейший вариант:




//+------------------------------------------------------------------+
//|                                                     ColorDay.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
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr)
  {
   ObjectDelete(0,name);
//--- создадим прямоугольник по заданным координатам
   ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2);
//--- установим цвет прямоугольника
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   
      datetime time0 = time[iBarShift(NULL,0,StringToTime("00:00"))];
      double dhigh = iHigh(NULL,PERIOD_D1,0);
      double dopen = iOpen(NULL,PERIOD_D1,0);
      double dclose = iClose(NULL,PERIOD_D1,0);
      double dlow = iLow(NULL,PERIOD_D1,0);
      
      if(dclose<dopen) PutRect("Rect",time0,dopen,time[0],dclose,Red);
      if(dclose>dopen) PutRect("Rect",time0,dopen,time[0],dclose,Blue);

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

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

  • 17 сентября 2016, 22:01
+
0
А где вариант с картинки? А то с нуля долго.
avatar

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

  • 17 сентября 2016, 22:07
+
0
с какой картинки?
avatar

  10  cardon Автор Сообщений: 376

  • 17 сентября 2016, 22:21
+
0
если имеется ввиду скрин, то был испольльзован индикатор rgho.st/6JxDgNFTd и раскрашено в ручную от открытия до закрытия.

тут подумал, что просто 1 вариант устроит.
avatar

  10  cardon Автор Сообщений: 376

  • 17 сентября 2016, 22:32
+
0
Сообразил как по истории раскрасить:




//+------------------------------------------------------------------+
//|                                                     ColorDay.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
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr)
  {
   ObjectDelete(0,name);
//--- создадим прямоугольник по заданным координатам
   ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2);
//--- установим цвет прямоугольника
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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++)
     {
      datetime time0=time[iBarShift(NULL,0,StringToTime("00:00"))];
      double dopen = iOpen(NULL,PERIOD_D1,0);
      double dclose = iClose(NULL,PERIOD_D1,0);
      
      if(dclose<dopen) PutRect("Rect"+dopen,time0,dopen,time[0],dclose,Red);
      if(dclose>dopen) PutRect("Rect"+dopen,time0,dopen,time[0],dclose,Blue);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

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

  • 17 сентября 2016, 22:34
+
0
кидаю на график и нечего, пусто
avatar

  10  cardon Автор Сообщений: 376

  • 17 сентября 2016, 22:41
+
0
Потому что сейчас на рынке пусто, в тестере прогоните.

avatar

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

  • 18 сентября 2016, 08:22
+
0
Вот сделал вариант когда уже не пусто: www.opentraders.ru/downloads/1324/


//+------------------------------------------------------------------+
//|                                                     ColorDay.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 Count = 5555; // баров для расчета
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr)
  {
   ObjectDelete(0,name);
//--- создадим прямоугольник по заданным координатам
   ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2);
//--- установим цвет прямоугольника
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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<Count;i++)
     {
      datetime time0=iTime(NULL,PERIOD_D1,i); 
      datetime time1=time0+3600*24;     
      double dopen = iOpen(NULL,PERIOD_D1,i);
      double dclose = iClose(NULL,PERIOD_D1,i);
      
      if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,Red);
      if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,Blue);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+




Редактирован: 18 сентября 2016, 09:56
avatar

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

  • 18 сентября 2016, 09:04
+
0
Когда заказываете индикатор прилагайте открытый код подобного индикатора, это значительно облегчит жизнь программисту и у вас будет больше шансов, что получите желаемое.
avatar

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

  • 18 сентября 2016, 09:07
+
0
у меня нет подобного, на скрине я руками все разрисовал и вы не работаете с чужим кодом я и не искал как бы.
avatar

  10  cardon Автор Сообщений: 376

  • 18 сентября 2016, 09:54
+
0
здорово то что надо, можно добавить выбор цвета этих баров? цвет терминала всех разный.
avatar

  10  cardon Автор Сообщений: 376

  • 18 сентября 2016, 09:54
+
0
C образца можно быстро срисовать принцип построения, задача таким образом значительно облегчается. С цветами:


//+------------------------------------------------------------------+
//|                                                     ColorDay.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 Count=5555; // баров для расчета
input color UP = Blue;
input color DN = Red;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll(0,0,OBJ_RECTANGLE);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr)
  {
   ObjectDelete(0,name);
//--- создадим прямоугольник по заданным координатам
   ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2);
//--- установим цвет прямоугольника
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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<Count;i++)
     {
      datetime time0=iTime(NULL,PERIOD_D1,i);
      datetime time1=time0+3600*24;
      double dopen=iOpen(NULL,PERIOD_D1,i);
      double dclose=iClose(NULL,PERIOD_D1,i);

      if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN);
      if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

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

  • 18 сентября 2016, 10:01
+
0
Сделал вариант на MQL5. Если опубликуют в СodeBase на мкл, сможете посмотреть.
Сейчас еще не видно наверное? :D  www.mql5.com/ru/code/16383/
avatar

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

  • 18 сентября 2016, 16:52
+
0
по сути это просто д1 свечки без хвостов) подойдет для некоторых тс и для наложения на другие индюки.
avatar

  10  cardon Автор Сообщений: 376

  • 18 сентября 2016, 17:26
+
0

Не все дни красит ( 

Скачивал готовый файл
Редактирован: 18 сентября 2016, 20:31
avatar

  8  poruchik Сообщений: 139

  • 18 сентября 2016, 20:29
+
0



все нормально, все пары проверял.

красных линий там нету вроде и не должны быть.
Редактирован: 18 сентября 2016, 21:03
avatar

  10  cardon Автор Сообщений: 376

  • 18 сентября 2016, 20:55
+
0
Интересно, возможно ли создать индикатор волн Элиота?
avatar

  8  Voland-Z Сообщений: 259 - Ищук Александр

  • 19 сентября 2016, 03:03
+
0
Интересно, возможно ли создать индикатор волн Элиота?

Это к Оксане, платно.
avatar

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

  • 19 сентября 2016, 09:41
+
0
Поищите ЗДЕСЬ. Не возьмусь такое писать.
avatar

  27  Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..

  • 19 сентября 2016, 12:20

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