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

CHT_Value_Chart

!cht_value_chart_v2.5.3 (1).mq5
Вы автор или правообладатель?

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

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

О программе

Индикатор CHT_Value_Chart рассчитывает и отображает аналитический график стоимости (Value Chart), нормализуя данные цены (максимум, минимум, открытие, закрытие) относительно плавающей оси и единицы волатильности. Результат визуализируется в отдельном окне в виде графических объектов, напоминающих свечные бары, с настраиваемыми цветами и ширинами.

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

Индикатор рассчитывает данные только для таймфреймов, равных или больших текущего периода. Удаление графических объектов индикатора выполняется при деинициализации.

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

НастройкаОписание
VC_Period Период расчёта — Период таймфрейма, на котором выполняется расчёт индикатора.
VC_NumBars Количество баров для расчёта — Количество баров, используемых для расчёта значения в каждом периоде.
VC_Bars2Check Количество баров для проверки — Количество баров, используемых для расчёта индикатора.
VC_DisplayChart Отображение графика — Включение или отключение отображения графика значения.
VC_UseDynamicSRLevels Использовать динамические уровни — Включение или отключение автоматического отображения динамических уровней поддержки и сопротивления.
VC_DynamicSRPeriod Период динамических уровней — Количество баров, используемых для расчёта динамических уровней поддержки и сопротивления.
VC_DynamicSRCut Параметр среза динамических уровней — Параметр среза, используемый при расчёте динамических уровней поддержки и сопротивления.
VC_Overbought Уровень перекупленности — Пороговое значение, определяющее уровень перекупленности.
VC_Oversold Уровень перепроданности — Пороговое значение, определяющее уровень перепроданности.
VC_AlertON Уведомления включены — Включение или отключение системы уведомлений о событиях перекупленности и перепроданности.
VC_AlertSRAnticipation Опережение уведомлений по уровням — Величина опережения уведомлений относительно динамических уровней поддержки и сопротивления.
VC_UpColor Цель восходящего бара — Цель восходящих баров на графике значения.
VC_DownColor Цвет нисходящего бара — Цвет нисходящих баров на графике значения.
VC_WickWidth Ширина фитиля — Ширина графического фитиля свечи на графике значения.
VC_BodyWidth Ширина тела — Ширина графического тела свечи на графике значения.
VC_ResistanceColor Цвет уровня сопротивления — Цвет линии уровня сопротивления на графике.
VC_SupportColor Цель уровня поддержки — Цвет линии уровня поддержки на графике.
Получить полный код

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

/*==============================================================================
 *
 *  The CHT_Value_Chart program is free software: you can redistribute
 *  it and/or modify it under the terms of the GNU General Public License as
 *  published by the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  CHT_Value_Chart is distributed in the hope that it will be useful, but WITHOUT ANY
 *  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 *  A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with CHT_Value_Chart. If not, see <
 *
 * FILE: CHT_Value_Chart_v2.5.mq4
 * VERSION: 2.5
 * AUTHOR: Thierry Chappuis <t**7*@pygnol.ch>
 * DESCRIPTION:
 * MT4 Custom indicator that aims at calculating and displaying a value chart
 *
 * LOG:
 * - 20121104: version 1.0
 * - 20121207: version 2.0, improvement of the display
 * - 20121211: version 2.1, multiple timeframes version
 * - 20121228: version 2.2, bug fix with vc_delete(). VC_Bars2Check has been added.
 * - 20130110: version 2.3, add support for automatic vc support/resistance display
 * - 20130110: version 2.3.1 bug fix in the value chart computation algorithm
 * - 20130110: version 2.4, bug fixes with multiple timeframes functionalities
 * - 20130122: version 2.5, integration of the alert system
 *
 * Copyright 2012-2013 Thierry Chappuis
 */

#property indicator_separate_window

#property indicator_buffers 4

#property indicator_level1 6
#property indicator_level2 8
#property indicator_level3 -6
#property indicator_level4 -8
#property indicator_level5 10
#property indicator_level6 -10
#property indicator_level7 12
#property indicator_level8 -12

#property indicator_levelstyle 2
#property indicator_levelcolor DimGray

#property indicator_maximum 15
#property indicator_minimum -15

/* Input parameters */
extern int VC_Period = 0;
extern int VC_NumBars = 5;
extern int VC_Bars2Check = 500;
extern bool VC_DisplayChart = true;
extern bool VC_UseDynamicSRLevels = true;
extern int VC_DynamicSRPeriod = 100;
extern double VC_DynamicSRCut = 0.02;
extern double VC_Overbought = 6;
extern double VC_Oversold = -6;
extern bool VC_AlertON = false;
extern double VC_AlertSRAnticipation = 1.0;

extern color VC_UpColor = Lime;
extern color VC_DownColor = Red;
extern int VC_WickWidth = 1;
extern int VC_BodyWidth = 4;
extern color VC_ResistanceColor = Red;
extern color VC_SupportColor = Lime;

int alert_confirmation_value = 1;

/* Buffers */
double vcHigh[];
double vcLow[];
double vcOpen[];
double vcClose[];

/* Global variables */
string indicator_short_name;
int bar_new_ID;

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

/* Entry point for the indicator action */
int start()
{
      // код доступен только после оплаты
   }

int deinit()
{
    vc_delete();
    Comment("");
    return (0);
}

void computes_value_chart(int bars, int period)
{
    double sum;
    double floatingAxis;
    double volatilityUnit;
    static datetime last_time;

    static double high;
    static double low;
    static double open;
    static double close;

    for(int i = bars-1; i >= 0; i--)
    {
        datetime t = Time[i];
        int y = iBarShift(NULL, period, t);
        int z = iBarShift(NULL, 0, iTime(NULL, period, y));

        /* Determination of the floating axis */
        sum = 0;
        for (int k = y; k < y+VC_NumBars; k++)
        {
            sum += (iHigh(NULL, period, k) + iLow(NULL, period, k)) / 2.0;
        }
        floatingAxis = sum / VC_NumBars;

        /* Determination of the volatility unit */
        sum = 0;
        for (k = y; k < VC_NumBars + y; k++)
        {
            sum += iHigh(NULL, period, k) - iLow(NULL, period, k);
        }
        volatilityUnit = 0.2 * (sum / VC_NumBars);

        /* Determination of relative high, low, open and close values */
        vcHigh[i] = (iHigh(NULL, period, y) - floatingAxis) / volatilityUnit;
        vcLow[i] = (iLow(NULL, period, y) - floatingAxis) / volatilityUnit;
        vcOpen[i] = (iOpen(NULL, period, y) - floatingAxis) / volatilityUnit;
   

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

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

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

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

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

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

Стоимость полного кода
861,40₽ ≈ $10.53