Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Created by ChrisMoody on October 23, 2014 by user request - platinumFX
- //Defaults to current timeframe Ability to change to different timeframe, or plot two RSI's on different timeframes.
- study(title="CM_Stochastic_MTF", shorttitle="CM_Stoch_MTF")
- len = input(14, minval=1, title="Length for Main Stochastic")
- smoothK = input(3, minval=1, title="SmoothK for Main Stochastic")
- smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
- upLine = input(92, minval=50, maxval=100, title="Upper Line Value?")
- lowLine = input(12, minval=8, maxval=50, title="Lower Line Value?")
- sml = input(true, title="Show Mid Line?")
- sbh = input(false, title="Show Back Ground Highlights When Stoch is Above/Below High/Low Lines?")
- sch = input(true, title="Show Back Ground Highlights When Stoch Cross - Strict Criteria - K Greater/LesThan High/Low Line - Crosses D ?")
- sl = input(true, title="Show 'B' and 'S' Letters When Stoch Crosses High/Low Line & D?")
- sac = input(false, title="Show Back Ground Highlights When Stoch Cross - Any Cross?")
- sacl = input(false, title="Show 'B' and 'S' Letters When Stoch Crosses - Any Cross?")
- useCurrentRes = input(true, title="Use Current Chart Resolution?")
- resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=resolution, defval="60")
- ssStoch = input(false, title="Show 2nd Stoch?")
- resCustom2 = input(title="Use 2nd Stoch? Check Box Above", type=resolution, defval="D")
- useCurrentRes2 = input(false, title="Use 2nd Stoch Plot On Samet Timeframe?")
- len2 = input(14, minval=1, title="2nd Stoch Length")
- smoothK2 = input(3, minval=1, title="SmoothK for 2nd Stoch")
- smoothD2 = input(3, minval=1, title="SmoothD for 2nd Stoch")
- //Resolutioon for MTF
- res = useCurrentRes ? period : resCustom
- res2 = useCurrentRes2 ? period : resCustom2
- //Stoch formula
- k = sma(stoch(close, high, low, len), smoothK)
- d = sma(k, smoothD)
- outK = security(tickerid, res, k)
- outD = security(tickerid, res, d)
- //Optional 2nd Stoch for additional plot
- k2 = sma(stoch(close, high, low, len2), smoothK2)
- d2 = sma(k2, smoothD2)
- outK2 = security(tickerid, res2, k2)
- outD2 = security(tickerid, res2, d2)
- //definitions for Cross
- aboveLine = outK > upLine ? 1 : 0
- belowLine = outK < lowLine ? 1 : 0
- crossUp = (outK[1] < outD[1] and outK[1] < lowLine[1]) and (outK > outD) ? 1 : 0
- crossDn = (outK[1] > outD[1] and outK[1] > upLine[1]) and (outK < outD) ? 1 : 0
- //Definition for Cross that doesn't have to be above or below High and Low line.
- crossUpAll = (outK[1] < outD[1] and outK > outD) ? 1 : 0
- crossDownAll = (outK[1] > outD[1] and outK < outD) ? 1 : 0
- //BackGroound Color Plots
- bgcolor(sbh and aboveLine ? red : na, transp=70)
- bgcolor(sbh and belowLine ? lime : na, transp=70)
- bgcolor(sch and crossUp ? lime : na, transp=40)
- bgcolor(sch and crossDn ? red : na, transp=40)
- //plots for Cross with no filter
- bgcolor(sac and crossUpAll ? lime : na, transp=40)
- bgcolor(sac and crossDownAll ? red : na, transp=40)
- //Plot main Stochastic
- plot(outK, title="Stoch K", style=line, linewidth=3, color=lime)
- plot(outD, title="Stoch D", style=line, linewidth=3, color=red)
- //Ability to plot 2nd Stoch
- plot(ssStoch and outK2 ? outK2 : na, title="2nd Stoch K - Different TimeFrame", style=line, linewidth=3, color=orange)
- plot(ssStoch and outD2 ? outD2 : na, title="2nd Stoch D - Different TimeFrame", style=line, linewidth=3, color=yellow)
- p1 = plot(upLine, title= "Upper Line", style=solid, linewidth=3, color=red)
- p2 = plot(lowLine, title= "Lower Line", style=solid, linewidth=3, color=lime)
- plot(sml and 50 ? 50 : na, title="Mid Line", style=linebr, linewidth=2, color=gray)
- plotchar(sl and crossUp ? crossUp : na, title="Buy Signal Strict Criteria", char='B', location=location.bottom, color=lime, transp=0, offset=0)
- plotchar(sl and crossDn ? crossDn : na, title="Sell Signal Strict Criteria", char='S', location=location.top, color=red, transp=0, offset=0)
- plotchar(sacl and crossUpAll ? crossUpAll : na, title="Buy Signal Any Cross Up", char='B', location=location.bottom, color=lime, transp=0, offset=0)
- plotchar(sacl and crossDownAll ? crossDownAll : na, title="Sell Signal Any Cross Down", char='S', location=location.top, color=red, transp=0, offset=0)
- fill(p1, p2, color=silver, transp=70)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement