[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 331

 

ДЛЯ Roger 

Не продавать не собираюсь у меня с деньгами все в порядке. Хочу поделиться идеями и понять причину своей тупости ))

 

Подскажите пожалуйста как вызвать через iCustom пользовательские индикаторы AO и AC. И как прописать следующее условие через iCustom. Заранее благодарен.


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

 
Stepan241 >>:

Народ, доброговремени суток.

На одном из форумов наткнулся на ОПРЕДЕЛИТЕЛЯ ТРЕНДА. Автор утверждал что не плохо показывает тренд и при создании осциляторной системы может очень хорошо помочь. Правда реализовал он его прямо в советнике. Я попытался сделать на его основе индикатор. Потому как хочу посмотреть правильно ли он считает.

Цитирую автора:

-----------------------------------------------

Я не ожидал такого хорошего результата от этой своей находки. Случайно слепил - поставил. И даже подскочил от неожиданности! 
  

Здесь тоже  немного обсуждался  этот прием - вот тут  https://www.mql5.com/ru/forum/105321/page11



 

Всем доброго дня.

Подскажите пожалуста как подсчитать кол-во пересечений ценой определеного  уровня. Я хочу  что бы ордер открывался не после первого пересечения уровня  , а после 3 (4,5...)

Спасибо.

 
Подскажите, пожалуйста, как записать следующие условия. Если текущая цена ниже средней цены дня, то.... и второе, если цена в 14.56 (например) текущего дня выше текущей цены, то... Было бы очень интересно получить ответ. Сам пока не могу решить задачу. Заранее спасибо.
 
future >>:
Подскажите, пожалуйста, как записать следующие условия. Если текущая цена ниже средней цены дня, то.... и второе, если цена в 14.56 (например) текущего дня выше текущей цены, то... Было бы очень интересно получить ответ. Сам пока не могу решить задачу. Заранее спасибо.
extern string xxxxxxxxxxxxx="x=0 сегодня х=1 вчера итд";
extern int х=0;
int середина=(iHigh(0,PERIOD_D1,х)-iLow(0,PERIOD_D1,х))/2;
if(Bid>середина)...;
if(Ask<середина)...;


extern datetime some_time=D'14:56';
int середина_some_time=(iHigh(0,0,iBarShift(0,0,some_time))-iLow(0,0,iBarShift(0,0,some_time)))/2;
if(Bid>середина_some_time)...;
if(Ask<середина_some_time)...;
 
skifodessa >>:

Всем доброго дня.

Подскажите пожалуста как подсчитать кол-во пересечений ценой определеного уровня. Я хочу что бы ордер открывался не после первого пересечения уровня, а после 3 (4,5...)

Спасибо.

Я так понимаю условия будут ограничены во времени! (третье пересечение прийдет завтра )))

Советую добавить в условия данные старшего феэйма. (если М5..М30 то Н1..Н4)

Например

if(ССI(M5)>0 && CCI(H1)>0 ) OpenB();
 
Stepan241 писал(а) >>

Народ, доброговремени суток.

На одном из форумов наткнулся на ОПРЕДЕЛИТЕЛЯ ТРЕНДА...

https://www.mql5.com/ru/forum/105321/page11#53278

 
Necron >>:

Подскажите пожалуйста как вызвать через iCustom пользовательские индикаторы AO и AC. И как прописать следующее условие через iCustom. Заранее благодарен.


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

А зачем вам вообще их через иКастом вызывать? Для унификации что-ли? Ну, напишите для каждого отдельный индикатор-обертку, и вызывайте уже их через иКастом...

 
skifodessa >>:

Всем доброго дня.

Подскажите пожалуста как подсчитать кол-во пересечений ценой определеного уровня. Я хочу что бы ордер открывался не после первого пересечения уровня, а после 3 (4,5...)

Спасибо.

Ну, например, вот универсальный вариант. Кстати, полезно иметь функцию-детект пересечений:

int Cross(double a[], double level, int pos)
{
   if(a[pos]<level&&a[pos+1]>level) return(-1);
   if(a[pos]>level&&a[pos+1]<level) return(1);
   return(0);
}

т.е. если пересечение вверх, то 1, если вниз -1, в противном случае 0

ну а теперь считаем (bars_limit - макс. разброс по времени)

int count=0;
for (i=0;i<bars_limit;i++)
{
   if(Cross(a,level,i)==1) count++;// ну или -1 если пересечения вниз считаем
}

if(count>=3) //4,5,...
{
...
}
Причина обращения: