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

ctrendline.mqh

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

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

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

О программе

Данная библиотека реализует класс CTrendLine для анализа трендов на финансовых графиках. Она рассчитывает трендовые значения на основе комбинации скользящих средних и предоставляет методы определения направления тренда.

Класс вычисляет два внутренних массива: промежуточное значение (_trendNone), получаемое как разность двух скользящих средних с разными периодами, и сглаженную версию этого значения (_trendRed), рассчитанную дополнительной скользящей средней. Метод Refresh обновляет эти массивы для указанного символа.

Методы IsGreen и IsRed анализируют три последовательных бара массива _trendRed для определения направления тренда — бычьего или медвежьего. Библиотека предназначена для подключения в виде include-файла в советниках или индикаторах MQL.

Настройки включают параметры периодов, метода усреднения и применяемой цены, которые влияют на расчёт трендовой линии.

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

НастройкаОписание
__trendline Настройки трендовой линии — Заголовок текстовый параметров трендовой линии
FilterNumber Число фильтра — Число, используемое для расчёта промежуточного периода скользящей средней
period Период — Целое число, задающее основной период скользящей средней
ma_method Метод скользящей средней — Целое число, задающее метод расчёта скользящей средней
applied_price Применяемая цена — Целое число, определяющее тип применяемой цены для скользящей средней

Состав библиотеки

Классов: 1 · методов: 3 · конструкторов: 1 · деструкторов: 0 · отдельных функций: 0

Классы
Класс class CTrendLine

Класс для расчёта трендовой линии на основе скользящих средних

Методы и конструкторы
Конструктор · CTrendLine CTrendLine()

Конструктор класса, инициализирующий внутренние массивы

Метод · CTrendLine bool IsGreen(int bar)

Проверяет, является ли тренд на указанном баре бычьим (зелёным)

Метод · CTrendLine bool IsRed(int bar)

Проверяет, является ли тренд на указанном баре медвежьим (красным)

Метод · CTrendLine void Refresh(string symbol)

Обновляет внутренние данные трендовой линии для заданного символа

Получить полный код

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

#property strict

extern string     __trendline          = " ------- trendline settings ------------";
extern double     FilterNumber         = 3;
extern int        period               = 10;
extern int        ma_method            = 3;
extern int        applied_price        = 0;

class CTrendLine
{
private:
   double            _trendNone[];

   double TrendMA(string symbol,int shift,int p)
   {
      return iMA(symbol, 0, p, 0, ma_method, applied_price, shift);   
   }

public:   
   double            _trendRed[];

   CTrendLine()
   {   
      ArrayResize(_trendNone , 2048, 0);
      ArrayResize(_trendRed  , 2048, 0);
      ArraySetAsSeries(_trendNone, true);   
   }

   bool IsGreen(int bar)
   {
      if (bar < 0 || bar >= 500) return false;
      double x0 = bar > 0 ? _trendRed[bar - 1]:0;
      double x1 = _trendRed[bar];
      double x2 = _trendRed[bar+1]

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

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

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

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

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

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

Стоимость полного кода
117,10₽ ≈ $1.43