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

Рейтинг 2146



РЕКОМЕНДУЮ



Добавить вертикальные линии в индикатор.

Здравствуйте, прошу добавить в этот индикатор для МТ5
opentraders.ru/downloads/1002/

вертикальные линии, с возможностью выбора в настройках времени в минутах.
Например в настройках ставим 60 рисуется вертикальная линия в начале каждого часа
30 — каждые 30 минут,
240 — каждые 4 часа.

если 0 то ничего не рисуется.
  • 0
  • Просмотров: 1292
  • 20 марта 2022, 12:44
  • sober
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
Мартингейл с фильтрацией по MACD
19 марта 2022
20 марта 2022

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

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

+
0
на 21-е
avatar

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

  • 20 марта 2022, 21:30
+
0
avatar

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

  • 21 марта 2022, 20:39
+
0
что-то не выходит, скачиваю, ставлю, там только горизонтальные линии
avatar

  9  sober Автор Сообщений: 37

  • 21 марта 2022, 21:34
+
0
у вас старый, скачайте еще раз: www.opentraders.ru/downloads/1002/

или вот кодом:


//+------------------------------------------------------------------+
//|                                                  GridBuilder.mq5 |
//|                                              Copyright 2015, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

//---- для расчёта и отрисовки индикатора использовано ноль буферов
#property indicator_buffers 0
//---- использовано всего ноль графических построений
#property indicator_plots   0
//--- входные параметры
input int count = 50;      // количество линий вверх вниз от цены
input int step  = 500;     // шаг линий
input double pr = 1.1;     // цена от которой пляшем
input color clr = Aqua;    // цвет
input ENUM_TIMEFRAMES TF  = PERIOD_D1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,0,OBJ_HLINE);
   ObjectsDeleteAll(0,0,OBJ_VLINE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectsDeleteAll(0,0,OBJ_HLINE);
   ObjectsDeleteAll(0,0,OBJ_VLINE);
  }
//+------------------------------------------------------------------+
//| Горизонтальная линия                                             |
//+------------------------------------------------------------------+
void PutHLine(string name,double p)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_HLINE,0,0,p);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//| Вертикальная линия                                               |
//+------------------------------------------------------------------+
void PutVLine(string name,datetime t,double price)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_VLINE,0,t,price);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
   double price=pr;
//--- создадим горизонтальную линию
   for(int i=0; i<=count; i++)
     {
      PutHLine("HLine"+(string)i,price+step*i*_Point);
      PutHLine("HLine"+(string)(i+count+1),price-step*i*_Point);
      PutVLine("VLine"+(string)i,iTime(NULL,TF,i),2);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+



avatar

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

  • 21 марта 2022, 21:41
+
0
Спасибо, все работает!
avatar

  9  sober Автор Сообщений: 37

  • 21 марта 2022, 21:52

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