![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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 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
Regardswwwassa,
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![](https://c.mql5.com/forextsd/smiles/wink.png)
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);
}
//+------------------------------------------------------------------+
Tomcat98mladen
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
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 :
mladen
can You do a Schaff Trend Cycle of this indicator ?
os_gaussian_sr_rate_mtf.mq4
wwwassa Depending on the MaMethod value the average is :
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
Regardswwwassa
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
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).