LazyBear

Indicator: Schaff Trend Cycle (STC)

9454 22 591
Another new indicator for TV community :)

STC detects up and down trends long before the MACD . It does this by using the same exponential moving averages (EMAs), but adds a cycle component to factor instrument cycle trends. STC gives more accuracy and reliability than the MACD .

More info: http://www.investopedia.com/articles/forex/10/schaff-trend-cycle-indicator.asp

Feel free to "Make mine" this chart and use the indicator in your charts. Appreciate any feedback on how effective this is for your instrument (I have tested this only with BTC ).



For people trading BTC:
-------------------------------

Try 3/10 or 9/30 for MACD (fastLength/slowLength). They seem to catch the cycles better than the defaults. :)
Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear
// If you use modify / use this code, appreciate if you could drop me a note. 
// 
study(title="Schaff Trend Cycle [LazyBear]", shorttitle="STC_LB", overlay=true)
length=input(10)
fastLength=input(23)
slowLength=input(50)
macd(source, fastLength, slowLength) =>
    fastMA = ema(source, fastLength)
    slowMA = ema(source, slowLength)
    macd = fastMA - slowMA
    macd
    

stc(length, fastLength, slowLength) => 
    factor=input(0.5)  
    m = macd(close,fastLength,slowLength)     
    v1 = lowest(m, length)
    v2 = highest(m, length) - v1    
    f1 = (v2 > 0 ? ((m - v1) / v2) * 100 : nz(f1[1])) 
    pf = (na(pf[1]) ? f1 : pf[1] + (factor * (f1 - pf[1]))) 
    v3 = lowest(pf, length) 
    v4 = highest(pf, length) - v3     
    f2 = (v4 > 0 ? ((pf - v3) / v4) * 100 : nz(f2[1])) 
    pff = (na(pff[1]) ? f2 : pff[1] + (factor * (f2 - pff[1])))
    pff

plot(stc(length,fastLength,slowLength),color=red, title="Schaff_TC")
//
// Uncomment the lines below if you want the center region
//
// ul=plot(25)
// ll=plot(75) 
// fill(ul,ll,color=red)
 
Making it mine now. Will let you know how well it works for me! Thanks!
+3 Reply
snapshot


You can also use this indicator in its own pane (by unmerging down), as shown above.

If you do that, I suggest enabling the center region. Open the source code and uncomment these lines. Press Save and voila!

//
// ul=plot(25)
// ll=plot(75)
// fill(ul,ll,color=red)
//
+6 Reply
CoinEx LazyBear
It looks like there was a change to the way the code works.

This indicator gives an error:
line 33:3 mismatched input 'ul' expecting LEND
Reply
I just tried this code, it worked.

Did you make any changes?
+1 Reply
CoinEx LazyBear
I thought that might have been a possibility. So what I did is I took a fresh copy from above and inserted it a few minutes ago. The error appears when you uncomment the last few lines and prevents the indicator from functioning.

In other words, it is a carbon copy of the original.
Reply
uncomment last few lines?

Can you post the exact src code that is giving u this issue?
+1 Reply
CoinEx LazyBear
//
// @author LazyBear
// If you use modify / use this code, appreciate if you could drop me a note.
//
study(title="Schaff Trend Cycle ", shorttitle="STC_LB", overlay=true)
length=input(10)
fastLength=input(23)
slowLength=input(50)
macd(source, fastLength, slowLength) =>
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
macd


stc(length, fastLength, slowLength) =>
factor=input(0.5)
m = macd(close,fastLength,slowLength)
v1 = lowest(m, length)
v2 = highest(m, length) - v1
f1 = (v2 > 0 ? ((m - v1) / v2) * 100 : nz(f1))
pf = (na(pf) ? f1 : pf + (factor * (f1 - pf)))
v3 = lowest(pf, length)
v4 = highest(pf, length) - v3
f2 = (v4 > 0 ? ((pf - v3) / v4) * 100 : nz(f2))
pff = (na(pff) ? f2 : pff + (factor * (f2 - pff)))
pff

plot(stc(length,fastLength,slowLength),color=red, title="Schaff_TC")
//
// Uncomment the lines below if you want the center region
//
ul = plot(open)
ll = plot(75)
fill(uline, ll, color=red)

+1 Reply
CoinEx CoinEx
the last 3 lines seems to cause the problem.
Note: I changed the plot(25) to open but that was just a debugging effort. I forgot to revert it before copy and pasting the code.
Reply
CoinEx CoinEx
I figured out the problem. It seems that leaving a space at the beginning of line 33 causes the error.
Reply
great! :)
+1 Reply
I did this but it gives me error. Could you please post the script with the detached panel please? Many thanks.
Thanks LazyBear for this!!!
Reply
LazyBear PRO cristian.d
cristian, that was formatting issue CoinEx had. Try aligning the script properly in notepad before pasting it in the pine editor.
+1 Reply
cristian.d LazyBear
Thanks LazyB, the dettached one is awesome visual speaking
Reply
Interesting Indicator man! I like how responsive and accurate it is most times. Care to explain more of your math behind it?
+2 Reply
Thanks. The math is not mine. This was developed by Doug Schaff, CEO FX-Strategycom.

STC uses a fast Stochastics formula that includes the original %fastK and a smoothed variation of the %fastD. It runs this modified stochastic twice. Step1 runs it on MACD. Generated %fastD is the input for step2. Output of step2 (STC) is actually a %fastD of %fastD.

Smoothing constant ("factor"), MACD fastLength/slowLengths are all exposed for customization via the options page.
+6 Reply
For people trading BTC:
-------------------------------

Try 3/10 or 9/30 for MACD (fastLength/slowLength). They seem to catch the cycles better than the defaults. :)
+7 Reply
Awesome!

Appreciate your efforts.
+2 Reply
Thx.
+5 Reply
Thank you for sharing!
+2 Reply
yw.
+4 Reply
What settings would you advise for 1 minute chart scalping of ETF's?
Reply
i was evaluating chartIQ and going through the list of built-in studies they offer when i spotted STC, which i never heard off before. so then i go read up on how it's computed. quite elegant and interesting! then, since i am a big fan of BB with p = 17, i notice that the 2 together (STC with default param settings) give some quite nice signals. so now more testing is in order. thanks LB for implementing it.
Reply
United States
United Kingdom
India
España
France
Italia
Polska
Brasil
Россия
Türkiye
Indonesia
日本
한국
Home Stock Screener Forex Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Private Messages Chat Ideas Published Followers Following Priority Support Public Profile Profile Settings Account and Billing Sign Out