Как описать программно момент пересечения линий %К и %D?

 
При использовании стохастика как описать программно момент пересечения линий %К и %D для использования в качестве сигнала открытия позиции?
 
Это кодируется примерно одинаково во всех системах, использующих как сигнал пересечение двух линий. Например, такой псевдокод:

Если ( ( %К[1] - %D[1] ) * ( %К[0] - %D[0] ) < 0 ) 
{ Переворачиваемся; }
Т.е. если знак разницы между линиями на первом баре отличен от знака той же разницы на нулевом, то это сигнал. Детали реализации можно увидеть в стандартных экспертах от метаквотов (MACD sample, Moving Average). На мой взгляд, там слегка наворочено, и детали слегка затуманивают общий принцип, но он все равно остается прежним.

Можно сравнивать второй и первый бары. Говорят, система при этом уже не так частит, но сигналы сильнее запаздывают.

Этот принцип уже не формулируется так красиво, если сигнал на открытие/закрытие должен поступать в системе с люфтом (т.е. если линии пересеклись и разница между ними превысила определенное значение).
 
Mathemat писал (а):
Это кодируется примерно одинаково во всех системах, использующих как сигнал пересечение двух линий. Например, такой псевдокод:

Если ( ( %К[1] - %D[1] ) * ( %К[0] - %D[0] ) < 0 ) 
{ Переворачиваемся; }
Т.е. если знак разницы между линиями на первом баре отличен от знака той же разницы на нулевом, то это сигнал. Детали реализации можно увидеть в стандартных экспертах от метаквотов (MACD sample, Moving Average). На мой взгляд, там слегка наворочено, и детали слегка затуманивают общий принцип, но он все равно остается прежним.

Можно сравнивать второй и первый бары. Говорят, система при этом уже не так частит, но сигналы сильнее запаздывают.

Этот принцип уже не формулируется так красиво, если сигнал на открытие/закрытие должен поступать в системе с люфтом (т.е. если линии пересеклись и разница между ними превысила определенное значение).

Принцип понятен, спасибо.
Его реализация может быть такой?:

a=iStochastic(NULL,0,14,3,3,MODE_SMA,0,MODE_MAIN,1);
b=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);
c=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)
d=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0)

if (a-b)*(c-d)<0
{ Переворачиваемся; }
 
Может, но не мешало бы ввести порог чувствительности. Например:
if ((a-b)*(c-d)<0 && MathAbs(a-b)>delta && MathAbs(c-d)>delta)
//{ Переворачиваемся; }
 
Rosh:
Может, но не мешало бы ввести порог чувствительности. Например:
if ((a-b)*(c-d)<0 && MathAbs(a-b)>delta && MathAbs(c-d)>delta)
//{ Переворачиваемся; }



А если просто использовать условие нахождения в зоне перепроданности/перекупленности: c>80, c<20?

И еще вопрос: можно ли внутри одного советника реализовать оценку состояния индикатора на разных таймфреймах?
 
Идей можно реализовать сколько угодно, и эту тоже. Стохастик - это осциллятор, в чем-то близкий RSI, и принципы их использования довольно близки. Часто самой ценной является информация не только и не столько о самих уровнях, сколько о дивергенциях (а это трудно формализуемая в МТС часть). Вот здесь - https://www.metatrader5.com/ru/terminal/help/indicators/oscillators/so - кратко о нем написано.

Состояние индикатора на разных фреймах - тоже можно оценить, конечно: в стандартной функции iStochastic() таймфрейм указывается вторым параметром.
 
Mathemat писал (а):

Состояние индикатора на разных фреймах - тоже можно оценить, конечно: в стандартной функции iStochastic() таймфрейм указывается вторым параметром.

Спасибо, формат описания функции iStochastic() мне известен.

Если внутри одной программы оценивается состояние индикатора на разных фреймах, то на график с каким фреймом навешивается советник?
 
elfaim писал (а):
Спасибо, формат описания функции iStochastic() мне  известен.
Если внутри одной программы оценивается состояние индикатора на разных фреймах, то на график с каким фреймом навешивается советник?
Похоже что плохо известен. Там же ясно написано:
timeframe  -  Период. Может быть одним из периодов графика. 0 означает период текущего графика.
 
elfaim:
Если внутри одной программы оценивается состояние индикатора на разных фреймах, то на график с каким фреймом навешивается советник?
На любой.
 
komposter писал (а):
elfaim писал (а):
Если внутри одной программы оценивается состояние индикатора на разных фреймах, то на график с каким фреймом навешивается советник?
На любой.

komposter ,Спасибо!!!

При постановке вопроса новички  реально расчитывают на помощь профессионалов, даже если вопрос звучит нелепо
Причина обращения: