Индикаторы форекс MACD и Stochastic или миф о богастве

Как и обещал сегодня расскажу о том, как работают индикаторы оценивающие ленту котировок на форексе и выдающие сигналы покупать или продавать. Для начала как всегда немного теории. Разберемся как устроены всеми любимые индикаторы MACD и Stochastic

Формула расчета значений буферов MACD:

int OnCalculate ()
{
int i,limit;
//—
if(rates_total<=InpSignalSMA || !ExtParameters)
return(0);
//— last counted bar will be recounted
limit=rates_total-prev_calculated;
if(prev_calculated>0)
limit++;
//— macd counted in the 1-st buffer
for(i=0; i<limit; i++)
ExtMacdBuffer[i]=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)-
iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//— signal line counted in the 2-nd buffer
SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer);
//— done
return(rates_total);
}

Самое важное, что нас здесь интересует это строка for(i=0; i<limit; i++) — объясню что это такое, это выражение которое берет последние несколько свечей (например 12 или 26 как пишут в книгах то тех анализу) и затем вычисляет для них среднее значение MA (Moving Average), казалось бы все логично и правильно но почему прибыльность стратегий при торговле по MACD всего 65% ? Пока подумайте щас разберемся, что в внутри стохастика.

Формула расчета значений буферов Stochastic:

pos=InpKPeriod-1;
if(pos+1<prev_calculated)
pos=prev_calculated-2;
else
{
for(i=0; i<pos; i++)
{
ExtLowesBuffer[i]=0.0;
ExtHighesBuffer[i]=0.0;
}
}
//— calculate HighesBuffer[] and ExtHighesBuffer[]
for(i=pos; i<rates_total && !IsStopped(); i++)
{
double dmin=1000000.0;
double dmax=-1000000.0;
for(k=i-InpKPeriod+1; k<=i; k++)
{
if(dmin>low[k])
dmin=low[k];
if(dmax<high[k])
dmax=high[k];
}
ExtLowesBuffer[i]=dmin;
ExtHighesBuffer[i]=dmax;
}
//— %K line
pos=InpKPeriod-1+InpSlowing-1;
if(pos+1<prev_calculated)
pos=prev_calculated-2;
else
{
for(i=0; i<pos; i++)
ExtMainBuffer[i]=0.0;
}
//— main cycle
for(i=pos; i<rates_total && !IsStopped(); i++)
{
double sumlow=0.0;
double sumhigh=0.0;
for(k=(i-InpSlowing+1); k<=i; k++)
{
sumlow +=(close[k]-ExtLowesBuffer[k]);
sumhigh+=(ExtHighesBuffer[k]-ExtLowesBuffer[k]);
}
if(sumhigh==0.0)
ExtMainBuffer[i]=100.0;
else
ExtMainBuffer[i]=sumlow/sumhigh*100.0;
}
//— signal
pos=InpDPeriod-1;
if(pos+1<prev_calculated)
pos=prev_calculated-2;
else
{
for(i=0; i<pos; i++)
ExtSignalBuffer[i]=0.0;
}
for(i=pos; i<rates_total && !IsStopped(); i++)
{
double sum=0.0;
for(k=0; k<InpDPeriod; k++)
sum+=ExtMainBuffer[i-k];
ExtSignalBuffer[i]=sum/InpDPeriod;
}
//— OnCalculate done. Return new prev_calculated.
return(rates_total);
}

Как видим примерно таже картина, теже самые циклы берущие посление N свечей (обычно 5 или 12) и вычисляющие значение от 0 до 100. При появлении 80 сигнал на продажу, при появлении 20 сигнал на покупку.И опять прибыльность торговли по стохастику в 65%. Что же на самом деле не так?

А теперь фокус: индикаторы изначально создавались для фондовых рынков, где они оценивали силу и направления тренда, а также определяли разворотные точки. Строится на основе скользящих средних. Вы скажете какая разница где оценивать силу тренда и направление это будет работать в любых условиях..  Но теперь разница между фондовым рынком и валютным.

Фондовый торгуется 8ми часовую сессию, валютный рынок — круглые сутки. Но опять в чем же подвох скажете вы. Если вы посмотрите котировки фондовых рынков у вас будет по 8 свечей в сутки, в этом случае индикатор будет анализировать настоящие данные когда на рынок действовали новости и внимание инвесторов было приковано к данным рынкам.

А в случае с валютой мы имеем следующее: EURUSD — евро против доллара, наиболее активные часы для евро это 8ми часовая евро сессия, для доллара американская сессия. Итого имеем 16 часов индикатор получает относительно достоверные данные, но что же происходит в азиатскую сессию на паре EURUSD — правильно нечего! Цена стоит на месте движение идет в диапозоне 5-10пунктов и так 8 часов подряд. Что мы имеем в этом случае на графике стохастика или MACD. 16 часов поступают достверные данные и индикатор расчитывает нам Силу и Направление тренда, а следющуие 8 часов индикатор врет потому что вместо данных он получает одну и туже цену, в итоге любой тренд будет виден днем и завалится к следующему утру не потому что тренд кончился, а просто люди спали и не смотрели на рынки, а индикатор в тоже время усердно оценивал и генерировал сигналы Покупать или Продавать, но трейдеры это же ваши деньги, и вы готовы сливать их ? Пользуйтесь провереными временем стратегиями форекс.

Итог таков профитность торговых систем основанных на MACD или Stochastic никогда не поднимется выше 65% именно по причине, что в валютных котировках в 3ю сессию в индикаторы забивается мусор, самый настоящий мусор, и по этой причине вы всегда будете терять деньги на форексе используя любой подобный метод технического анализа.

И напоследок скрин, как же легко слить депозит используя Stochastic.

Stochastic

Пример того как из 4х сигналов мы имеем 3 убыточных, профитность 25%, хотя мы ставили планку в начале статьи стратегии по стохастику 65%.

Вот и весь секрет почему все трейдеры теряют деньги на форексе. Не согласны комментируйте, объясню еще раз.