!kevinator v2.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «!kevinator v2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает значения стохастика для двух таймфреймов одновременно и отображает их в отдельном окне с цветовой индикацией направления движения. Каждый таймфрейм представлен линией основного значения и двумя линиями, разделяющими восходящее и нисходящее направления.
Для генерации оповещений и email-сигналов индикатор использует сочетание направления стохастика на старшем таймфрейме, текущих значений CCI и уровней TMA. Поддерживается отображение разделителей мультитаймфрейма в виде вертикальных линий и вывод текущего направления для каждого таймфрейма в виде текстовых объектов на графике.
Оповещения генерируются при выполнении условий совпадения направления стохастика, пересечения CCI нулевой линии и соотношения цены с уровнями TMA. Условия различают стандартную и моментумную торговые сценарии.
Настройки программы
| Настройка | Описание |
|---|---|
| xi_CCI | Период индикатора CCI, используемого для условий генерации сигналов. |
| xi_TMA | Параметр индикатора TMA Called, используемого для определения уровней фильтрации сигналов. |
| xc_Text | Цвет текстовых объектов и разделителей таймфреймов на графике. |
| xc_Up | Цвет отображения линий и надписей восходящего направления стохастика. |
| xc_Down | Цвет отображения линий и надписей нисходящего направления стохастика. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_level1 20
#property indicator_level2 80
#property indicator_color1 Yellow
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 SeaGreen
#property indicator_color5 Blue
#property indicator_color6 Red
#property indicator_width1 4
#property indicator_width2 4
#property indicator_width3 4
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width6 2
extern int xi_TF.1 = 60;
extern int xi_KPeriod.1 = 14;
extern int xi_DPeriod.1 = 3;
extern int xi_Slowing.1 = 3;
extern int xi_MA.1 = 3;
extern int xi_PF.1 = 1;
extern int xi_TF.2 = 240;
extern int xi_KPeriod.2 = 10;
extern int xi_DPeriod.2 = 3;
extern int xi_Slowing.2 = 3;
extern int xi_MA.2 = 3;
extern int xi_PF.2 = 1;
extern bool xb_MOM.Mid = true;
extern int xi_CCI = 8;
extern int xi_TMA = 56;
extern bool xb_Show.MTF.Sep = true;
extern color xc_Text = LightGray;
extern color xc_Up = Blue;
extern color xc_Down = Red;
extern string xs_Unique.Pfx = "!MTF Sep_";
double IB_K.1[];
double IB_Level.1[];
double IB_Up.1[];
double IB_Down.1[];
double IB_K.2[];
double IB_Level.2[];
double IB_Up.2[];
double IB_Down.2[];
datetime gdt_TF.1[], gdt_TF.2[];
datetime gdt_TF.1.LB, gdt_TF.2.LB;
string gs_Ind.Name;
int gi_Window;
string gs_TF.1, gs_TF.2;
datetime gdt_Last.Alert;
datetime gdt_Last.eMail;
bool gb_Alerts, gb_eMail;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
Delete_Period_Seperators();
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,y,limit.1, limit.2;
if(counted_bars<0) return(-1);
gi_Window = WindowFind(gs_Ind.Name);
double ld_Alert = GlobalVariableGet("!Kevinator Alerts");
if (GetLastError() == 4058)
GlobalVariableSet("!Kevinator Alerts",0);
if (ld_Alert != 0)
gb_Alerts = true;
else
gb_Alerts = false;
double ld_eMail = GlobalVariableGet("********** *****");
if (GetLastError() == 4058)
GlobalVariableSet("****************",0);
if (ld_eMail != 0)
gb_eMail = true;
else
gb_eMail = false;
limit.1 = MathMax(Bars-counted_bars,xi_TF.1/Period());
limit.2 = MathMax(Bars-counted_bars,xi_TF.2/Period());
if (gdt_TF.1.LB != iTime(NULL,xi_TF.1,0))
{
gdt_TF.1.LB = iTime(NULL,xi_TF.1,0);
ArrayCopySeries(gdt_TF.1,MODE_TIME,NULL,xi_TF.1);
}
if (gdt_TF.2.LB != iTime(NULL,xi_TF.2,0))
{
gdt_TF.2.LB = iTime(NULL,xi_TF.2,0);
ArrayCopySeries(gdt_TF.2,MODE_TIME,NULL,xi_TF.2);
}
for (i=0, y=0; i<limit.1; i++)
{
if (Time[i] < gdt_TF.1[y])
{
y++;
if (xb_Show.MTF.Sep)
{
ObjectCreate(xs_Unique.Pfx+Time[i],OBJ_VLINE,gi_Window,Time[i],0);
ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_STYLE,STYLE_DOT);
ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_COLOR,xc_Text);
}
}
IB_K.1[i] = iStochastic(NULL,xi_TF.1,xi_KPeriod.1,xi_DPeriod.1,xi_Slowing.1,xi_MA.1,xi_PF.1,MODE_MAIN,y);
}
for (i=0, y=0; i<limit.2; i++)
{
if (Time[i] < gdt_TF.2[y])
{
y++;
if (xb_Show.MTF.Sep)
{
ObjectCreate(xs_Unique.Pfx+Time[i],OBJ_VLINE,gi_Window,Time[i],0);
ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(xs_Unique.Pfx+Time[i],OBJPROP_COLOR,xc_Text);
}
}
IB_K.2[i] = iStochastic(NULL,xi_TF.2,xi_KPeriod.2,xi_DPeriod.2,xi_Slowing.2,xi_MA.2,xi_PF.2,MODE_MAIN,y);
}
for (i=limit.1; i>=0; i--)
{
if (IB_K.1[i] > IB_K.1[i+1])
{
IB_Up.1[i] = IB_K.1[i];
IB_Up.1[i+1] = IB_K.1[i+1];
}
else
{
IB_Up.1[i] = EMPTY_VALUE;
if (IB_Up.1[i+2] == EMPTY_VALUE)
IB_Up.1[i+1] = EMPTY_VALUE;
}
if (IB_K.1[i] < IB_K.1[i+1])
{
IB_Down.1[i] = IB_K.1[i];
IB_Down.1[i+1] = IB_K.1[i+1];
}
else
{
IB_Down.1[i] = EMPTY_VALUE;
if (IB_Down.1[i+2] == EMPTY_VALUE)
IB_Down.1[i+1] = EMPTY_VALUE;
}
}
for (i=limit.2; i>=0; i--)
{
if (IB_K.2[i] > IB_K.2[i+1])
{
IB_Up.2[i] = IB_K.2[i];
IB_Up.2[i+1] = IB_K.2[i+1];
}
Показано первые 50% кода (символов: 8210)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.