Как написать iCustom(???) - страница 2

 
xrust:
if(iCustom(NULL,0,"FX5_Divergence_V2.1",2,1)!=0){sell:}
  if(iCustom(NULL,0,"FX5_Divergence_V2.1",2,2)!=0){buy:}

Упс... поторопился.

 

Моя заготовка условий для эксперта "по стрелкам":

bool FATLsB=iCustom(NULL,0,"FATLs",0,0)>0;
bool FATLsS=iCustom(NULL,0,"FATLs",1,0)>0;
//--- открытие БАЙ закрытие СЕЛЛ ------------------
   if (FATLsB==1 && TotalBuy()==0) {CloseSell(); SetBuy(); }

Логика проста...

Появление стрелки в индикаторе это цена (уровень) на которой она отрисуется на графике,

а это значит условием цена>0 мы инициируем булеву переменную, которая примет значения:

- 0 нет стрелки

- 1 есть стрелка

Что в свою очередь просигналит другим условиям уже как пожелаем... ;)

В данном примере появление стрелки вверх закроет селл если есть такая позиция

и откроет бай если нет таковой...

 

Большое спасибо!!!

Сейчас попробую и отпишу...

 
Сделала!  Может кто подскажет какой сюда можно добавить фильтр?
Файлы:
 
liza:
Сделала! Может кто подскажет какой сюда можно добавить фильтр?

делал эксперта по этому индикатору

индикатор конечно переписывал под себя

вот описание как ставил фильтр

https://www.mql5.com/ru/users/YuraZ

89-SMA ниже только покупал выше только продавал

работал только по дивергенции ковергенцию исключил

хотя добавил бы я ее на бай ... система бы дала в 2007 году на чемпионате

то получил бы почти 60к ну в общем второе место уплыло :-)

https://www.mql5.com/ru/users/YuraZ

на этой странице есть стейт с исправленными ошибками в логике и добавкой входов по ковергенции

 
kombat:

Моя заготовка условий для эксперта "по стрелкам":

bool FATLsB=iCustom(NULL,0,"FATLs",0,0)>0;
bool FATLsS=iCustom(NULL,0,"FATLs",1,0)>0;
//--- открытие БАЙ закрытие СЕЛЛ ------------------
   if (FATLsB==1 && TotalBuy()==0) {CloseSell(); SetBuy(); }

Более универсальным вариантом будет вот такой:

double up = iCustom(NULL,0,"FATLs",0,0);
double dn = iCustom(NULL,0,"FATLs",1,0);
bool FATLsB=(up > 0 && up != EMPTY_VALUE);
bool FATLsS=(dn > 0 && dn != EMPTY_VALUE);
//--- открытие БАЙ закрытие СЕЛЛ ------------------
   if (FATLsB && TotalBuy()==0) {CloseSell(); SetBuy(); }
Не все "стрелочники" имеют "пустое значение" = 0, многие оставляют по умолчанию 2147483647.
 
komposter:
kombat:

Моя заготовка условий для эксперта "по стрелкам":

bool FATLsB=iCustom(NULL,0,"FATLs",0,0)>0;
bool FATLsS=iCustom(NULL,0,"FATLs",1,0)>0;
//--- открытие БАЙ закрытие СЕЛЛ ------------------
   if (FATLsB==1 && TotalBuy()==0) {CloseSell(); SetBuy(); }

Более универсальным вариантом будет вот такой:

double up = iCustom(NULL,0,"FATLs",0,0);
double dn = iCustom(NULL,0,"FATLs",1,0);
bool FATLsB=(up > 0 && up != EMPTY_VALUE);
bool FATLsS=(dn > 0 && dn != EMPTY_VALUE);
//--- открытие БАЙ закрытие СЕЛЛ ------------------
   if (FATLsB && TotalBuy()==0) {CloseSell(); SetBuy(); }
Не все "стрелочники" имеют "пустое значение" = 0, многие оставляют по умолчанию 2147483647.

некоторые индикаторы возвращают значение < 0

совсем универсально будет

double up = iCustom(NULL,0,"индикатор",0,0);
double dn = iCustom(NULL,0,"индикатор",1,0);
bool FATLsB=(up != 0 && up != EMPTY_VALUE);
bool FATLsS=(dn != 0 && dn != EMPTY_VALUE);
//--- открытие БАЙ закрытие СЕЛЛ ------------------
   if (FATLsB && TotalBuy()==0) {CloseSell(); SetBuy(); }
 

Спасибо!

учту... ;)

 
YuraZ:

некоторые индикаторы возвращают значение < 0

Да, согласен. Но тут речь о стрелочках на графике шла ;)

 
komposter:
YuraZ:

некоторые индикаторы возвращают значение < 0

Да, согласен. Но тут речь о стрелочках на графике шла ;)

если они положительные вседа то да...

стрелочки на графике к примеру на MACD_Divergence_V1.1.mq4... быват как с минусом так и с плюсов если читать их из буфера

я это имел ввиду... Андрей, потому код более переносимый, если взять твой код но проверку !=0 делать