Цикл трендов Шаффа - страница 14

 

mladen

Спасибо, что поделились этим индикатором, но на моей голове он был другим, может быть, вы можете сделать schaff тренд цикла одного MA (нормальный ma от цены char) или центральной линии....;].

Привет wwwassa,

Просто посмотрите на этот пост

https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here

и вы сможете построить индикаторы, которые вам нужны.

Вот индикатор, опять же, родной код, так что вы сможете кодировать свои собственные индикаторы.

Желаю удачи.

//+------------------------------------------------------------------+

//| MULTI_INDIC_Nativ.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

#property indicator_separate_window

#property indicator_buffers 8

#property indicator_color1 LightSeaGreen

#property indicator_color2 Aqua

#property indicator_color3 PaleTurquoise

#property indicator_color4 Orange

#property indicator_color5 DarkOrange

#property indicator_color6 Red

#property indicator_color7 Crimson

#property indicator_color8 Magenta

#property indicator_level1 0

extern int TimeFrame =0;

extern int TimeFrame1 =0;

extern int CountBars =500;

extern int x_prd =0;

//---- буферы

double Multi_Indic[];

double Multi_Indic1[];

double Multi_Indic2[];

double Multi_Indic3[];

double Multi_Indic4[];

double Multi_Indic5[];

double Multi_Indic6[];

double Multi_Indic7[];

string short_name;

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init() {

//---- имя для DataWindow и метки подокна индикатора

short_name = "MULTI_INDIC_Nativ("+TimeFrame+")";

IndicatorShortName(short_name);

IndicatorBuffers(8);

SetIndexBuffer(0,Multi_Indic);

SetIndexStyle(0,DRAW_LINE,0,1);

SetIndexBuffer(1,Multi_Indic1);

SetIndexStyle(1,DRAW_LINE,0,1);

SetIndexBuffer(2,Multi_Indic2);

SetIndexStyle(2,DRAW_LINE,0,1);

SetIndexBuffer(3,Multi_Indic3);

SetIndexStyle(3,DRAW_LINE,0,1);

SetIndexBuffer(4,Multi_Indic4);

SetIndexStyle(4,DRAW_LINE,0,1);

SetIndexBuffer(5,Multi_Indic5);

SetIndexStyle(5,DRAW_LINE,0,1);

SetIndexBuffer(6,Multi_Indic6);

SetIndexStyle(6,DRAW_LINE,0,1);

SetIndexBuffer(7,Multi_Indic7);

SetIndexStyle(7,DRAW_LINE,0,1);

//----

return (0);

}

int deinit() {

return (0);

}

//+------------------------------------------------------------------+

//| Skid |

//+------------------------------------------------------------------+

int start()

{

if (CountBars>=Bars) CountBars=Bars;

SetIndexDrawBegin(0,Bars-CountBars);

SetIndexDrawBegin(1,Bars-CountBars);

SetIndexDrawBegin(2,Bars-CountBars);

SetIndexDrawBegin(3,Bars-CountBars);

SetIndexDrawBegin(4,Bars-CountBars);

SetIndexDrawBegin(5,Bars-CountBars);

SetIndexDrawBegin(6,Bars-CountBars);

SetIndexDrawBegin(7,Bars-CountBars);

int i, ii, iii, iiii,iiiiiii,iiiiiiii,iiiiiiii, iiiiiiii, counted_bars=IndicatorCounted();

double t_prd;

//----

if(Bars<=x_prd) return(0);

//---- начальный ноль

if(counted_bars<x_prd)

{

for(i=1;i<=x_prd;i++) Multi_Indic[CountBars-i]=0.0;

for(ii=1;ii<=x_prd;ii++) Multi_Indic1[CountBars-ii]=0.0;

for(iii=1;iii<=x_prd;iii++) Multi_Indic2[CountBars-iii]=0.0;

for(iiii=1;iiii<=x_prd;iiii++) Multi_Indic3[CountBars-iiiiii]=0.0;

for(iiiii=1;iiiii<=x_prd;iiiii++) Multi_Indic4[CountBars-iiiii]=0.0;

for(iiiiii=1;iiiiii<=x_prd;iiiiii++) Multi_Indic5[CountBars-iiiiii]=0.0;

for(iiiiiiii=1;iiiiii<=x_prd;iiiiii++) Multi_Indic6[CountBars-iiiiiii]=0.0;

for(iiiiiiii=1;iiiiii<=x_prd;iiiiiiii++) Multi_Indic7[CountBars-iiiiiiiiii]=0.0;

}

//----

i=CountBars-x_prd-1;

ii=CountBars-x_prd-1;

iii=CountBars-x_prd-1;

iiii=CountBars-x_prd-1;

iiiii=CountBars-x_prd-1;

iiiiii=CountBars-x_prd-1;

iiiiiiiii=CountBars-x_prd-1;

iiiiiiii=CountBars-x_prd-1;

t_prd=x_prd/2+1;

while(i>=0)

while(ii>=0)

while(iii>=0)

while(iiii>=0)

while(iiiii>=0)

while(iiiiii>=0)

while(iiiiiiii>=0)

while(iiiiiiii>=0)

{

Multi_Indic=((iCustom(NULL, 0, " " , 0 , i)));

Multi_Indic1=((iCustom(NULL, 0, " ", 0 , ii))) ;

Multi_Indic2=((iCustom(NULL, 0, " ", 0 , iii))) ;

Multi_Indic3=((iCustom(NULL, 0, " ", 0 , iiii))) ;

Multi_Indic4=((iCustom(NULL, 0, " ", 0 , iiiii))) ;

Multi_Indic5=((iCustom(NULL, 0, " ", 0 , iiiiii))) ;

Multi_Indic6=((iCustom(NULL, 0, " ", 0 , iiiiiii))) ;

Multi_Indic7=((iCustom(NULL, 0, " ", 0 , iiiiiiii))) ;

i--;

ii--;

iii--;

iiii--;

iiiii--;

iiiiii--;

iiiiiiiii--;

iiiiiiii--;

}

return(0);

}

//+------------------------------------------------------------------+

Tomcat98

 
wwwassa:
mladen

Спасибо, что поделились этим индикатором, но в моей голове было другое, может вы можете сделать трендовый цикл по одной МА (нормальная МА от цены) или по центральной линии из индикатора os gaussian support rezistance?

Я ищу что-то, что покажет мне более длинный тренд, а не что-то вроде даунхилла и дырок. Beateful look ssrc, но это ремонт, возможно индикатор с этого сайта может быть полезен для будущей модификации: Ранговая корреляция Спирмена - База кодов MQL4

С уважением,

wwwassa,

Это будет трендовый цикл Шаффа на одной МА.

Что касается ранговой корреляции Спирмена: это совершенно другая математика, чем цикл тренда Шаффа. Rosh проделал хорошую работу над ней, поэтому я рекомендую вам использовать ее, поскольку ранговая (авто) корреляция Спирмена является хорошим индикатором.

Файлы:
 

Трендовый цикл Шаффа rsi

И этот тоже

Это эксперимент по применению трендового цикла Шаффа к rsi тем же способом раскрашивания. Похоже, что он делает хорошую работу по улучшению rsi (кроме того, что делает его более гладким), не добавляя никакого запаздывания вообще. Вот сравнение трендового цикла Шаффа для rsi (вверху) и обычного RSI (внизу), оба используют период rsi 25

 

Цикл тренда Шаффа ма 2

Вот еще один (для более красочных выходных).

Это обновленный цикл тренда Шаффа скользящей средней, но с цветами на изменениях наклона, так что гораздо легче заметить изменения направления наклона.

Файлы:
 

Tomcat98

Спасибо, что поделились кодом

wwwassa:
mladen

Спасибо, что поделились этим индикатором, но у меня в голове было другое, может Вы можете сделать трендовый цикл по одной МА (обычная МА от цены чар) или по центральной линии....;].

Привет wwwassa,

Просто посмотрите на этот пост

https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here

и вы сможете построить индикаторы, которые вам нужны.

Вот индикатор, опять же, родной код, так что вы сможете кодировать свои собственные индикаторы.

Желаю удачи.

//+------------------------------------------------------------------+

//| MULTI_INDIC_Nativ.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

#property indicator_separate_window

#property indicator_buffers 8

#property indicator_color1 LightSeaGreen

#property indicator_color2 Aqua

#property indicator_color3 PaleTurquoise

#property indicator_color4 Orange

#property indicator_color5 DarkOrange

#property indicator_color6 Red

#property indicator_color7 Crimson

#property indicator_color8 Magenta

#property indicator_level1 0

extern int TimeFrame =0;

extern int TimeFrame1 =0;

extern int CountBars =500;

extern int x_prd =0;

//---- буферы

double Multi_Indic[];

double Multi_Indic1[];

double Multi_Indic2[];

double Multi_Indic3[];

double Multi_Indic4[];

double Multi_Indic5[];

double Multi_Indic6[];

double Multi_Indic7[];

string short_name;

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init() {

//---- имя для DataWindow и метки подокна индикатора

short_name = "MULTI_INDIC_Nativ("+TimeFrame+")";

IndicatorShortName(short_name);

IndicatorBuffers(8);

SetIndexBuffer(0,Multi_Indic);

SetIndexStyle(0,DRAW_LINE,0,1);

SetIndexBuffer(1,Multi_Indic1);

SetIndexStyle(1,DRAW_LINE,0,1);

SetIndexBuffer(2,Multi_Indic2);

SetIndexStyle(2,DRAW_LINE,0,1);

SetIndexBuffer(3,Multi_Indic3);

SetIndexStyle(3,DRAW_LINE,0,1);

SetIndexBuffer(4,Multi_Indic4);

SetIndexStyle(4,DRAW_LINE,0,1);

SetIndexBuffer(5,Multi_Indic5);

SetIndexStyle(5,DRAW_LINE,0,1);

SetIndexBuffer(6,Multi_Indic6);

SetIndexStyle(6,DRAW_LINE,0,1);

SetIndexBuffer(7,Multi_Indic7);

SetIndexStyle(7,DRAW_LINE,0,1);

//----

return (0);

}

int deinit() {

return (0);

}

//+------------------------------------------------------------------+

//| Skid |

//+------------------------------------------------------------------+

int start()

{

if (CountBars>=Bars) CountBars=Bars;

SetIndexDrawBegin(0,Bars-CountBars);

SetIndexDrawBegin(1,Bars-CountBars);

SetIndexDrawBegin(2,Bars-CountBars);

SetIndexDrawBegin(3,Bars-CountBars);

SetIndexDrawBegin(4,Bars-CountBars);

SetIndexDrawBegin(5,Bars-CountBars);

SetIndexDrawBegin(6,Bars-CountBars);

SetIndexDrawBegin(7,Bars-CountBars);

int i, ii, iii, iiii,iiiiiii,iiiiiiii,iiiiiiii, iiiiiiii, counted_bars=IndicatorCounted();

double t_prd;

//----

if(Bars<=x_prd) return(0);

//---- начальный ноль

if(counted_bars<x_prd)

{

for(i=1;i<=x_prd;i++) Multi_Indic[CountBars-i]=0.0;

for(ii=1;ii<=x_prd;ii++) Multi_Indic1[CountBars-ii]=0.0;

for(iii=1;iii<=x_prd;iii++) Multi_Indic2[CountBars-iii]=0.0;

for(iiii=1;iiii<=x_prd;iiii++) Multi_Indic3[CountBars-iiiiii]=0.0;

for(iiiii=1;iiiii<=x_prd;iiiii++) Multi_Indic4[CountBars-iiiii]=0.0;

for(iiiiii=1;iiiiii<=x_prd;iiiiii++) Multi_Indic5[CountBars-iiiiii]=0.0;

for(iiiiiiii=1;iiiiii<=x_prd;iiiiii++) Multi_Indic6[CountBars-iiiiiii]=0.0;

for(iiiiiiii=1;iiiiii<=x_prd;iiiiiiii++) Multi_Indic7[CountBars-iiiiiiiiii]=0.0;

}

//----

i=CountBars-x_prd-1;

ii=CountBars-x_prd-1;

iii=CountBars-x_prd-1;

iiii=CountBars-x_prd-1;

iiiii=CountBars-x_prd-1;

iiiiii=CountBars-x_prd-1;

iiiiiiiii=CountBars-x_prd-1;

iiiiiiii=CountBars-x_prd-1;

t_prd=x_prd/2+1;

while(i>=0)

while(ii>=0)

while(iii>=0)

while(iiii>=0)

while(iiiii>=0)

while(iiiiii>=0)

while(iiiiiiii>=0)

while(iiiiiiii>=0)

{

Multi_Indic=((iCustom(NULL, 0, " " , 0 , i)));

Multi_Indic1=((iCustom(NULL, 0, " ", 0 , ii))) ;

Multi_Indic2=((iCustom(NULL, 0, " ", 0 , iii))) ;

Multi_Indic3=((iCustom(NULL, 0, " ", 0 , iiii))) ;

Multi_Indic4=((iCustom(NULL, 0, " ", 0 , iiiii))) ;

Multi_Indic5=((iCustom(NULL, 0, " ", 0 , iiiiii))) ;

Multi_Indic6=((iCustom(NULL, 0, " ", 0 , iiiiiii))) ;

Multi_Indic7=((iCustom(NULL, 0, " ", 0 , iiiiiiii))) ;

i--;

ii--;

iii--;

iiii--;

iiiii--;

iiiiii--;

iiiiiiiii--;

iiiiiiii--;

}

return(0);

}

//+------------------------------------------------------------------+

Tomcat98
 

mladen

Спасибо, что поделились индикатором, но у меня есть еще одна просьба о других ма, как линейная регрессия ма и другие ма...

Я вижу Mametod, но я не знаю, что стоит за этим, если вы можете объяснить этот параметр и можете ли вы добавить вместо ma центральную линию из вашего индикатора Os Gaussian support rezistance. Эта линия является хорошим подтверждением тренда и, возможно, может быть интересным индикатором трендового цикла.

С уважением,

mladen:
Вот еще один (для более красочных выходных). Это обновленный трендовый цикл Шаффа скользящей средней, но с цветами на изменениях наклона, так что гораздо легче заметить изменения направления наклона.
 

wwwassa

В зависимости от значения MaMethod среднее является :

0 - SMA (простое скользящее среднее)

1 - EMA(экспоненциальное скользящее среднее)

2 - SMMMA (сглаженное скользящее среднее)

3 - LWMA (линейное взвешенное скользящее среднее)

 

mladen

Вы можете сделать трендовый цикл Шаффа для этого индикатора?

os_gaussian_sr_rate_mtf.mq4

mladen:
wwwassa В зависимости от значения MaMethod среднее будет
:0 - SMA (простое скользящее среднее)

1 - EMA (экспоненциальное скользящее среднее)

2 - SMMMA - сглаженное скользящее среднее)

3 - LWMA (линейное взвешенное скользящее среднее)

Файлы:
 
wwwassa:
mladen

Спасибо, что поделились этим индикатором, но в моей голове было другое, может вы можете сделать трендовый цикл по одной МА (нормальная МА от цены) или по центральной линии из индикатора os gaussian support rezistance?

Я ищу что-то, что покажет мне более длинный тренд, а не что-то вроде даунхилла и дырок. Beateful look ssrc, но это ремонт, возможно индикатор с этого сайта может быть полезен для будущей модификации: Ранговая корреляция Спирмена - База кодов MQL4

С уважением,

wwwassa

Возможно, было бы полезно прочитать эту тему (теперь она доступна для чтения всем) https://www.mql5.com/en/forum/180028, когда речь идет о корреляциях, чтобы получить дополнительную информацию о том, что и как можно делать с корреляциями (не автокорреляциями, поскольку этот вариант - частный случай, а "настоящими" корреляциями).

 

Привет, Valeofx, не могли бы вы поделиться своим графиком mtf, поскольку ни один из других не показывает наклон красным и зеленым цветом.

ValeoFX:
Я просто хочу показать вам, ребята, насколько эффективен Schaff при использовании в различных TF.

Для этой иллюстрации я использовал график M1 и добавил Шафф, как отмечено в Aqua, от M1 до M30.

В своем последнем сообщении я расскажу о том, как на самом деле влияет его использование в том виде, в котором он показан здесь.

Графики работают 24/6, если не указано иное, поэтому то, что вы видите здесь, это то, что я видел сегодня утром и то, что произошло ночью (для меня, то есть).