class CTrendLine
Класс для расчёта трендовой линии на основе скользящих средних
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «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()
Конструктор класса, инициализирующий внутренние массивы
bool IsGreen(int bar)
Проверяет, является ли тренд на указанном баре бычьим (зелёным)
bool IsRed(int bar)
Проверяет, является ли тренд на указанном баре медвежьим (красным)
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.