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

Рейтинг 2155



РЕКОМЕНДУЮ



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

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

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

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

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

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

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

0
на 21-е
avatar

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

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

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

  • 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 Сообщений: 16530 - Андрей

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

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

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

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