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

Volatility quality Stridsman

volatility_quality_stridsman bt mod.mq5
Вы автор или правообладатель?

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

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

О программе

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

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

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

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

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

НастройкаОписание
Price smoothing period (PriceSmoothing) Период сглаживания цены — Период сглаживания ценовых значений.
Price smoothing method (PriceSmoothingMethod) Метод сглаживания цены — Метод сглаживания ценовых значений.
Fast moving average (Ma1Period) Период быстрой скользящей средней — Период быстрой скользящей средней.
Fast moving average method (Ma1Method) Метод быстрой скользящей средней — Метод расчёта быстрой скользящей средней.
Slow moving average (Ma2Period) Период медленной скользящей средней — Период медленной скользящей средней.
Slow moving average method (Ma2Method) Метод медленной скользящей средней — Метод расчёта медленной скользящей средней.
Filter (in pips) (FilterInPips) Фильтр в пунктах — Порог фильтрации в пунктах для изменения значений индикатора.
button_note1 Разделитель настроек кнопки — Разделительная строка для группы настроек кнопки.
What window to put the button on (btn_Subwindow) Подокно для кнопки — Номер подокна для размещения кнопки.
button corner on chart for anchoring (btn_corner) Угол привязки кнопки — Угол графика для привязки кнопки.
a button name (btn_text) Текст кнопки — Текст, отображаемый на кнопке.
button font name (btn_Font) Шрифт кнопки — Название шрифта для кнопки.
button font size (btn_FontSize) Размер шрифта кнопки — Размер шрифта кнопки.
ON color when the button is turned on (btn_text_ON_color) Цвет текста кнопки при включенном состоянии — Цвет текста кнопки, когда отображение включено.
OFF color when the button is turned off (btn_text_OFF_color) Цвет текста кнопки при выключенном состоянии — Цвет текста кнопки, когда отображение выключено.
background color of the button (btn_background_color) Цвет фона кнопки — Цвет фона кнопки.
border color the button (btn_border_color) Цвет границы кнопки — Цвет границы кнопки.
x coordinate of the button (button_x) Координата X кнопки — Координата X для размещения кнопки.
y coordinate of the button (button_y) Координата Y кнопки — Координата Y для размещения кнопки.
button width (btn_Width) Ширина кнопки — Ширина кнопки.
button height (btn_Height) Высота кнопки — Высота кнопки.
Unique ID for each button (UniqueButtonID) Уникальный идентификатор кнопки — Уникальный идентификатор для кнопки.
button_note2 Разделитель настроек кнопки — Разделительная строка для группы настроек кнопки.
Настройки отображения стрелок---------- (Visible_Arrows_Settings) Настройки отображения стрелок---------- — Разделительная строка для группы настроек отображения стрелок.
Главные стрелки в окне индикатора (Yes_No_Sub) Главные стрелки в окне индикатора — Отображение главных стрелок в окне индикатора.
Промежуточные стрелки в окне индикатора (Yes_No_Add_Sub) Промежуточные стрелки в окне индикатора — Отображение промежуточных стрелок в окне индикатора.
Главные стрелки на графике (Yes_No_Chart) Главные стрелки на графике — Отображение главных стрелок на графике.
Промежуточные стрелки на графике (Yes_No_Add_Chart) Промежуточные стрелки на графике — Отображение промежуточных стрелок на графике.
Настройки главных стрелок---------- (Main_Arrows_Settings) Настройки главных стрелок---------- — Разделительная строка для группы настроек главных стрелок.
Код главной стрелки "вверх" (ArrowUP_Main_Code) Код главной стрелки "вверх" — Код символа для главной стрелки вверх.
Код главной стрелки "вниз" (ArrowDN_Main_Code) Код главной стрелки "вниз" — Код символа для главной стрелки вниз.
Размер главной стрелки "вверх" (ArrowUP_Main_Size) Размер главной стрелки "вверх" — Размер главной стрелки вверх.
Размер главной стрелки "вниз" (ArrowDN_Main_Size) Размер главной стрелки "вниз" — Размер главной стрелки вниз.
Цвет главной стрелки "вверх" (ArrowUP_Main_Color) Цвет главной стрелки "вверх" — Цвет главной стрелки вверх.
Цвет главной стрелки "вниз" (ArrowDN_Main_Color) Цвет главной стрелки "вниз" — Цвет главной стрелки вниз.
Отступ главных стрелок "вверх" (ArrowUP_Main_Distance) Отступ главных стрелок "вверх" — Отступ главной стрелки вверх от ценового уровня.
Отступ главных стрелок "вниз" (ArrowDN_Main_Distance) Отступ главных стрелок "вниз" — Отступ главной стрелки вниз от ценового уровня.
Настройки промежуточных стрелок---------- (Add_Arrows_Settings) Настройки промежуточных стрелок---------- — Разделительная строка для группы настроек промежуточных стрелок.
Код промежуточной стрелки "вверх" (ArrowUP_Add_Code) Код промежуточной стрелки "вверх" — Код символа для промежуточной стрелки вверх.
Код промежуточной стрелки "вниз" (ArrowDN_Add_Code) Код промежуточной стрелки "вниз" — Код символа для промежуточной стрелки вниз.
Размер промежуточной стрелки "вверх" (ArrowUP_Add_Size) Размер промежуточной стрелки "вверх" — Размер промежуточной стрелки вверх.
Размер промежуточной стрелки "вниз" (ArrowDN_Add_Size) Размер промежуточной стрелки "вниз" — Размер промежуточной стрелки вниз.
Цвет промежуточной стрелки "вверх" (ArrowUP_Add_Color) Цвет промежуточной стрелки "вверх" — Цвет промежуточной стрелки вверх.
Цвет промежуточной стрелки "вниз" (ArrowDN_Add_Color) Цвет промежуточной стрелки "вниз" — Цвет промежуточной стрелки вниз.
Отступ промежуточных стрелок "вверх" (ArrowUP_Add_Distance) Отступ промежуточных стрелок "вверх" — Отступ промежуточной стрелки вверх от ценового уровня.
Отступ промежуточноых стрелок "вниз" (ArrowDN_Add_Distance) Отступ промежуточноых стрелок "вниз" — Отступ промежуточной стрелки вниз от ценового уровня.
Получить полный код

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

#property indicator_separate_window

#property indicator_buffers 12//7
#property indicator_plots   12//4

#property indicator_label1  "vq zone"
#property indicator_type1   DRAW_FILLING
#property indicator_color1  C'0,144,0',C'144,0,0'
#property indicator_label2  "fast average"
#property indicator_type2   DRAW_LINE
#property indicator_color2  C'0,144,0'    //clrDarkGray
#property indicator_style2  STYLE_DOT
#property indicator_label3  "slow average"
#property indicator_type3   DRAW_LINE
#property indicator_color3  clrBlue       //clrDarkGray
#property indicator_style3  STYLE_SOLID
#property indicator_width3  3
#property indicator_label4  "Volatility quality"
#property indicator_type4   DRAW_COLOR_LINE
#property indicator_color4  clrDarkGray,clrAqua,clrMagenta
#property indicator_width4  3

#property indicator_label5  "Arrow UP"
#property indicator_type5   DRAW_ARROW
#property indicator_color5  clrAqua
#property indicator_width5  3

#property indicator_label6  "Arrow DOWN"
#property indicator_type6   DRAW_ARROW
#property indicator_color6  clrMagenta
#property indicator_width6  3

#property indicator_label7  "Add Arrow UP"
#property indicator_type7   DRAW_ARROW
#property indicator_color7  clrAqua
#property indicator_width7  2

#property indicator_label8  "Add Arrow DOWN"
#property indicator_type8   DRAW_ARROW
#property indicator_color8  clrMagenta
#property indicator_width8  2

enum enPrices
{
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_tbiased2,   // Trend biased (extreme) price
   pr_haclose,    // Heiken ashi close
   pr_haopen ,    // Heiken ashi open
   pr_hahigh,     // Heiken ashi high
   pr_halow,      // Heiken ashi low
   pr_hamedian,   // Heiken ashi median
   pr_hatypical,  // Heiken ashi typical
   pr_haweighted, // Heiken ashi weighted
   pr_haaverage,  // Heiken ashi average
   pr_hamedianb,  // Heiken ashi median body
   pr_hatbiased,  // Heiken ashi trend biased price
   pr_hatbiased2  // Heiken ashi trend biased (extreme) price
};
enum enMaTypes
{
   ma_sma,    // Simple moving average
   ma_ema,    // Exponential moving average
   ma_smma,   // Smoothed MA
   ma_lwma    // Linear weighted MA
};

enum YesNo 
{ 
   Yes, // Да 
   No,  // Нет 
};

input int       PriceSmoothing         = 5;        // Price smoothing period
input enMaTypes PriceSmoothingMethod   = ma_sma;   // Price smoothing method
input int       Ma1Period              = 9;        // Fast moving average
input enMaTypes Ma1Method              = ma_sma;   // Fast moving average method
input int       Ma2Period              = 200;      // Slow moving average
input enMaTypes Ma2Method              = ma_sma;   // Slow moving average method
input double    FilterInPips           = 2.5;      // Filter (in pips)

input string             button_note1          = "------------------------------";
input int                btn_Subwindow         = 3;                      // What window to put the button on
input ENUM_BASE_CORNER   btn_corner            = CORNER_RIGHT_LOWER;     // button corner on chart for anchoring
input string             btn_text              = "VQ";                   // a button name
input string             btn_Font              = "Arial";                // button font name
input int                btn_FontSize          = 8;                      // button font size
input color              btn_text_ON_color     = clrWhite;               // ON color when the button is turned on
input color              btn_text_OFF_color    = clrRed;                 // OFF color when the button is turned off
input color              btn_background_color  = clrDimGray;             // background color of the button
input color              btn_border_color      = clrDarkGray;            // border color the button
input int                button_x              = 270;                    // x coordinate of the button
input int                button_y              = 41;                     // y coordinate of the button
input int                btn_Width             = 65;                     // button width
input int                btn_Height            = 20;                     // button height
input string             UniqueButtonID        = "Stridsman";            // Unique ID for each button                         
input string             button_note2          = "------------------------------";
input string Visible_Arrows_Settings = "------------------------------"; // ----------Настройки отображения стрелок----------
input YesNo              Yes_No_Sub            = Yes;                    // Главные стрелки в окне индикатора
input YesNo              Yes_No_Add_Sub        = Yes;                    // Промежуточные стрелки в окне индикатора
input YesNo              Yes_No_Chart          = Yes;                    // Главные стрелки на графике
input YesNo              Yes_No_Add_Chart      = Yes;                    // Промежуточные стрелки на графике
input string Main_Arrows_Settings = "------------------------------"; // ----------Настройки главных стрелок----------
input int  ArrowUP_Main_Code = 233;               // Код главной стрелки "вверх"
input int  ArrowDN_Main_Code = 234;               // Код главной стрелки "вниз"
input int  ArrowUP_Main_Size = 3;                 // Размер главной стрелки "вверх"
input int  ArrowDN_Main_Size = 3;                 // Размер главной стрелки "вниз"
input color  ArrowUP_Main_Color = clrAqua;        // Цвет главной стрелки "вверх"
input color  ArrowDN_Main_Color = clrMagenta;     // Цвет главной стрелки "вниз"
input double ArrowUP_Main_Distance = 0.0002;      // Отступ главных стрелок "вверх"
input double ArrowDN_Main_Distance = 0.0002;      // Отступ главных стрелок "вниз"

input string Add_Arrows_Settings = "------------------------------"; // ----------Настройки промежуточных стрелок----------
input int  ArrowUP_Add_Code = 233;               // Код промежуточной стрелки "вверх"
input int  ArrowDN_Add_Code = 234;               // Код промежуточной стрелки "вниз"
input int  ArrowUP_Add_Size = 2;                 // Размер промежуточной стрелки "вверх"
input int  ArrowDN_Add_Size = 2;                 // Размер промежуточной стрелки "вниз"
input color  ArrowUP_Add_Color = clrAqua;        // Цвет промежуточной стрелки "вверх"
input color  ArrowDN_Add_Color = clrMagenta;     // Цвет промежуточной стрелки "вниз"
input double ArrowUP_Add_Distance = 0.0002;      // Отступ промежуточных стрелок "вверх"
input double ArrowDN_Add_Distance = 0.0002;      // Отступ промежуточноых стрелок "вниз"

string Prefix = "|Volatility|";

bool show_data = true;
string IndicatorName, IndicatorObjPrefix, buttonId;

double val[],valc[],fill1[],fill2[],avg1[],avg2[],UP[],DN[],ArrowUP[],ArrowDN[];

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

void OnDeinit(const int reason) { 
     ObjectsDeleteAll(0, IndicatorObjPrefix, -1, -1);

     if(reason != REASON_CHARTCHANGE) ObjectDelete(0,buttonId);

     ObjectsDeleteAll(0,Prefix,-1,-1);

}

void createButton(string buttonID, string buttonText, int width2, int height, string font, int fontSize, color bgColor, color borderColor, color txtColor)
   {
    ObjectDelete    (0, buttonID);
    ObjectCreate    (0, buttonID, OBJ_BUTTON, btn_Subwindow, 0, 0);
    ObjectSetInteger(0, buttonID, OBJPROP_COLOR, txtColor);
    ObjectSetInteger(0, buttonID, OBJPROP_BGCOLOR, bgColor);
    ObjectSetInteger(0, buttonID, OBJPROP_BORDER_COLOR, borderColor);
    ObjectSetInteger(0, buttonID, OBJPROP_BORDER_TYPE, BORDER_RAISED);
    ObjectSetInteger(0, buttonID, OBJPROP_XSIZE, width2);
    ObjectSetInteger(0, buttonID, OBJPROP_YSIZE, height);
    ObjectSetString (0, buttonID, OBJPROP_FONT, font);
    ObjectSetString (0, buttonID, OBJPROP_TEXT, buttonText);
    ObjectSetInteger(0, buttonID, OBJPROP_FONTSIZE, fontSize);
    ObjectSetInteger(0, buttonID, OBJPROP_SELECTABLE, 0);
    ObjectSetInteger(0, buttonID, OBJPROP_CORNER, btn_corner);
    ObjectSetInteger(0, buttonID, OBJPROP_HIDDEN, 1);
    ObjectSetInteger(0, buttonID, OBJPROP_XDISTANCE, 9999);
    ObjectSetInteger(0, buttonID, OBJPROP_YDISTANCE, 9999);
   }

void handleButtonClicks()
   {
    if(ObjectGetInteger(0, buttonId, OBJPROP_STATE))
       {
        ObjectSetInteger(0, buttonId, OBJPROP_STATE, false);
        show_data = !show_data;
        GlobalVariableSet(buttonId + "_visibility", show_data ? 1.0 : 0.0); //this line has to be here
       }
   }

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
   {

   if(id==CHARTEVENT_OBJECT_CREATE || id==CHARTEVENT_OBJECT_DELETE) return; // This appears to make this indy compatible with other programs that enabled CHART_EVENT_OBJECT_CREATE and/or CHART_EVENT_OBJECT_DELETE
   if(id==CHARTEVENT_MOUSE_MOVE    || id==CHARTEVENT_MOUSE_WHEEL)   return; // If this, or another program, enabled mouse-events, these are not needed below, so skip it unless actually needed.

   if (id==CHARTEVENT_OBJECT_CLICK && sparam == buttonId)
        handleButtonClicks();
        if (show_data)
           {
             ObjectSetInteger(0,buttonId,OBJPROP_COLOR,btn_text_ON_color);
             PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_FILLING);
             PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_LINE);
             PlotIndexSetInteger(2, PLOT_DRAW_TYPE, DRAW_LINE);
             PlotIndexSetInteger(3, PLOT_DRAW_TYPE, DRAW_COLOR_LINE); 

             if(Yes_No_Sub == Yes) PlotIndexSetInteger(4, PLOT_ARROW, 233); else PlotIndexSetInteger(4, PLOT_ARROW, 32);
             if(Yes_No_Sub == Yes) PlotIndexSetInteger(5, PLOT_ARROW, 234); else PlotIndexSetInteger(5, PLOT_ARROW, 32);
             if(Yes_No_Add_Sub == Yes) PlotIndexSetInteger(6, PLOT_ARROW, 233); else PlotIndexSetInteger(6, PLOT_ARROW, 32);
             if(Yes_No_Add_Sub == Yes) PlotIndexSetInteger(7, PLOT_ARROW, 234); else PlotIndexSetInteger(7, PLOT_ARROW, 32);
             Comment(""); //this line has to be here; otherwise this indicator doesn't work; so weird
           }
        else
           {
             ObjectSetInteger(0,button

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

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

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

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

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

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

Стоимость полного кода
1 648,60₽ ≈ $20.15