multi_pairs_correlation_piramida_v2.01_eng.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «multi_pairs_correlation_piramida_v2.01_eng.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает на графике матрицу попарных корреляций между 8 основными валютными парами. Для каждой пары рассчитывается коэффициент корреляции за два заданных периода, и результат отображается в виде текстовых меток на графике. Значения, превышающие заданный пороговый уровень, выделяются цветом.
Дополнительно индикатор вычисляет дельта-показатель для каждой пары на основе диапазона цен за заданное количество баров. Если дельта превышает установленный порог, на графике отображается соответствующая метка с числовым значением.
Все данные выводятся в виде объектов-меток прямо на графике терминала MetaTrader 4. Информационная панель с параметрами расчёта может быть включена или выключена отдельной настройкой.
Настройки программы
| Настройка | Описание |
|---|---|
| ?????? ??????????-1 (CorPeriod_1) | Период корреляции 1 — Первый период для расчёта корреляции |
| ?????? ??????????-2 (CorPeriod_2) | Период корреляции 2 — Второй период для расчёта корреляции |
| ??????? ?? (KK_level) | Уровень KK — Пороговый уровень корреляции для выделения значений цветом |
| ?????????? ????? ??? ??????? ?????? (ControlBars) | Количество баров — Количество баров, используемых для расчёта дельта-показателя |
| ?????????? ????? ??? ??????? ?????? (Delta_level) | Уровень дельта — Пороговое значение дельта для отображения меток |
| DisplayInfo | Отображение информации — Включает или выключает отображение информационной панели на графике |
Поиск по коду файла
#property indicator_chart_window
extern int CorPeriod_1 = 120; // ?????? ??????????-1
extern int CorPeriod_2 = 480; // ?????? ??????????-2
extern double KK_level = 0.80; // ??????? ??
extern int ControlBars = 50; // ?????????? ????? ??? ??????? ??????
extern int Delta_level = 500; // ?????????? ????? ??? ??????? ??????
extern bool DisplayInfo = true;
string Index[8]; // ??? ??????? ?????
string Symbols[8,8]; // ??? ???????? ???? ?????
string Object_y[28]; // ???? ??? ??????? ?? ??? Y
string Object_x[28]; // ???? ??? ??????? ?? ??? X
string Sym_sym[28,28];// ??? ???? ??? (??)
double Corr[28,28]; // ??? ???????????? ?????????? (??)
int DIST_y[28]; // ?????????? ?? ??? Y
int DIST_x[28]; // ?????????? ?? ??? X
string Delte[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""}; // ?????? ?????
string DelteText[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};// ?????? ????? ????????
color Color = DodgerBlue;
int x=10,y=8,o,font_size=8,tic=20;
int CorPeriod;
int dx,dy;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
for(int i=0;i<28;i++)
{
if(Object_y[i]!="")
ObjectDelete(Object_y[i]); // ???????? ???????
if(Object_x[i]!="")
ObjectDelete(Object_x[i]); // ???????? ???????
}
for(int t=1;t<28;t++)
{
for(int c=0;c<t;c++)
{
if(Sym_sym[t,c]!="")
ObjectDelete(Sym_sym[t,c]); // ???????? ???????
}
}
ObjectDelete("Info"); // ???????? ???????
ObjectDelete("Info_1"); // ???????? ???????
for(int d=0;d<201;d++)
{
if(Delte[d]!="")
ObjectDelete(Delte[d]); // ???????? ???????
if(DelteText[d]!="")
ObjectDelete(DelteText[d]); // ???????? ???????
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
if(tic<5){tic++;return(0);}
else tic=0;
for(int d=0;d<201;d++)
{
if(Delte[d]!="")
ObjectDelete(Delte[d]); // ???????? ???????
if(DelteText[d]!="")
ObjectDelete(DelteText[d]); // ???????? ???????
}
o=0;int o_1=0;dx=0;dy=0;
string Text;
for(int a=1;a<28;a++)
{
for(int b=0;b<a;b++)
{
Sym_sym[a,b] = StringConcatenate(Object_y[a],"_",Object_y[b]);
CorPeriod = CorPeriod_1;
double C = Cor(Object_y[a], Object_y[b]);
Text = DoubleToStr(C,2);
Color = DimGray;
if(C>=KK_level)
{
Color = Yellow;o++;
CorPeriod = CorPeriod_2;
C = Cor(Object_y[a], Object_y[b]);
if(C>=KK_level){Object(0,a,b,o_1);Color = Lime;o_1++;}
}
if(C<=-KK_level)
{
Color = Yellow;o++;
CorPeriod = CorPeriod_2;
C = Cor(Object_y[a], Object_y[b]);
if(C<=-KK_level){Object(1,a,b,o_1);Color = Red;o_1++;}
}
Показано первые 50% кода (символов: 8905)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.