Помогите прикрутить странный индикатор, с не явными буферами.

 

Всем привет.

Натолкнулся на интересный индикатор, но не получается прикрутить к советнику, не могу объявить буферы.

В коде я нуб, так что сильно не пинайте.

Делал примерно следующее:

    Y_ZZ.L_1  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,0, 0);
    Y_ZZ.L_2  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,1, 0);
    Y_ZZ.L_3  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,2, 0);
    Y_ZZ.L_4  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,3, 0);

Индикатор прилагаю
 

Файлы:
Y_ZZ_Ind.mq4  7 kb
 

Никак. Только следить за объектами на графике.

А лучше логику в советник перенести. 

 
ohr:

Всем привет.

Натолкнулся на интересный индикатор, но не получается прикрутить к советнику, не могу объявить буферы.

В коде я нуб, так что сильно не пинайте.

Делал примерно следующее:

    Y_ZZ.L_1  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,0, 0);
    Y_ZZ.L_2  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,1, 0);
    Y_ZZ.L_3  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,2, 0);
    Y_ZZ.L_4  = iCustom(NULL, 0, ind_name_2,Depth, Deviation, Backstep, DistanseLimits_1_2_min,DistanseLimits_1_2_max,DistanseLimits_2_3_min,DistanseLimits_2_3_max,
    Short,Long,3, 0);

Индикатор прилагаю
 

Можно по такому принципу:

под этой строчкой

void SetLine(string name, double price1,int time1,double price2, int time2, color LineColor, int style,int width) {

добавим

GlobalVariableSet(name+"_price1",price1);
GlobalVariableSet(name+"_price2",price2);

а в советнике считаем глобальные переменные

double price1=GlobalVariableGet(name+"_price1");
double price2=GlobalVariableGet(name+"_price2");


Второй вариант:

Также можно добавить в индикатор буферы и записать в них эти значения в нулевой бар. После чего Ваш код начнет работать при условии некоторой модификации

 
Renat Akhtyamov:

Можно по такому принципу:

под этой строчкой

void SetLine(string name, double price1,int time1,double price2, int time2, color LineColor, int style,int width) {

добавим

GlobalVariableSet(name+"_price1",price1);
GlobalVariableSet(name+"_price2",price2);

а в советнике считаем глобальные переменные

double price1=GlobalVariableGet(name+"_price1");
double price2=GlobalVariableGet(name+"_price2");


Второй вариант:

Также можно добавить в индикатор буферы и записать в них эти значения в нулевой бар. После чего Ваш код начнет работать при условии некоторой модификации

Спасибо, буду пробовать разбираться.