Are you passionate about trading and interested in learning more about Pine Script? Look no further than the 'Pine Script collection' Telegram channel, managed by the username @pinescripter. This channel is a treasure trove of Pine Script codes, carefully curated for testing and educational purposes. It's an excellent resource for both beginners looking to dip their toes into the world of Pine Script and experienced traders seeking to enhance their technical analysis skills. However, it's essential to note that the creator of this channel does not claim ownership of these scripts. They have been gathered from various sources solely for educational and testing purposes. Users are advised to proceed with caution and use the scripts at their own risk. The channel owner emphasizes that they do not accept any responsibility for the use of the scripts shared. Whether you're looking to explore new trading strategies, analyze market trends, or simply deepen your understanding of Pine Script, this channel has something for everyone. Join the 'Pine Script collection' Telegram channel today and unlock a world of possibilities in the realm of trading and technical analysis.
19 Aug, 11:37
//@version=2
//Name: Price Action Channel Trading System v0.3 by JustUncleL
//Created By: JustUncleL on 3 Aug 2016
//Version: 0.3
//
study(title="Price Action Trading System v0.3 by JustUncleL",overlay = true, shorttitle="CCIPAT v0.3 by JustUncleL")
//
len = input(14, minval=1, title="CCI Length")
lenUpper = input(75, minval=1, title="CCI UpLevel")
lenLower = input(-75, maxval=-1, title="CCI DownLevel")
bars_on = input(true, title="Color CCI Bars")
src = input(close,title="CCI Source")
lenLo = input(5, minval=2, title="Low Channel Length")
lenHi = input(5, minval=2, title="High Channel Length")
lenMe = input(4, minval=1, title="Median Channel Length")
//
fastLength = input(12, minval=1,title="MACD Fast Length")
slowLength=input(17,minval=1,title="MACD Slow Length")
signalLength=input(8,minval=1,title="MACD Signal Length")
//
rsiLen = input(7,minval=2,title="RSI length")
rsiUpper= input(70,minval=50,maxval=100,title="RSI Upper limit")
rsiLower= input(30,maxval=50,minval=0,title="RSI Lower Limit")
//
filterM = input(true,title="Use MACD confilter filter")
filterR = input(true,title="Use RSI confirm filter")
filterE = input(true,title="Use Trend direction filter")
dCandles= input(4,minval=2,title="Direction test Candles")
//
rsiVal = rsi(src,rsiLen)
//
// Calculate MACD and color background
fastMC = ema(src, fastLength)
slowMC = ema(src, slowLength)
macd = fastMC - slowMC
signal = sma(macd, signalLength)
OutputSignal = signal > macd ? 1 : signal < macd ? -1 : 0
bgcolor(OutputSignal>0?red: OutputSignal<0?green:yellow, transp=90)
plot(slowMC,color=blue,transp=0,title="Slow EMA trend line", linewidth=2)
// Calculate and draw the Price Action channel
emaLo = ema(low,lenLo)
emaHi = ema(high,lenHi)
emaMe = ema(hl2,lenMe)
plot(emaLo,title="Low Price Line",style=line,color=gray,transp=0,linewidth=2)
plot(emaHi,title="High Price Line",style=line,color=gray,transp=0,linewidth=2)
plot(emaMe,title="Median Price Line",style=line,color=orange,transp=0,linewidth=2)
// Calculate CCI
cciVal = cci(src, len)
// Calculate CCI indicating continuance of trend.
isup = cciVal > lenUpper
isdown = cciVal < lenLower
barcolor(bars_on ? isup ? aqua : isdown ? black : na : na )
// Check have alert and use MACD filter
cciup_alert = isup and close>open and (not filterR or rsiVal>rsiUpper) and (not filterM or OutputSignal<0) and
(not filterE or (emaMe>slowMC and rising(slowMC,dCandles))) ? na(cciup_alert[1]) ? 1 : cciup_alert[1]+1 : 0
ccidn_alert = isdown and close<open and (not filterR or rsiVal<rsiLower) and (not filterM or OutputSignal>0) and
(not filterE or (emaMe<slowMC and falling(slowMC,dCandles))) ? na(ccidn_alert[1]) ? 1 : ccidn_alert[1]+1 : 0
//
plotshape(cciup_alert==1? cciup_alert : na, title="CCIPAT Up Arrow", style=shape.triangleup,location=location.belowbar, color=olive, transp=0, size=size.small)
plotshape(ccidn_alert==1? ccidn_alert : na, title="CCIPAT Down Arrow", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)
// generate an alert if required.
alertcondition(cciup_alert==1 or ccidn_alert==1, title="CCIPAT Alert", message="CCIPAT Alert")
//EOF
19 Aug, 11:36
19 Aug, 11:33
//@version=3
study(title="CM_Ultimate RSI MTF", shorttitle="CM_Ult_RSI_MTF", precision=0)
src = close
len = input(14, minval=1, title="Length")
upLine = input(70, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
sml = input(true, title="Show Mid Line?")
sbh = input(true, title="Show Back Ground Highlights When RSI is Above/Below High/Low Lines?")
sch = input(true, title="Show Back Ground Highlights When RSI Cross?")
sl = input(true, title="Show 'B' and 'S' Letters When RSI Crosses High/Low Line?")
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=resolution, defval="60")
ssRSI = input(false, title="Show 2nd RSI?")
resCustom2 = input(title="Use 2nd RSI? Check Box Above", type=resolution, defval="D")
useCurrentRes2 = input(false, title="Use 2nd RSI Plot On Samet Timeframe?")
len2 = input(14, minval=1, title="2nd RSI Length")
res = useCurrentRes ? period : resCustom
res2 = useCurrentRes2 ? period : resCustom2
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
outRSI = security(tickerid, res, rsi)
up2 = rma(max(change(src), 0), len2)
down2 = rma(-min(change(src), 0), len2)
rsi2 = down2 == 0 ? 100 : up2 == 0 ? 0 : 100 - (100 / (1 + up2 / down2))
outRSI2 = security(tickerid, res2, rsi2)
aboveLine = outRSI > upLine ? 1 : 0
belowLine = outRSI < lowLine ? 1 : 0
crossUp = outRSI[1] < lowLine and outRSI > lowLine ? 1 : 0
crossDn = outRSI[1] > upLine and outRSI < upLine ? 1 : 0
bgcolor(sbh and aboveLine ? red : na, transp=70)
bgcolor(sbh and belowLine ? green : na, transp=70)
bgcolor(sch and crossUp ? lime : na, transp=40)
bgcolor(sch and crossDn ? red : na, transp=40)
plot(outRSI, title="RSI", style=line, linewidth=3, color=aqua)
plot(ssRSI and outRSI2 ? outRSI2 : na, title="2nd RSI - Different Time Frame?", style=linebr, linewidth=4, color=orange)
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", char='B', location=location.bottom, color=lime, transp=0, offset=0)
plotchar(sl and crossDn ? crossDn : na, title="Sell Signal", char='S', location=location.top, color=red, transp=0, offset=0)
fill(p1, p2, color=silver, transp=70)
19 Aug, 11:21
//@version=3
study(title="daily high low close Levels", overlay=true)
timeFrame = input(defval="D", title="Interval:", options=["D", "240", "60"])
mydhigh = security(tickerid, timeFrame , high)
mydlow = security(tickerid, timeFrame, low)
mydclose = security(tickerid, timeFrame, close)
plot(mydhigh, color=#00ff00, linewidth=2)
plot(mydlow, color=#ff0000, linewidth=2)
plot(mydclose, color=#000000, linewidth=2)
06 Aug, 11:56
//@version=4
study(title="multiple moving average with period", shorttitle="MMAP", overlay=true)
showlastSR = input(title = "Show Only Last Period SR", defval = true)
inputTF=input("12M")
islastSR = showlastSR ? security(syminfo.tickerid, inputTF, barstate.islast, lookahead = true) : true
SMA_EMA = input(true, "sma/ema")
len = input(14, minval=1, title="Length")
src = input(close, title="Source")
out = sma(src, len)
outE = ema(src, len)
plot(islastSR ? (SMA_EMA ? out : outE):na, color=color.purple, title="plot 1", linewidth=1)
SMA_EMA1 = input(true, "sma/ema")
len1 = input(21, minval=1, title="Length")
src1 = input(close, title="Source")
out1 = sma(src1, len1)
outE1 = ema(src1, len1)
plot(islastSR ? (SMA_EMA1 ? out1 : outE1):na, color=color.olive, title="plot 2", linewidth=2)
SMA_EMA2 = input(true, "sma/ema")
len2 = input(35, minval=1, title="Length")
src2 = input(close, title="Source")
out2 = sma(src2, len2)
outE2 = ema(src2, len2)
plot(islastSR ? (SMA_EMA2 ? out2 : outE2):na, color=color.teal, title="plot 3", linewidth=2)
SMA_EMA3 = input(true, "sma/ema")
len3 = input(50, minval=1, title="Length")
src3 = input(close, title="Source")
out3 = sma(src3, len3)
outE3 = ema(src3, len3)
plot(islastSR ? (SMA_EMA3 ? out3 : outE3):na, color=color.yellow, title="MA Fast", linewidth=2)
SMA_EMA4 = input(true, "sma/ema")
len4 = input(100, minval=1, title="Length")
src4 = input(close, title="Source")
out4 = sma(src4, len4)
outE4 = ema(src4, len4)
plot(islastSR ? (SMA_EMA4 ? out4 : outE4):na, color=color.red, title="MA Medium", linewidth=3)
SMA_EMA5 = input(true, "sma/ema")
len5 = input(200, minval=1, title="Length")
src5 = input(close, title="Source")
out5 = sma(src5, len5)
outE5 = ema(src5, len5)
plot(islastSR ? (SMA_EMA5 ? out5 : outE5):na, color=color.blue, title="MA Slow", linewidth=3)
06 Aug, 11:51
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Montdouan-De-Sprimont
study("ADX and DI With Coloured Histogram BUY/SELL")
len = input(title="Length", type=integer, defval=14)
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)
ColorBuy=color(green,0)
ColorSell=color(red,0)
ColorDoNothing=color(yellow,60)
plot(DIPlus, color=green, title="DI+",linewidth=3,style=line)
plot(DIMinus, color=red, title="DI-",linewidth=3,style=line)
plot(ADX, color=(ADX>DIMinus and DIPlus>DIMinus and ADX > ADX[1]? ColorBuy : (ADX>DIPlus and DIMinus>DIPlus and ADX > ADX[1] ? ColorSell:ColorDoNothing)),title="ADX",style=columns)
06 Aug, 11:41
//@version=4
study("Leo_Amit ATM",overlay=true,max_bars_back=5000)
showEMA9 = input(title="Show EMA-9", type=input.bool, defval=false)
showEMA20 = input(title="Show EMA-20", type=input.bool, defval=true)
showSMA20 = input(title="Show SMA -20", type=input.bool, defval=false)
showSMA50 = input(title="Show SMA-50", type=input.bool, defval=true)
//Basic
candle90 = (max(open, close) - min(open, close)) / (high - low) >= 0.80
//plotchar(candle90, char = "", location = location.belowbar)
plotshape(candle90, style=shape.triangleup, location=location.belowbar)
length = input(20,group='Basic Settings'
,tooltip='Pivot length. Use higher values for having lines connected to more significant pivots')
lookback = input(10,minval=1,group='Basic Settings'
,tooltip='Number of lines connecting a pivot high/low to display')
Slope = input(0.,minval=-1,maxval=1,step=0.1,group='Basic Settings'
,tooltip='Allows to multiply the linear regression slope by a number within -1 and 1')
//Style
ph_col = input(#00E676,'Pivot High Lines Color',group='Line Colors')
pl_col = input(#ff1100,'Pivot Low Lines Color',group='Line Colors')
//──────────────────────────────────────────────────────────────────────────────
Sma(src,p) => a = cum(src), (a - a[max(p,0)])/max(p,0)
Variance(src,p) => p == 1 ? 0 : Sma(src*src,p) - pow(Sma(src,p),2)
Covariance(x,y,p) => Sma(x*y,p) - Sma(x,p)*Sma(y,p)
//──────────────────────────────────────────────────────────────────────────────
n = bar_index
ph = pivothigh(length,length)
pl = pivotlow(length,length)
//──────────────────────────────────────────────────────────────────────────────
varip ph_array = array.new_float(0)
varip pl_array = array.new_float(0)
varip ph_n_array = array.new_int(0)
varip pl_n_array = array.new_int(0)
if ph
array.insert(ph_array,0,ph)
array.insert(ph_n_array,0,n)
if pl
array.insert(pl_array,0,pl)
array.insert(pl_n_array,0,n)
//──────────────────────────────────────────────────────────────────────────────
val_ph = valuewhen(ph,n-length,lookback-1)
val_pl = valuewhen(pl,n-length,lookback-1)
val = min(val_ph,val_pl)
k = n - val > 0 ? n - val : 2
slope = Covariance(close,n,k)/Variance(n,k)*Slope
var line ph_l = na,var line pl_l = na
if barstate.islast
for i = 0 to lookback-1
ph_y2 = array.get(ph_array,i),ph_x1 = array.get(ph_n_array,i)-length
pl_y2 = array.get(pl_array,i),pl_x1 = array.get(pl_n_array,i)-length
ph_l := line.new(ph_x1,ph_y2,ph_x1+1,ph_y2+slope,extend=extend.right,color=ph_col)
pl_l := line.new(pl_x1,pl_y2,pl_x1+1,pl_y2+slope,extend=extend.right,color=pl_col)
EMA9_Len = input(9, minval=1, title="EMA9_Length")
EMA9_out = ema(close, EMA9_Len)
plot(showEMA9 ? EMA9_out:na, title="EMA9", color=color.yellow, offset=0)
EMA20_Len = input(20, minval=1, title="EMA20_Length")
EMA20_out = ema(close, EMA20_Len)
plot(showEMA20 ? EMA20_out:na, title="EMA20", color=color.lime, offset=0)
SMA20_Len = input(20, minval=1, title="SMA20_Length")
SMA20_out = sma(close, SMA20_Len)
plot(showSMA20 ? SMA20_out:na, title="SMA20", color=color.lime, offset=0)
SMA50_Len = input(50, minval=1, title="SMA50_Length")
SMA50_out = sma(close, SMA50_Len)
plot(showSMA50 ? SMA50_out:na, title="SMA50", color=color.red, offset=0)
06 Aug, 11:31
//@version=2
study(title = "Smoothed Heiken Ashi Candles", shorttitle="Smoothed Ha Candles", overlay=true)
len=input(10)
o=ema(open,len)
c=ema(close,len)
h=ema(high,len)
l=ema(low,len)
haclose = (o+h+l+c)/4
haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (h, max(haopen,haclose))
halow = min (l, min(haopen,haclose))
len2=input(10)
o2=ema(haopen, len2)
c2=ema(haclose, len2)
h2=ema(hahigh, len2)
l2=ema(halow, len2)
col=o2>c2 ? red : lime
plotcandle(o2, h2, l2, c2, title="heikin smoothed", color=col)