Intradayking 2
Intradayking 2
// User inputs
showTomorrowCPR = input(title="Show tomorrow's CPR", type=input.bool, defval=true)
showHistoricalCPR = input(title="Show historical CPR", type=input.bool,
defval=false)
showR3S3 = input(title="Show R3 & S3", type=input.bool, defval=false)
showPDHL = input(title="Show previous day's High & Low", type=input.bool,
defval=false)
showPDC = input(title="Show previous day's Close", type=input.bool, defval=false)
// Defaults
// CPR Colors
cprColor = color.purple
rColor = color.red
sColor = color.green
cColor = color.black
//Fill Transparency
fTransp = 95
// Global Functions
// TODO : Update the list of Holiday here in format YYYY, MM, DD, 09, 15
// **09, 15 are session start hour & minutes
IsHoliday(_date) =>
iff(_date == timestamp(2020, 02, 21, 09, 15), true,
iff(_date == timestamp(2020, 03, 10, 09, 15), true,
iff(_date == timestamp(2020, 04, 02, 09, 15), true,
iff(_date == timestamp(2020, 04, 06, 09, 15), true,
iff(_date == timestamp(2020, 04, 10, 09, 15), true,
iff(_date == timestamp(2020, 04, 14, 09, 15), true,
iff(_date == timestamp(2020, 05, 01, 09, 15), true,
iff(_date == timestamp(2020, 05, 25, 09, 15), true,
iff(_date == timestamp(2020, 10, 02, 09, 15), true,
iff(_date == timestamp(2020, 11, 16, 09, 15), true,
iff(_date == timestamp(2020, 11, 30, 09, 15), true,
iff(_date == timestamp(2020, 12, 25, 09, 15), true,
false))))))))))))
for i = 1 to noOfHolidays
if IsHoliday(_dt)
_dt := SkipWeekend(_dt)
continue
else
break
_dt
tom_start = start
tom_end = end
// Get series
getSeries(e, timeFrame) => security(syminfo.tickerid, "D", e,
lookahead=barmerge.lookahead_on)
// Pivot Range
P = (H + L + C) / 3
TC = (H + L)/2
BC = (P - TC) + P
// Resistance Levels
R3 = H + 2*(P - L)
R2 = P + (H - L)
R1 = (P * 2) - L
// Support Levels
S1 = (P * 2) - H
S2 = P - (H - L)
S3 = L - 2*(H - P)
// Pivot Range
tP = (tH + tL + tC) / 3
tTC = (tH + tL)/2
tBC = (tP - tTC) + tP
// Resistance Levels
tR3 = tH + 2*(tP - tL)
tR2 = tP + (tH - tL)
tR1 = (tP * 2) - tL
// Support Levels
tS1 = (tP * 2) - tH
tS2 = tP - (tH - tL)
tS3 = tL - 2*(tH - tP)
//***********
// Costants
//***********
def_enable_ma_1 = true
def_enable_ma_2 = true
def_enable_ma_3 = true
def_enable_ma_4 = true
def_ema_1 = "EMA"
def_ema_2 = "SMA"
def_ema_3 = "SMA"
def_ema_4 = "SMA"
def_length_1 = 50
def_length_2 = 9
def_length_3 = 30
def_length_4 = 100
def_offset_1 = 0
def_offset_2 = 0
def_offset_3 = 0
def_offset_4 = 0
def_offset_alma_1 = 0.85
def_offset_alma_2 = 0.85
def_offset_alma_3 = 0.85
def_offset_alma_4 = 0.85
def_sigma_alma_1 = 6.0
def_sigma_alma_2 = 6.0
def_sigma_alma_3 = 6.0
def_sigma_alma_4 = 6.0
//***********
// Functions
//***********
// Calculate the TEMA (Triple Exponential Moving Average)
tema(src, length) =>
xEMA1 = ema(src,length)
xEMA2 = ema(xEMA1,length)
xEMA3 = ema(xEMA2,length)
3*xEMA1-3*xEMA2+xEMA3
//***********
// Change the optional parameters
//***********
enable_ma_1 = input(defval=def_enable_ma_1, type=input.bool, title="Enable 1st
MA?")
enable_ma_2 = input(defval=def_enable_ma_2, type=input.bool, title="Enable 2nd
MA?")
enable_ma_3 = input(defval=def_enable_ma_3, type=input.bool, title="Enable 3rd
MA?")
enable_ma_4 = input(defval=def_enable_ma_4, type=input.bool, title="Enable 4rd
MA?")
//***********
// Calculate the moving averages
//***********
moving_average_1 = security(syminfo.tickerid, "", iff(ema_1=="EMA",
ema(src_1,len_1), iff(ema_1=="SMA", sma(src_1,len_1), iff(ema_1=="VWMA",
vwma(src_1,len_1), iff(ema_1=="TEMA", tema(src_1,len_1),
alma(src_1,len_1,offset_alma_1,sigma_alma_1) )))))
moving_average_2 = security(syminfo.tickerid, "", iff(ema_2=="EMA",
ema(src_2,len_2), iff(ema_2=="SMA", sma(src_2,len_2), iff(ema_2=="VWMA",
vwma(src_2,len_2), iff(ema_2=="TEMA", tema(src_2,len_2),
alma(src_2,len_2,offset_alma_2,sigma_alma_2) )))))
moving_average_3 = security(syminfo.tickerid, "", iff(ema_3=="EMA",
ema(src_3,len_3), iff(ema_3=="SMA", sma(src_3,len_3), iff(ema_3=="VWMA",
vwma(src_3,len_3), iff(ema_3=="TEMA", tema(src_3,len_3),
alma(src_3,len_3,offset_alma_3,sigma_alma_3) )))))
moving_average_4 = security(syminfo.tickerid, "", iff(ema_4=="EMA",
ema(src_4,len_4), iff(ema_4=="SMA", sma(src_4,len_4), iff(ema_4=="VWMA",
vwma(src_4,len_4), iff(ema_4=="TEMA", tema(src_4,len_4),
alma(src_4,len_4,offset_alma_4,sigma_alma_4) )))))
//***********
// Show the moving averages
//***********
plot(enable_ma_1 ? moving_average_1 : na, color=color_ma_1, title="1st MA",
offset=offset_1)
plot(enable_ma_2 ? moving_average_2 : na, color=color_ma_2, title="2nd MA",
offset=offset_2)
plot(enable_ma_3 ? moving_average_3 : na, color=color_ma_3, title="3rd MA",
offset=offset_3)
plot(enable_ma_4 ? moving_average_4 : na, color=color_ma_4, title="4rd MA",
offset=offset_4)