← К каталогу
Исходный код · ID 2887

fadedbckgrnd2__1.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор для платформы MetaTrader 5, предназначенный для отрисовки градиентного фона на графике цены. Он создаёт набор прямоугольников, заполняющих видимую область графика, с плавным переходом цвета от верхней до нижней границы. Параметры позволяют настроить цвета, количество переходов и поведение отображения.

В основе работы лежит создание графических объектов типа OBJ_RECTANGLE на каждом шаге градиента. Прямоугольники позиционируются по времени и цене, используя данные видимой части графика: максимальный и минимальный уровень цены, а также первый видимый бар. Объекты рисуются на заднем плане, не перекрывая торговые данные.

Индикатор поддерживает два переключателя: принудительного обновления котировок и распространения градиента до конца графика. При деинициализации все созданные прямоугольники удаляются с графика. Исходный код содержит стиль MQL4, адаптированный под среду MQL5.

Настройки программы

НастройкаОписание
topcol Цвет верхней границы градиента в формате R,G,B (по умолчанию чёрный).
bottomcol Цвет нижней границы градиента в формате R,G,B (по умолчанию синий).
steps Количество шагов (полос) градиента, определяющее плавность перехода цвета.
a7 Текстовый параметр, содержащий служебную строку, связанную с функцией обновления данных.
ForceRefresh При активации инициирует принудительное обновление котировочных данных.
ExtendToEnd Распространяет градиентный фон до правого края графика, если включён режим сдвига графика.
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#import "stdlib.ex4"
int RGB(int red_value,int green_value,int blue_value);
double top, bottom;
datetime left;
int right_bound;
datetime right;
extern string topcol  ="000,000,000";
extern string bottomcol ="000,000,255";
int r,g,b;
extern int steps =20;
extern string a7="Force Refresh of data";
extern bool   ForceRefresh=FALSE;
extern bool   ExtendToEnd=true;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {

   for(int x=1;x<=steps;x++)
   {
      ObjectDelete("Padding_rect"+x);
   }

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   }
   int    counted_bars=IndicatorCounted();
   top =  WindowPriceMax();
   bottom = WindowPriceMin(); 
   left = Time[WindowFirstVisibleBar()];
   right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();
   int addToRight = (ExtendToEnd &&ChartGetInteger(0,CHART_SHIFT)==1) ? -right_bound  : 0;
   if(right_bound<0) right_bound=0;
   right=Time[right_bound]+(addToRight+1)*_Period*60;
   for(int x=1;x<=steps;x++)
   {
      if(ObjectFind("Padding_rect"+x) ==-1) ObjectCreate("Padding_rect"+x,OBJ_RECTANGLE,0,left,top-((top-bottom)/steps)*(x-1),right,top-((top-bottom)/steps)*(x));
      ObjectSet("Padding_rect"+x, OBJPROP_TIME1, left);
      ObjectSet("Padding_rect"+x, OBJPROP_TIME

Показано первые 50% кода (символов: 2023)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
202,30₽ ≈ $2.47