string symbol, int timeframe, string name, ..., int mode, int shift)
Расчет указанного пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX4) и находиться в директории каталог_терминала\experts\indicators.
Параметры:
symbol
-
Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe
-
Период. Может быть одним из периодов графика. 0 означает период текущего графика.
name
-
Имя пользовательского индикатора.
...
-
Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных пользовательского индикатора.
mode
-
Индекс линии индикатора. Может быть от 0 до 7 и должен соответствовать индексу, используемому одной из функций SetIndexBuffer.
shift
-
Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
return; } //--------------------------------------------------------------- 3 -- int Create(int Ind_Bar) // Пользовательская функция создания объекта
{ color Color= Red; // Цвет объекта datetime T_Bar=Time [Ind_Bar]; // Время открытия бара double O_Bar=Open [Ind_Bar]; // Цена открытия бара double C_Bar=Close[Ind_Bar]; // Цена закрытия бара double H_Bar=High [Ind_Bar]; // Максимальная цена бара double L_Bar=Low [Ind_Bar]; // Минимальная цена бара double A= iATR(Symbol(),0,60,Ind_Bar);
... закрашивет почему то только один бар(самый первый слева помоему), хотя по идее должен все на промежутке 1000-0 баров. Подскажите пожайлуста где ошибка?
не могу понять, где скобы замкнуть..помогите плиз!
=>
Там не двух скобок не хватает там вообще структура накручена попробуйте сначало сделать вот так :
if(){}else{}//вот так if()// или так {}else{}// и в зависимости от необходимости строите структуру if(){if(){}else{}}else{if(){}}// простым скопировал вставил
а потом в структуру вложить нужные условия и операторы.
if(((b1+b1_2)>0)||((b2+b2_2)>=0)||((s1+s1_2)<0)||((s2+s2_2)<=0)){if(T1green!=0&& T2red==0)// что это условие должно разрешать ????????????}elseif(Flat!=0)return(0);//тут вылетаем по ретурну дальше код не исполняется {
SigBuy=true;// по какому условию выполняется этот оператор ???????????}if(((b1+b1_2)>0)||((b2+b2_2)>=0)||((s1+s1_2)<0)||((s2+s2_2)<=0)){if(T1red!=0&& T2green==0)// что это условие должно разрешать ????????????}elseif(Flat!=0)return(0);//тут вылетаем по ретурну дальше код не исполняется {
SigSell=true;// по какому условию выполняется этот оператор ???????????}
Здравствуйте. Помогите, пожалуйста, переделать Period Converter Opt.
Суть вот в чем.
Например, формируем 8-ми часовые бары (время терминальное) из 1-часовых. Получаем ряд: 0, 8, 16, 0 часов и т.д.
Хотелось бы, чтобы в Конвертере можно было установить смещение. Это смещение можно сделать в количестве баров того ТФ, на основе которого формируется нужный нам. Если формируем на основе 1-часовых, тогда смещение будет выражаться в часах... Если на основе 15-минуток, тогда смещение будет 15, 30, 45 минут....
К тому же время в терминале еще и отличается от "моего" времени на 2 часа. => неудобно подходить к терминалу в 2 ночи МСК.
Так вот, при формировании 8-ми часового ТФ со смещением +3 (например) получим новый ряд: 3, 11, 19, 3 и т.д. Или (-2) смещение даст: 22, 6, 14, 22 и т.д. Хотя можно ограничиться только плюсовым
смещением.
Цель смещения - не допустить полного формированияе бара в период сна трейдера.
Вот так хотелось бы доработать "Период Конвертер Опт".
нет
чтото не правильно в этом куске кода, а что не пойму
с уважением.
да здравствует справка!
CПАСИБо ОГРОМНОЕ никогда бы не нашол iCustom в>> Справочник MQL4 - Технические индикаторы - iCustom (искал где угодно но не здесь)
еще раз ОГРОМНОЕ спасибо!
Приветствую!
Пытаюсь научить МТ4 выделять на графике бары диапазон которых превышает ATR(60), код следующий:
extern int Quant_Bars=1000; // Количество баров
int start()
{
int Ind_Bar;
for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)
{
Create(Ind_Bar);
}
return;
}
//--------------------------------------------------------------- 3 --
int Create(int Ind_Bar) // Пользовательская функция создания объекта
{
color Color= Red; // Цвет объекта
datetime T_Bar=Time [Ind_Bar]; // Время открытия бара
double O_Bar=Open [Ind_Bar]; // Цена открытия бара
double C_Bar=Close[Ind_Bar]; // Цена закрытия бара
double H_Bar=High [Ind_Bar]; // Максимальная цена бара
double L_Bar=Low [Ind_Bar]; // Минимальная цена бара
double A= iATR(Symbol(),0,60,Ind_Bar);
if((H_Bar-L_Bar)>A)
ObjectCreate("His_Name",OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar);
return;
}
... закрашивет почему то только один бар(самый первый слева помоему), хотя по идее должен все на промежутке 1000-0 баров. Подскажите пожайлуста где ошибка?
не могу понять, где скобы замкнуть..помогите плиз!
=>
не могу понять, где скобы замкнуть..помогите плиз!
=>Там не двух скобок не хватает там вообще структура накручена попробуйте сначало сделать вот так :
а потом в структуру вложить нужные условия и операторы.
пппппп
Там не двух скобок не хватает там вообще структура накручена попробуйте сначало сделать вот так :
а потом в структуру вложить нужные условия и операторы.
пппппп
Не получается так.
Как для моего случая правильно сделать?
if(...........)//если условие выполнилось,то { if(T1green!=0 && T2red==0)//и это выполнилось.. ...это типо максд } else if(Flat!=0) return(0);//это пролетаем, выполняется следующее { SigBuy=true;// включение покупки }Здравствуйте. Помогите, пожалуйста, переделать Period Converter Opt.
Суть вот в чем.
Например, формируем 8-ми часовые бары (время терминальное) из 1-часовых. Получаем ряд: 0, 8, 16, 0 часов и т.д.
Хотелось бы, чтобы в Конвертере можно было установить смещение. Это смещение можно сделать в количестве баров того ТФ, на основе которого формируется нужный нам. Если формируем на основе 1-часовых, тогда смещение будет выражаться в часах... Если на основе 15-минуток, тогда смещение будет 15, 30, 45 минут....
К тому же время в терминале еще и отличается от "моего" времени на 2 часа. => неудобно подходить к терминалу в 2 ночи МСК.
Так вот, при формировании 8-ми часового ТФ со смещением +3 (например) получим новый ряд: 3, 11, 19, 3 и т.д. Или (-2) смещение даст: 22, 6, 14, 22 и т.д. Хотя можно ограничиться только плюсовым
смещением.
Цель смещения - не допустить полного формированияе бара в период сна трейдера.
Вот так хотелось бы доработать "Период Конвертер Опт".