Schaff trend cycle - page 14

 

mladen

Thanks for share this indicator but on my head it was different, mayby can You do schaff trend cycle of one MA (normal ma from the char price) or the center line....;]

Hi wwwassa,

Simply look at this post

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

and you will be able to build the indicators you need.

Here is the indic again, native code so that you will be able to code your own Indics.

Have a good WE.

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

//| 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;

//---- buffers

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;

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

//| Custom indicator initialization function |

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

int init() {

//---- name for DataWindow and indicator subwindow label

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,iiiii,iiiiii,iiiiiii, iiiiiiii, counted_bars=IndicatorCounted();

double t_prd;

//----

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

//---- initial zero

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-iiii]=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(iiiiiii=1;iiiiiii<=x_prd;iiiiiii++) Multi_Indic6[CountBars-iiiiiii]=0.0;

for(iiiiiiii=1;iiiiiiii<=x_prd;iiiiiiii++) Multi_Indic7[CountBars-iiiiiiii]=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;

iiiiiii=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(iiiiiii>=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--;

iiiiiii--;

iiiiiiii--;

}

return(0);

}

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

Tomcat98

 
wwwassa:
mladen

Thanks for share this indicator but on my head it was different, mayby can You do schaff trend cycle of one MA (normal ma from the char price) or the center line from indicator os gaussian support rezistance?

I am looking for sometching what show me longer trend, not something like a downhill and holes. Beateful look ssrc but it repair, maybe indicator from this site can be useful for the future modification: Spearman's Rank Correlation - MQL4 Code Base

Regards

wwwassa,

This would be a Schaff trend cycle of a singe MA.

As of Spearman rank correlation : it is a completely different math than Schaff trend cycle. Rosh did a good job on it so I recommend you use it since Spearman rank (auto) correlation is a good indicator

 

Schaff trend cycle of rsi

And this one too

This is an experiment of applying Schaff trend cycle to rsi the same coloring way. It seem to be doing a good job of enhancing rsi (apart of making it smoother) without adding any lag at all. Here is a comparison of the Schaff trend cycle of rsi (upper) and regular RSI (lower) both using rsi period 25

 

Schaff trend cycle of ma 2

Here is this one too (for a more colorful weekend).

It is an upgraded Schaff trend cycle of moving average but with colors on slope changes, so that it is much easier to spot slope direction changes.

 

Tomcat98

Thanks for share code

wwwassa:
mladen

Thanks for share this indicator but on my head it was different, mayby can You do schaff trend cycle of one MA (normal ma from the char price) or the center line....;]

Hi wwwassa,

Simply look at this post

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

and you will be able to build the indicators you need.

Here is the indic again, native code so that you will be able to code your own Indics.

Have a good WE.

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

//| 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;

//---- buffers

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;

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

//| Custom indicator initialization function |

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

int init() {

//---- name for DataWindow and indicator subwindow label

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,iiiii,iiiiii,iiiiiii, iiiiiiii, counted_bars=IndicatorCounted();

double t_prd;

//----

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

//---- initial zero

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-iiii]=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(iiiiiii=1;iiiiiii<=x_prd;iiiiiii++) Multi_Indic6[CountBars-iiiiiii]=0.0;

for(iiiiiiii=1;iiiiiiii<=x_prd;iiiiiiii++) Multi_Indic7[CountBars-iiiiiiii]=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;

iiiiiii=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(iiiiiii>=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--;

iiiiiii--;

iiiiiiii--;

}

return(0);

}

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

Tomcat98
 

mladen

Thanks for share indicator but I have one more request about the other Ma like a linear regresion ma and other ma..

I see Mametod but I do't now what is behind this if can You explain this parameter and can You add in place of ma center line from Your indicaor Os Gaussian support rezistance. This line is good confirmation of the trend and maby it can be a interesting indicator of trend cycle.

Regards

mladen:
Here is this one too (for a more colorful weekend). It is an upgraded Schaff trend cycle of moving average but with colors on slope changes, so that it is much easier to spot slope direction changes.
 

wwwassa

Depending on the MaMethod value the average is :

0 - SMA (simple moving average)

1 - EMA (exponential moving average)

2 - SMMMA - smoothed moving average)

3 - LWMA (linear weighted moving average)

 

mladen

can You do a Schaff Trend Cycle of this indicator ?

os_gaussian_sr_rate_mtf.mq4

mladen:
wwwassa Depending on the MaMethod value the average is :
0 - SMA (simple moving average)

1 - EMA (exponential moving average)

2 - SMMMA - smoothed moving average)

3 - LWMA (linear weighted moving average)

 
wwwassa:
mladen

Thanks for share this indicator but on my head it was different, mayby can You do schaff trend cycle of one MA (normal ma from the char price) or the center line from indicator os gaussian support rezistance?

I am looking for sometching what show me longer trend, not something like a downhill and holes. Beateful look ssrc but it repair, maybe indicator from this site can be useful for the future modification: Spearman's Rank Correlation - MQL4 Code Base

Regards

wwwassa

Maybe it would be good to read this thread (now that it is accessible for reading to everybody) https://www.mql5.com/en/forum/180028 when it comes to correlations for some more information what and how can it be done with correlations (not auto-correlations since that version is one special case, but the "real" correlations)

 

Hi Valeofx, do you mind sharing your mtf schaff as none of the others show the slope in red and green

ValeoFX:
I just want to show you guys how effective the Schaff is when used in different TFs.

For this illustration, I have used the M1-chart and added the Schaff as marked in Aqua from M1 to M30.

I will discuss in my last post what the actual affect is when using it as it is shown here.

The charts are running 24/6 unless otherwise stated, so what you see here is what I saw this morning and what happened during the night (for me, that is).
Reason: