Пересечение графиков2

 

Способы осеивания шума:
1) Сгладить линии индикатора к.л. способом, например средней, либо отсечением экстремальных значений
2) Задать минимальное значение пересечений, например если пересеклись, и разница между линиями больше определенного значения.

Вверх или вниз --> если (инд1-инд2)>0 значит вверх, иначе вниз. .

Еще одна идея насчет сглаживания шумов - написать алгоритм в стиле ренко или Х0

 
4ebur:

Способы осеивания шума:
1) Сгладить линии индикатора к.л. способом, например средней, либо отсечением экстремальных значений
2) Задать минимальное значение пересечений, например если пересеклись, и разница между линиями больше определенного значения.

Вверх или вниз --> если (инд1-инд2)>0 значит вверх, иначе вниз. .

Еще одна идея насчет сглаживания шумов - написать алгоритм в стиле ренко или Х0

Раскажите поподробнее что за алгоритм в стиле Ренко или Х0?
 
Спасибо, обязательно почитаю...
Стив Нисон "За гранью японских свечей" Даже в бумажном виде нашёл у друзей....
 

Вверх или вниз --> если (инд1-инд2)>0 значит вверх, иначе вниз. .

Подскажите пожалуйста как правильно описать пересечение вверх или вниз на примере картинки,

т.е. в советнике берутся значения из пользовательского индикатора:
кривая С и линии А, В (линии не изменяются)

нужно описать логическим выражением:
пересечение отрезков А и Б кривой С в зеленых точках, т.е. на линии А - сверху вниз, а на линии В снизу вверх... (красные точки игнарируем)

 
Пересечение 2-х кривых на отрезке [x; x+dx) можно записать так:
f(x) <= g(x) AND f(x+dx) > g(x+dx)
f(x) >= g(x) AND f(x+dx) < g(x+dx)

f, g - кривые.
dx - некоторая положительная величина.
 

if(iCustom(i)>120 && iCustom(i+1)<120){
//пересечение верхнего уровня снизу вверх
}

 

А поточнее пожалуйста можно? не как не дойдет до меня...
Что это за (i) ? если можно, также куском кода на примере...

 

iCustom(i) - значение пользовательского индикатора на баре номер i, iCustom(i+1) - на баре номер i+1, т.е. на предыдущем баре. Куском кода на примере - я не знаю какой пользовательский индикатор вы используете и где ищете пересечение, в другом индикаторе или в эксперте.

 
Пересечение ищу в эксперте, ниже строчка подключения индикатора:

double snsup =iCustom(NULL, 0, "SmCCI",8,14,120,-120,0.7,0,"Alert2. wav", 0,1);

я так понимаю, последняя 1-ца в строчке это и есть i, вопрос...
помогите пожалуйста описать это в условии сигнала покупки например (график индикатора на картинке выше), когда кривая С пересекает линию В (-120) снизу вверх!

например:
// проверяем на возможность встать в длинную позицию (BUY)
if(.....условие пересечения линии -120 снизу вверх.........)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*Point,Ask+TakeProfit*Point,"sxiCCI",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
 
double snsup1 =iCustom(NULL, 0, "SmCCI",8,14,120,-120,0.7,0,"Alert2.wav",0,1); double snsup2 =iCustom(NULL, 0, "SmCCI", 8,14,120,-120, 0.7,0,"Alert2.wav",0,2); if(snsup1>-120 && snsup2-120) Да. Последняя единица и есть i. Читайте методичку:-)