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

simplehorizontalgrid.mq5

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

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

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

О программе

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

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

НастройкаОписание
Lines density (minDistance) Плотность линий — Определяет минимальное расстояние между горизонтальными линиями сетки в пикселях; влияет на количество отображаемых уровней.
Secondary lines definition (SEC_LEVELS) Определение вторичных линий — Задаёт количество и расположение дополнительных промежуточных линий между основными уровнями сетки.
Reverse line colours (reverseColour) Инвертировать цвета линий — При включении меняет местами цвета основных и вспомогательных линий сетки.
Hide price labels (DISPLAY_IN_BACKGROUND) Размещение линий на заднем плане — При включении основные линии сетки рисуются за ценовыми свечами, а не поверх них.
Получить полный код

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

#property strict
#property indicator_chart_window
#define VERSION "201.003"
#property version VERSION

#property description "Indicator plots a 2-colour dynamic grid at round number levels."

enum LineType 
  {
   None = 0, //   None     
   Two = 2,  //   500       
   Four = 4,  //  250 500 750  
   Five = 5,  //  200 400 600 800
   Eight = 8, //  125 250 .. 750 875
   Ten=10  //   100 200 .. 800 900  

  };

enum YesNoType 
  {
   TYPE_YES =1, // Yes
   TYPE_NO = 0  // No
  };

YesNoType SHOW_FINE_GRID=TYPE_YES; // Secondary lines count

enum DistanceEnum 
  {
   D_5=5,//  05 - 050 pixels
   D_10 = 10, //  10 - 100 pixels
   D_20 = 20, //  20 - 200 pixels
   D_30 = 30, //  30 - 300 pixels
   D_40 = 40, //  40 - 400 pixels
   D_50 = 50  //  50 - 500 pixels
  };

input DistanceEnum minDistance=D_20; // Lines density
input LineType SEC_LEVELS=Five; // Secondary lines definition
input YesNoType reverseColour=TYPE_NO; // Reverse line colours
input YesNoType DISPLAY_IN_BACKGROUND=TYPE_YES; // Hide price labels

color MAIN_LINE_COLOR;
color FINE_COLOR;
int LINE_STYLE=STYLE_DOT;

#define INDI_PREFIX "SHG_"

double high= 0.0;
double low = 0.0;

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

void OnDeinit(const int reason) 
  {
   deleteLines();
  }

int OnCalculate(const int rates_total,// size of input time series
                const int prev_calculated,  // bars handled in previous call
                const datetime& time[],     // Time
                const double& open[],       // Open
                const double& xhigh[],       // High
                const double& xlow[],        // Low
                const double &close[],// Close
                const long &tickVolume[],// Tick Volume
                const long& volume[],       // Real Volume
                const int& spread[]) 
  {
      // код доступен только после оплаты
   }

void OnChartEvent(const int id,// Event ID
                  const long& lparam,   // Parameter of type long event
                  const double& dparam, // Parameter of type double event
                  const string &sparam) 
  {  // Parameter of type string events

   if(chartChanged()) 
     {
      draw();
     }
  }
int pixelHeight=0;

bool chartChanged() 
  {
   double newHigh= ChartGetDouble(0,CHART_PRICE_MAX);
   double newLow = ChartGetDouble(0,CHART_PRICE_MIN);
   int newPixelHeight=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);

   if(newHigh!=high || newLow!=low || newPixelHeight!=pixelHeight) 
   

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

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

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

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

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

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

Стоимость полного кода
427,70₽ ≈ $5.23