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

icht value chart.mq5

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

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

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

О программе

Индикатор CHT_Value_Chart отображает аналитический индикатор Value Chart в отдельном окне MetaTrader 5. Он нормализует ценовые данные относительно скользкой оси и единицы волатильности, визуализируя результат в виде свечных объектов с настраиваемыми цветами и толщиной.

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

Встроена система уведомлений, срабатывающая при достижении заданных порогов перекупленности и перепроданности. Уровни overbought и oversold можно задавать вручную или привязывать к динамическим уровням с заданным запасом.

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

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

НастройкаОписание
SimpleForexTeam__ Текстовый параметр с информационным сообщением
VC_Period Период таймфрейма для расчёта индикатора (0 — текущий таймфрейм)
VC_NumBars Количество баров, используемых для расчёта значений индикатора
VC_Bars2Check Максимальное количество баров, используемых для проверки при расчёте
VC_DisplayChart Включает или выключает отображение графика Value Chart
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 string SimpleForexTeam__ = "free tools for forex! Join our channel for more free eas";
input string The_our_telegram = "";
input string The_our_telegram1 = "";
/* 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;

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

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

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

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

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

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

Стоимость полного кода
875,50₽ ≈ $10.70