Hurst Indicator
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «hurst-indicator.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это пользовательский индикатор для платформы 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.