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

n candle back indicator.mq5

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

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

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

О программе

Это пользовательский индикатор для MetaTrader 4, отображаемый в окне графика. Он рисует на графике две горизонтальные линии-маркера: ведущую и запаздывающую, положение которых рассчитывается по выбранному типу цены (Close, Open, High, Low) на заданном числе свечей назад. Между маркерами при необходимости выводится текстовая метка с расстоянием в пунктах, а также ценовые флажки-стрелки у правого края линий.

Индикатор работает в главном окне графика и обновляется либо на каждом тике, либо при появлении новой свечи, в зависимости от настроек. Для корректной работы счётчика спреда требуется разрешение на импорт DLL, о чём индикатор предупреждает при инициализации. Все графические объекты создаются с префиксом и удаляются при деинициализации.

Настройки позволяют выбрать тип цены и цвет/толщину для каждого маркера, длину линии, смещение запаздывающего маркера, а также параметры отображения ценовых флажков и счётчика спреда. Дополнительно задаются шрифт и его размер для текстовой метки, а также размер подокна в процентах.

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

НастройкаОписание
Lead_Marker_Settings___________ Настройки ведущего маркера — Информационная строка-подсказка с расшифровкой значений типа цены для ведущего маркера.
Lead_Marker_Price_Type Тип цены ведущего маркера — Тип цены для расчёта ведущего маркера: 0 — Close, 1 — Open, 2 — High, 3 — Low.
Lead_Marker_Color Цвет ведущего маркера — Цвет ведущей линии-маркера.
Lead_Marker_Width Толщина ведущего маркера — Толщина ведущей линии-маркера.
Trailing_Marker_Settings_______ Настройки запаздывающего маркера — Информационная строка-подсказка с расшифровкой значений типа цены для запаздывающего маркера.
Trailing_Marker_Price_Type Тип цены запаздывающего маркера — Тип цены для расчёта запаздывающего маркера: 0 — Close, 1 — Open, 2 — High, 3 — Low.
Trailing_Marker_Color Цвет запаздывающего маркера — Цвет запаздывающей линии-маркера.
Trailing_Marker_Width Толщина запаздывающего маркера — Толщина запаздывающей линии-маркера.
Trail_By Смещение запаздывающего маркера — Смещение запаздывающего маркера в свечах назад относительно ведущего.
Marker_Line_Length Длина линии маркера — Длина линий-маркеров в свечах.
Price_Flag_Settings____________ Настройки ценовых флажков — Информационная строка-разделитель для группы настроек ценовых флажков.
Show_Price_Flag Показывать ценовой флажок — Включает или отключает отображение ценовых флажков-стрелок у линий-маркеров.
Lead_Marker_Flag_Color Цвет флажка ведущего маркера — Цвет ценового флажка ведущего маркера.
Trailing_Marker_Flag_Color Цвет флажка запаздывающего маркера — Цвет ценового флажка запаздывающего маркера.
Flag_Width Толщина флажка — Толщина ценовых флажков-стрелок.
Flag_As_Background Флажок на заднем плане — Определяет, отображать ли ценовые флажки на заднем плане графика.
Spread_Counter_Settings________ Настройки счётчика спреда — Информационная строка-разделитель для группы настроек счётчика спреда.
Show_Spread_Counter Показывать счётчик спреда — Включает или отключает отображение текстовой метки с расстоянием между маркерами в пунктах.
Font Шрифт — Название шрифта для текстовой метки счётчика спреда.
Font_Size Размер шрифта — Размер шрифта текстовой метки счётчика спреда.
Font_Color Цвет шрифта — Цвет текста счётчика спреда.
Other_Settings_________________ Прочие настройки — Информационная строка-подсказка о размере подокна в процентах от высоты.
Sub_Window_Size Размер подокна — Размер подокна в процентах от высоты (0–100), влияющий на вертикальное смещение текстовой метки.
Every_Tick Обновлять на каждом тике — Если включено, индикатор пересчитывается на каждом тике; иначе обновление происходит только при появлении новой свечи или при включённом счётчике спреда.
Получить полный код

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

#property indicator_chart_window

extern string Lead_Marker_Settings___________ = "* 0=Close, 1=Open, 2=High, 3=Low";
extern int    Lead_Marker_Price_Type = PRICE_CLOSE;
extern color  Lead_Marker_Color = White;
extern int    Lead_Marker_Width = 2;

extern string Trailing_Marker_Settings_______ = "* 0=Close, 1=Open, 2=High, 3=Low";
extern int    Trailing_Marker_Price_Type = PRICE_CLOSE;
extern color  Trailing_Marker_Color = Red;
extern int    Trailing_Marker_Width = 2;
extern int    Trail_By = 1;
extern int    Marker_Line_Length = 5;

extern string Price_Flag_Settings____________ = "*****";
extern bool   Show_Price_Flag = True;
extern color  Lead_Marker_Flag_Color = LimeGreen;
extern color  Trailing_Marker_Flag_Color = Green;
extern int    Flag_Width = 2;
extern bool   Flag_As_Background = false;

extern string Spread_Counter_Settings________ = "*****";
extern bool   Show_Spread_Counter = True;
extern string Font = "Verdana";
extern int    Font_Size = 12;
extern color  Font_Color = Gold;

extern string Other_Settings_________________ = "* Sub_Window_Size in height%(0-100)";
extern double Sub_Window_Size = 0;
extern bool   Every_Tick = true;

int      DPI = 96;
double   Text_W, Text_H;
datetime Time_0;

double pmd;

#define pre "NCBI#"

#import "user32.dll"
bool GetClientRect(int HWND, int& LPRECT[]);
#import

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

int deinit()
   {

   DeleteObjects(pre);

   return(0);
   }

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

   if(Every_Tick||Show_Spread_Counter||Time_0!=Time[0]) Time_0 = Time[0]; else return(0);

   double level1, level2, level3;
   datetime t3;
   int adj_x; double adj_y, Coefficient_X, Coefficient_Y;
   int window_w, window_h, RectValue[4];
   string obj, pips;

   level2 = DrawMarker(2, 1, Lead_Marker_Price_Type, Lead_Marker_Color, Lead_Marker_Width, Lead_Marker_Flag_Color);
   level1 = DrawMarker(1, 1+Trail_By, Trailing_Marker_Price_Type, Trailing_Marker_C

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

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

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

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

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

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

Стоимость полного кода
354,20₽ ≈ $4.33