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

Hurst Indicator

hurst-indicator.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
D:=Input("Day of month",1,31,1); M:=Input("Month",1,12,1); Y:=Input("Year",1900,2100,2008); (StartTime) Время начала — Дата и время, с которого начинается расчёт значений индикатора на графике.
WA2:=Input("wave2",0,10,3); (wave2) Амплитуда волны 2 — Коэффициент, задающий амплитуду второй синусоидальной компоненты в расчёте цикла.
wavelength:=Input("Wavelength (bars)",1,9999,243); (wave_length) Длина волны — Длина волны в барах, определяющая периодичность циклических компонент индикатора.
TR:=Input("trend",-1,1,1); (trend) Направление тренда — Параметр направления тренда, влияющий на смещение расчётной линии индикатора.
Получить полный код

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

/*
{coded for WDGIGI, 03 June 2008}
{copyright 2008, Scott Bunny}

D:=Input("Day of month",1,31,1);
M:=Input("Month",1,12,1);
Y:=Input("Year",1900,2100,2008);
WA2:=Input("wave2",0,10,3);
wavelength:=Input("Wavelength (bars)",1,9999,243);

{bars}
start:=Cum((DayOfMonth()>=D AND Month()=M AND Year()=Y) OR(Month()>M AND Year()=Y) OR Year()>Y)=1;
start:=LastValue(ValueWhen(1,start,Cum(1)));

{x axis values}
x:=360/wavelength * (Cum(1)-start);

{sine waves}
phase:=-90;
w1:=Sin(8*x+phase);
w2:=2*Sin(4*x+phase);
w3:=wa2*Sin(2*x+phase);
w4:=4*Sin(x+phase);

{hurst cycle}

CYCLE:= (W1+W2+W3+W4);
Grc:=(Highest(cycle)-Lowest(cycle))/486;
TR:=Input("trend",-1,1,1);
STR:=1;
HurstCycle:=Cycle+((cycle+(Grc*tr*str)+Ref(cycle+(Grc*tr*str),-1)));

{plot}
w1;w2;w3;w4;CYCLE;
*/

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Gold
#property indicator_color3 Blue
#property indicator_color4 Green
#property indicator_color5 Brown
#property indicator_color6 White

extern datetime StartTime      = D'2008.01.01 00:00:00'; // D:=Input("Day of month",1,31,1); M:=Input("Month",1,12,1); Y:=Input("Year",1900,2100,2008);
extern double   wave2          = 3;     // WA2:=Input("wave2",0,10,3);
extern double   wave_length    = 243;   // wavelength:=Input("Wavelength (bars)",1,9999,243);
extern double   trend          = 1;     // TR:=Input("trend",-1,1,1);

static double   phase          = -90;   // phase:=-90;
static double   str            = 1;     // STR:=1;
static double   koef           = 486;   // Grc:=(Highest(cycle)-Lowest(cycle))/486;
static int      DigitsAfterDot = 4;     // number of digits after dot (maximum 8)

static double HurstCycle[];
static double Cycle[];
static double w1[];
static double w2[];
static double w3[];
static double w4[];
static double buffer1[];

static double pi = 3.1415926535;
static double pi2;
static double step;
static double rad_phase;

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

   IndicatorShortName("Hurst");

   IndicatorBuffers(7);

   if(DigitsAfterDot > 8) DigitsAfterDot = 8;
   IndicatorDigits(DigitsAfterDot);

   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexStyle(1,DRAW_LINE,STYLE_DOT,1);
   SetIndexStyle(2,DRAW_LINE,STYLE_DOT,1);
   SetIndexStyle(3,DRAW_LINE,STYLE_DOT,1);
   SetIndexStyle(4,DRAW_LINE,STYLE_DOT,1);
   SetIndexStyle(5,DRAW_LINE,STYLE_SOLID,1);

   SetIndexBuffer(0,Cycle);
   SetIndexBuffer(1,w1);
   SetIndexBuffer(2,w2);
   SetIndexBuffer(3,w3);
   SetIndexBuffer(4,w4);

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

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

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

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

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

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

Стоимость полного кода
391,10₽ ≈ $4.78