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

Soho Williams VIX Fix

#soho_williams_vix_fix_price_v1.3 button works.mq5
Вы автор или правообладатель?

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

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

О программе

Аналитический индикатор для MetaTrader, рассчитывающий волатильность на основе метода Уильямса VIX Fix. Отображает два графика в отдельном подокне: основную линию индикатора и сигнальную линию на основе скользящей средней. Разработан на основе формулы, описанной в журнале Active Trader, и модифицирован сообществом трейдеров.

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

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

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

НастройкаОписание
VIX_Period Период расчёта основного значения индикатора волатильности.
FilterPeriod Период скользящей средней, используемой для фильтрации цены при расчёте индикатора.
PRICE Тип цены, используемый для расчёта фильтрующей скользящей средней (3 = Low).
SignalPeriod Период скользящей средней, применяемой для построения сигнальной линии.
SignalMaMode Метод расчёта скользящей средней сигнальной линии.
button_note1_ Текстовый разделитель перед настройками кнопки.
btn_Subwindow Номер подокна, в котором размещается кнопка. Если значение меньше нуля, кнопка использует то же подокно, что и индикатор.
btn_corner Угол графика, к которому привязывается кнопка для размещения.
btn_text Отображаемое имя кнопки на графике.
btn_Font Шрифт, используемый для текста кнопки.
btn_FontSize Размер шрифта текста кнопки.
btn_text_ON_color Цвет текста кнопки, когда индикатор включён.
btn_text_OFF_color Цвет текста кнопки, когда индикатор отключён.
btn_background_color Фоновый цвет кнопки.
btn_border_color Цвет рамки кнопки.
button_x Горизонтальная координата размещения кнопки на графике.
button_y Вертикальная координата размещения кнопки на графике.
btn_Width Ширина кнопки в пикселях.
btn_Height Высота кнопки в пикселях.
Auto_Adjust_Window_Height При включении автоматически устанавливается высота подокна при активном индикаторе. Возможны особенности поведения при ручной регулировке высоты.
Default_Active_Window_Height Значение высоты подокна по умолчанию, когда индикатор включён.
button_note2 Текстовый разделитель после настроек кнопки.
Получить полный код

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

/**********************************************************************
* This is a Synthetic VIX indicator as described in the December 2007 *
* issue of "Active Trader" magazine.  The indicator is also named the *
* "Williams VIX Fix" since Larry Williams is credited with the        *
* formula's discovery.                                                *
*                                                                     *
* This indicator was coded by Matthew Ebersviller.                    * 
* and modified by sohocool the 07/01/2011   and 01/08/2015            *
* 08/17/2022 v1.3 -- pips4life.  Further improvements to on/off button code.
**********************************************************************/

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 clrBlue
#property indicator_width1 3
#property indicator_color2 clrRed
#property indicator_width2 2

extern int                VIX_Period            = 22;
extern int                FilterPeriod          = 5;
extern ENUM_APPLIED_PRICE PRICE                 = 3; //3=low
extern int                SignalPeriod          = 9;
extern ENUM_MA_METHOD     SignalMaMode          = 0;

extern string             button_note1_          = "------------------------------";
extern int                btn_Subwindow         = 0;                               // What window to put the button on.  If <0, the button will use the same sub-window as the indicator.
extern ENUM_BASE_CORNER   btn_corner            = CORNER_LEFT_UPPER;               // button corner on chart for anchoring
extern string             btn_text              = "VIXFIX";                        // a button name
extern string             btn_Font              = "Arial";                         // button font name
extern int                btn_FontSize          = 9;                               // button font size               
extern color              btn_text_ON_color     = clrLime;                         // ON color when the button is turned on
extern color              btn_text_OFF_color    = clrRed;                          // OFF color when the button is turned off
extern color              btn_background_color  = clrDimGray;                      // background color of the button
extern color              btn_border_color      = clrBlack;                        // border color the button
extern int                button_x              = 20;                              // x coordinate of the button     
extern int                button_y              = 25;                              // y coordinate of the button     
extern int                btn_Width             = 80;                              // button width
extern int                btn_Height            = 20;                              // button height

extern bool               Auto_Adjust_Window_Height = false;              // Opt. 'true' will auto-set a default sub-window size (which can be changed). However, MT4 might then behave strangely when manually adjusting the window height.
extern int                Default_Active_Window_Height = 250;            // Pick whatever you want to be your default sub-window height when the indicator is "on"

extern string             button_note2          = "------------------------------";

bool show_data;

int swin;
string IndicatorObjPrefix, buttonId;

double VixBuffer[],up[];

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

   string short_name;
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(0,VixBuffer);
   SetIndexBuffer(1,up);

   short_name="SOHO_VIX_FIX_V1.30 ("+VIX_Period+")";

   IndicatorShortName(short_name);

   SetIndexLabel(0,short_name);
   SetIndexLabel(1,"Signal");

   SetIndexDrawBegin(0,VIX_Period);
   adjustWindowHeight();

   swin = ChartWindowFind(); // This is the real (sub-)window number for the indicator
   IndicatorObjPrefix = "_w" + IntegerToString(swin) + btn_text + "__"; // Including the swin is usually unique unless >2+ of THIS indy are displayed in the SAME sub-window (which will then require 'btn_text' to be unique!)

   if(btn_Subwindow<0) btn_Subwindow = swin;

   buttonId = "_" + IndicatorObjPrefix + "_BT_";
   if (ObjectFind(buttonId)<0)
   { 
      createButton(buttonId, btn_text, btn_Width, btn_Height, btn_Font, btn_FontSize, btn_background_color, btn_border_color, btn_text_ON_color);

      ObjectSetInteger(0,buttonId, OBJPROP_STATE,fal

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

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

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

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

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

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

Стоимость полного кода
636,20₽ ≈ $7.84