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

Ind-WSO+WRO+Trend Line

!ind_wso-wro-trend_line_work.mq5
Вы автор или правообладатель?

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

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

О программе

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

Линии проецируются вперёд с использованием фибоначчи-уровней, что позволяет трейдеру оценивать потенциальные зоны поддержки и сопротивления. Доступны отдельные настройки для линий поддержки (WSO) и сопротивления (WRO), включая цвета, стили и толщину отображения.

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

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

НастройкаОписание
Number of lines (WSO, WRO, Trend Line) > 0 (Number_Line) Количество линий (WSO, WRO, Trend Line) — Количество отображаемых линий поддержки, сопротивления и трендовых линий.
Period (WSO, WRO) > 0 (default:9) (nPeriod) Период (WSO, WRO) — Период в барах, используемый для определения точек поддержки и сопротивления.
Fibo lenght line (161.8; 261.8; 423.6) (Fibo) Уровень Фибоначчи для длины линии — Уровень Фибоначчи, определяющий длину проецируемых линий (161.8, 261.8 или 423.6).
===== Comment & ID ===== (_i2) Комментарий и ID — Разделитель-комментарий для блока настроек идентификаторов и комментариев.
Drawing Line RAY Right (ray) Линия лучом вправо — Определяет направление линий: луч вправо или конечная линия.
Drawing Horizont Line (WSO/WRO)? (Draw_Horlizont_Line) Отрисовка горизонтальных линий (WSO/WRO) — Включает или отключает отрисовку горизонтальных линий поддержки и сопротивления на графике.
Drawing Trend Line (WSO/WRO)? (Draw_Trend_Line) Отрисовка трендовых линий (WSO/WRO) — Включает или отключает отрисовку трендовых линий поддержки и сопротивления.
Drawing Right Marker? (Draw_Right_Marker) Отрисовка правого маркера — Включает или отключает отрисовку маркеров на правой стороне графика в расчётных точках.
Delete All Right Marker if DeInit? (bDelete_All_Marker) Удаление всех маркеров при деинициализации — При деинициализации индикатора автоматически удаляет все маркеры с графика, если включено.
ID Drawing Object (sID) ID объектов рисования — Префикс имени объектов рисования на графике, используемый для идентификации.
===== WSO Line ===== (_i3) Настройки линий WSO — Разделитель-комментарий для блока настроек линий поддержки WSO.
Color WSO all line (cWSOa) Цвет линии WSO — Цвет горизонтальной линии поддержки WSO.
Style WSO all line (sWSOa) Стиль линии WSO — Стиль горизонтальной линии поддержки WSO.
Width WSO all line (wWSOa) Толщина линии WSO — Толщина горизонтальной линии поддержки WSO.
===== WSO Trend Line Low ===== (_i4) Настройки трендовых линий WSO — Разделитель-комментарий для блока настроек трендовых линий поддержки WSO.
Color WSO all line (cTSOa) Цвет трендовой линии WSO — Цвет трендовой линии поддержки WSO.
Style WSO all line (sTSOa) Стиль трендовой линии WSO — Стиль трендовой линии поддержки WSO.
Width WSO all line (wTSOa) Толщина трендовой линии WSO — Толщина трендовой линии поддержки WSO.
===== WRO Line ===== (_i5) Настройки линий WRO — Разделитель-комментарий для блока настроек линий сопротивления WRO.
Color WRO all line (cWROa) Цвет линии WRO — Цвет горизонтальной линии сопротивления WRO.
Style WRO all line (sWROa) Стиль линии WRO — Стиль горизонтальной линии сопротивления WRO.
Width WRO all line (wWROa) Толщина линии WRO — Толщина горизонтальной линии сопротивления WRO.
===== WRO Trend Line High ===== (_i6) Настройки трендовых линий WRO — Разделитель-комментарий для блока настроек трендовых линий сопротивления WRO.
Color WRO all line (cTROa) Цвет трендовой линии WRO — Цвет трендовой линии сопротивления WRO.
Style WRO all line (sTROa) Стиль трендовой линии WRO — Стиль трендовой линии сопротивления WRO.
Width WRO all line (wTROa) Толщина трендовой линии WRO — Толщина трендовой линии сопротивления WRO.
Получить полный код

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

#property version   "1.02"
#property strict

#property description "The indicator is based on support and resistance points."
#property description "The parameters for determining WSO/WRO points are 9 bars by default"
#property description "(4 on the left | 5 point maximum/minimum HI/LO | 4 on the right)."
#property description "The length of the lines depends on the specified FIBO level. If you"
#property description "want to display multiple FIBO levels, select Do not delete Marker in the"
#property description "settings and change the fibo level."

#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots   0

double dFibo[] = {161.8,261.8,423.6};

enum eFibo
  {
   L1 = 1,                                   // level Fibo 161.8
   L2 = 2,                                   // level Fibo 261.8
   L3 = 3                                    // level Fibo 423.6
  };

input int      Number_Line =  6;             // Number of lines (WSO, WRO, Trend Line) > 0
input int      nPeriod = 9;                  // Period (WSO, WRO) > 0 (default:9)
input eFibo    Fibo = L3;                    // Fibo lenght line (161.8; 261.8; 423.6)
input string   _i2 = "=================";    // ===== Comment & ID =====
input bool     ray = false;                  // Drawing Line RAY Right
input bool     Draw_Horlizont_Line = true;   // Drawing Horizont Line (WSO/WRO)?
input bool     Draw_Trend_Line = true;       // Drawing Trend Line (WSO/WRO)?
input bool     Draw_Right_Marker = true;     // Drawing Right Marker?
input bool     bDelete_All_Marker = true;    // Delete All Right Marker if DeInit?
input string   sID = "WSRT_";                // ID Drawing Object

input string   _i3 = "=== Color Line ===";   // ===== WSO Line =====
input color    cWSOa = clrBrown;             // Color WSO all line
input ENUM_LINE_STYLE sWSOa = STYLE_SOLID;   // Style WSO all line
input int      wWSOa = 2;                    // Width WSO all line
input string   _i4 = "=================";    // ===== WSO Trend Line Low =====
input color    cTSOa = clrFireBrick;         // Color WSO all line
input ENUM_LINE_STYLE sTSOa = STYLE_DOT;     // Style WSO all line
input int      wTSOa = 1;                    // Width WSO all line

input string   _i5 = "=================";    // ===== WRO Line =====
input color    cWROa = clrMediumBlue;        // Color WRO all line
input ENUM_LINE_STYLE sWROa = STYLE_SOLID;   // Style WRO all line
input int      wWROa = 2;                    // Width WRO all line
input string   _i6 = "=================";    // ===== WRO Trend Line High =====
input color    cTROa = clrNavy;              // Color WRO all line
input ENUM_LINE_STYLE sTROa = STYLE_DOT;     // Style WRO all line
input int      wTROa = 1;                    // Width WRO all line

bool Create_OBJ_TREND(const string name,
                      const string Description,
                      const ENUM_OBJECT obj = OBJ_TREND,
                      const datetime t1 = 0,
                      const double p1 = 0,
                      const datetime t2 = 0,
                      const double p2 = 0,
                      const color clr = clrCyan,
                      const int width = 1,
                      const ENUM_LINE_STYLE style = STYLE_SOLID,
                      const bool RAY_RIGHT = false,
                      const bool SELECTABLE = false)
  {
   if(ObjectFind(ChartID(), name) < 0)
      if(!ObjectCreate(ChartID(), name, obj, 0, t1, p1, t2, p2))
        {
         Print(__FUNCTION__, ": не удалось создать объекте! Код ошибки = ",GetLastError());
         return(false);
        }
   ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,6);
   ObjectMove(ChartID(), name, 0, t1, p1);
   ObjectMove(ChartID(), name, 1, t2, p2);
   ObjectSetInteger(ChartID(), name, OBJPROP_COLOR, clr);
   ObjectSetInteger(ChartID(), name, OBJPROP_BACK, true);
   ObjectSetInteger(ChartID(), name, OBJPROP_WIDTH, width);
   ObjectSetInteger(ChartID(), name, OBJPROP_STYLE, style);
   ObjectSetString(ChartID(), name, OBJPROP_TEXT, Description);
   ObjectSetInteger(ChartID(), name, OBJPROP_HIDDEN, false);
   ObjectSetInteger(ChartID(), name, OBJPROP_RAY_RIGHT, RAY_RIGHT);                 //--- RAY_RIGHT
   ObjectSetInteger(ChartID(), name, OBJPROP_SELECTABLE, true);

   return(true);
  }

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

void OnDeinit(const int reason)
  {
   ObjectsDeleteAll(ChartID(), sID, -1, OBJ_TREND);
   if(bDelete_All_Marker == true)
     {
      ObjectsDeleteAll(ChartID(), sID, -1, OBJ_ARROW_RIGHT_PRICE);
      ObjectsDeleteAll(ChartID(), sID, -1, OBJ_ARROW);
     }
  }

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 r[], s[];
   datetime rt[], st[];
   ArrayResize(r, Number_Line + 1, 0);
   ArrayResize(s, Number_Line + 1, 0);
   ArrayResize(

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

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

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

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

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

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

Стоимость полного кода
716,80₽ ≈ $8.76