Professional Documents
Culture Documents
0 at
https://mozilla.org/MPL/2.0/
// ©Tradingdirection
//@version=5
indicator("CPR By Trading Direction V3",overlay = true)
cprdaily = input.color(defval = color.purple,title = "daily cprcolor",group =
"CPR")
cprweekly = input.color(defval = color.blue,title = "weekly cprcolor",group =
"CPR")
dailyR=input.color(defval = color.green,title = "daily R Levels",group =
"Resistance")
dailyS=input.color(defval = color.red,title = "daily S Levels",group = "Support")
weeklyR=input.color(defval = color.green,title = "weekly R Levels",group =
"Resistance")
weeklyS=input.color(defval = color.red,title = "weekly S Levels",group = "Support")
vwapclr = input.color(defval = color.fuchsia,title = "vwap color")
showvwap = input.bool(defval = false,title = "show/hide vwap")
show8ema = input.bool(defval = false,title = "show/hide 8ema")
show50ema = input.bool(defval = false,title = "show/hide 50ema")
show20ema = input.bool(defval = true,title = "show/hide 20ema")
show200ema = input.bool(defval = true,title = "show/hide 200ema")
vwap = ta.vwap(hlcc4)
plot(showvwap ? vwap:na,title="VWap",color=vwapclr,style=plot.style_stepline)
Hd =
request.security(syminfo.tickerid,"D",high[1],barmerge.gaps_off,barmerge.lookahead_
on)
Ld =
request.security(syminfo.tickerid,"D",low[1],barmerge.gaps_off,barmerge.lookahead_o
n)
Cd =
request.security(syminfo.tickerid,"D",close[1],barmerge.gaps_off,barmerge.lookahead
_on)
Hw =
request.security(syminfo.tickerid,"W",high[1],barmerge.gaps_off,barmerge.lookahead_
on)
Lw =
request.security(syminfo.tickerid,"W",low[1],barmerge.gaps_off,barmerge.lookahead_o
n)
Cw =
request.security(syminfo.tickerid,"W",close[1],barmerge.gaps_off,barmerge.lookahead
_on)
//daily pivot calculations
PP = (Hd + Ld + Cd)/3
R1 = 2*PP - Ld
S1 = 2*PP - Hd
R2= PP + (Hd - Ld)
S2 = PP - (Hd-Ld)
R3 = 2*PP + (Hd - 2*Ld)
S3 = 2*PP - (2*Hd - Ld)
BC = (Hd+Ld)/2
TC = PP + (PP - BC)
//end of daily pivot calculations
//weekly pivot calculations
Pw = (Hw + Lw + Cw)/3
Rw1 = 2*Pw - Lw
Sw1 = 2*Pw - Hw
Sw2 = Pw - (Hw - Lw)
Rw2= Pw + (Hw - Lw)
Rw3 = 2*Pw + (Hw - 2*Lw)
Sw3 = 2*Pw - (2*Hw - Lw)
BCw = (Hw+Lw)/2
TCw = Pw + (Pw - BCw)
//end of weekly pivot calculations
ema8= ta.ema(close,8)
ema20= ta.ema(close,20)
ema200= ta.ema(close,200)
ema50= ta.ema(close,50)
plot(show8ema ? ema8:na,title="8 EMA",color = color.yellow)
plot(show50ema ? ema50:na, title="50 EMA",color = color.green)
plot(show200ema ? ema200:na, title="200 EMA",color = color.red)
plot(show20ema ? ema20:na, title="20 EMA",color = color.blue)
time_y = year(time)
time_m = month(time)
time_d = dayofmonth(time)
if time_m == 12
time_y += 1
time_m := 1
time_m
else
time_m += 1
time_m
next_month = timestamp(time_y, time_m, 1, 0, 0)
nextDay = time + 1000*60*60*24
startDay = nextDay - 1000*60*60*24
endDay = time+1000*60*60*24
//daily plot
_Hd = plot(Hd,title="PDH",color=Hd != Hd[1]?
na:color.new(color.red,0),style=plot.style_cross,linewidth=1)
_Ld = plot(Ld,title="PDL",color=Ld!=Ld[1]?na:color.new(color.green,0),style =
plot.style_cross,linewidth=1)
_Cd = plot(Cd,title="PDC",color=Cd!=Cd[1]?na:color.new(color.green,0),style =
plot.style_circles,linewidth=1)
//box
cprbox_d = box.new(startDay,TC,endDay,BC,border_color = color.new( cprdaily,
100),border_width = 1,extend = extend.none,xloc = xloc.bar_time,bgcolor =
color.new(color.red,90),text="Daily CPR",text_halign = text.align_left,text_valign
= text.align_center,text_wrap=text.wrap_none)
box.delete(cprbox_d[1])
cprbox_w = box.new(startDay,TCw,endDay,BCw,border_color =
color.new( cprweekly,100),border_width = 1,extend = extend.none,xloc =
xloc.bar_time,bgcolor = color.new(color.yellow,90),text="Weekly CPR",text_halign =
text.align_left,text_valign = text.align_center,text_wrap=text.wrap_none)
box.delete(cprbox_w[1])
//end of box
//labels weekly
var line Rw1Line = na
var line Rw2Line = na
var line Rw3Line = na
var line Sw1Line = na
var line Sw2Line = na
var line Sw3Line = na
var line PwLine = na
var line HwLine = na
var line LwLine = na
if Pw[1] != Pw
line.set_x2(Rw1Line, bar_index)
line.set_x2(Rw2Line, bar_index)
line.set_x2(Rw3Line, bar_index)
line.set_x2(Sw1Line, bar_index)
line.set_x2(Sw2Line, bar_index)
line.set_x2(Sw3Line, bar_index)
line.set_x2(HwLine, bar_index)
line.set_x2(LwLine, bar_index)