def series = 1;
input show_label = yes;
input mode = {default AUTO, MANUAL};
def RTHopen = open(period = AggregationPeriod.DAY);
def CurrentYear = GetYear();
def CurrentMonth = GetMonth();
def CurrentDOM = GetDayOfMonth(GetYYYYMMDD());
def Day1DOW1 = GetDayOfWeek((CurrentYear * 10000) + (CurrentMonth * 100) + 1); # First DOM is this DOW
def FirstFridayDOM1 = if Day1DOW1 < 6
then 6 - Day1DOW1
else if Day1DOW1 == 6
then 7
else 6;
def SecondFridayDOM = FirstFridayDOM1 + 7;
def ThirdFridayDOM = FirstFridayDOM1 + 14;
def FourthFridayDOM = FirstFridayDOM1 + 21;
def RollDOM = FirstFridayDOM1 + 14; #changed to 21 to pick up all Fridays of the current month for weekly options
def ExpMonthA = if RollDOM > CurrentDOM #MK - expmonth1 changed to ExpmonthA
then CurrentMonth + series - 1
else CurrentMonth + series;
def ExpMonthB = if ExpMonthA > 12 #options month input -- #MK - expmonth2 changed to ExpmonthB
then ExpMonthA - 12
else ExpMonthA;
def ExpYear = if ExpMonthA > 12 #options year input
then CurrentYear + 1
else CurrentYear;
def Day1DOW = GetDayOfWeek(ExpYear * 10000 + ExpMonthB * 100 + 1); #first friday expiry calc
def FirstFridayDOM = if Day1DOW < 6
then 6 - Day1DOW
else if Day1DOW == 6
then 7
else 6;
#MK added easier input to fix date
input datefix = 0;
def ExpDOM = FirstFridayDOM + 13 + datefix;
def ExpMonth2 = ExpMonthB; #MK in case more date issues need to be fixed
#strike spacing inputs
input maxStrikeSpacing = 25;
input manualCenterStrike = 440;
input manualStrikeSpacing = 1.0;
#centerstrike
rec centerStrike = if (mode == mode.AUTO and !IsNaN(close)) then RoundDown(close / 10.0, 0) * 10.0 else if (mode == mode.MANUAL and !IsNaN(close)) then manualcenterstrike else centerStrike[1]; #MK - imported from prev code - plot now working
#strikeSpacing
def strikeSpacingC = fold i = 1 to maxStrikeSpacing with spacing = 0 do if !IsNaN( volume(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", centerStrike + (maxStrikeSpacing - i))))) then maxStrikeSpacing - i else spacing;
rec strikeSpacing = if (mode == mode.AUTO and !IsNaN(close)) then strikeSpacingC else if (mode == mode.MANUAL and !IsNaN(close)) then manualStrikeSpacing else strikeSpacing[1];
### bar vars ###
input displayOffset = 5; # Number of bars to right of current bar for display
input barWeight = 1;
rec barOffset = if !IsNaN(close) then strikeSpacing / 10.0 else barOffset[1];
rec extBar = if IsNaN(close[displayOffset]) then extBar[1] + 1 else 0; # Number of bars of right space minus 5
input barLength = 45;
#call/put colors
DefineGlobalColor("Calls", Color.GREEN);
DefineGlobalColor("Puts", Color.RED);
#current option expiry label
AddLabel(yes, Concat("Expiration: ", Concat(Concat(ExpYear - 2000,
if ExpMonth2 <= 9 then Concat("0", ExpMonth2)
else Concat("", ExpMonth2)),
if ExpDOM <= 9 then Concat("0", ExpDOM)
else Concat("", ExpDOM))), Color.WHITE);
AddLabel(yes, (Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM))))));
#options calculations **************
def c1_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike ))));
def c2_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing))));
def c3_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 2))));
def c4_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 3))));
def c5_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing))));
def c6_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 2))));
def c7_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 3))));
def c8_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 4))));
def c9_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 4))));
def c10_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 5))));
def c11_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 5))));
def c12_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 6))));
def c13_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 6))));
def c14_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 7))));
def c15_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 7))));
def c16_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 8))));
def c17_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 8))));
def c18_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike - strikeSpacing * 9))));
def c19_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("C", AsPrice(centerStrike + strikeSpacing * 9))));
#puts
def p1_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike))));
def p2_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing))));
def p3_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 2))));
def p4_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 3))));
def p5_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing))));
def p6_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 2))));
def p7_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 3))));
def p8_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 4))));
def p9_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 4))));
def p10_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 5))));
def p11_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 5))));
def p12_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 6))));
def p13_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 6))));
def p14_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 7))));
def p15_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 7))));
def p16_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 8))));
def p17_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 8))));
def p18_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike - strikeSpacing * 9))));
def p19_V_d = open_interest(Concat(Concat(".", Concat(GetSymbolPart(), Concat(Concat(ExpYear - 2000, if ExpMonth2 <= 9 then Concat("0", ExpMonth2) else Concat("", ExpMonth2)), if ExpDOM <= 9 then Concat("0", ExpDOM) else Concat("", ExpDOM)))), Concat("P", AsPrice(centerStrike + strikeSpacing * 9))));
def c1_V = if !IsNaN(c1_V_d) then c1_V_d else 0;
def c2_V = if !IsNaN(c2_V_d) then c2_V_d else 0;
def c3_V = if !IsNaN(c3_V_d) then c3_V_d else 0;
def c4_V = if !IsNaN(c4_V_d) then c4_V_d else 0;
def c5_V = if !IsNaN(c5_V_d) then c5_V_d else 0;
def c6_V = if !IsNaN(c6_V_d) then c6_V_d else 0;
def c7_V = if !IsNaN(c7_V_d) then c7_V_d else 0;
def c8_V = if !IsNaN(c8_V_d) then c8_V_d else 0;
def c9_V = if !IsNaN(c9_V_d) then c9_V_d else 0;
def c10_V = if !IsNaN(c10_V_d) then c10_V_d else 0;
def c11_V = if !IsNaN(c11_V_d) then c11_V_d else 0;
def c12_V = if !IsNaN(c12_V_d) then c12_V_d else 0;
def c13_V = if !IsNaN(c13_V_d) then c13_V_d else 0;
def c14_V = if !IsNaN(c14_V_d) then c14_V_d else 0;
def c15_V = if !IsNaN(c15_V_d) then c15_V_d else 0;
def c16_V = if !IsNaN(c16_V_d) then c16_V_d else 0;
def c17_V = if !IsNaN(c17_V_d) then c17_V_d else 0;
def c18_V = if !IsNaN(c18_V_d) then c18_V_d else 0;
def c19_V = if !IsNaN(c19_V_d) then c19_V_d else 0;
def p1_V = if !IsNaN(p1_V_d) then p1_V_d else 0;
def p2_V = if !IsNaN(p2_V_d) then p2_V_d else 0;
def p3_V = if !IsNaN(p3_V_d) then p3_V_d else 0;
def p4_V = if !IsNaN(p4_V_d) then p4_V_d else 0;
def p5_V = if !IsNaN(p5_V_d) then p5_V_d else 0;
def p6_V = if !IsNaN(p6_V_d) then p6_V_d else 0;
def p7_V = if !IsNaN(p7_V_d) then p7_V_d else 0;
def p8_V = if !IsNaN(p8_V_d) then p8_V_d else 0;
def p9_V = if !IsNaN(p9_V_d) then p9_V_d else 0;
def p10_V = if !IsNaN(p10_V_d) then p10_V_d else 0;
def p11_V = if !IsNaN(p11_V_d) then p11_V_d else 0;
def p12_V = if !IsNaN(p12_V_d) then p12_V_d else 0;
def p13_V = if !IsNaN(p13_V_d) then p13_V_d else 0;
def p14_V = if !IsNaN(p14_V_d) then p14_V_d else 0;
def p15_V = if !IsNaN(p15_V_d) then p15_V_d else 0;
def p16_V = if !IsNaN(p16_V_d) then p16_V_d else 0;
def p17_V = if !IsNaN(p17_V_d) then p17_V_d else 0;
def p18_V = if !IsNaN(p18_V_d) then p18_V_d else 0;
def p19_V = if !IsNaN(p19_V_d) then p19_V_d else 0;
def c1t = Max(Max(Max(Max(c1_V, c2_V), c3_V), c4_V), c5_V);
def c2t = Max(Max(Max(Max(Max(c6_V, c7_V), c8_V), c9_V), c10_V), c11_V);
def c3t = Max(Max(Max(Max(Max(c12_V, c13_V), c14_V), c15_V), c16_V), c17_V);
def c4t = Max(c18_V, c19_V);
def p1t = Max(Max(Max(Max(p1_V, p2_V), p3_V), p4_V), p5_V);
def p2t = Max(Max(Max(Max(Max(p6_V, p7_V), p8_V), p9_V), p10_V), p11_V);
def p3t = Max(Max(Max(Max(Max(p12_V, p13_V), p14_V), p15_V), p16_V), p17_V);
def p4t = Max(p18_V, p19_V);
def c_V_max = Max(Max(Max(c1t, c2t), c3t), c4t);
def p_V_max = Max(Max(Max(p1t, p2t), p3t), p4t);
def OI_max = Max(c_V_max, p_V_max);
def cVT = c1_V + c2_V + c3_V + c4_V + c5_V + c6_V + c7_V + c8_V + c9_V + c10_V + c11_V + c12_V + c13_V + c14_V + c15_V + c16_V + c17_V + c18_V + c19_V;
def pVT = p1_V + p2_V + p3_V + p4_V + p5_V + p6_V + p7_V + p8_V + p9_V + p10_V + p11_V + p12_V + p13_V + p14_V + p15_V + p16_V + p17_V + p18_V + p19_V;
AddLabel(yes, Concat("Call OI: ", cVT), GlobalColor("Calls"));
AddLabel(yes, Concat("Put OI: ", pVT), GlobalColor("Puts"));
#strike spacing
def strikespac = if mode == mode.AUTO then strikeSpacing else 1; #MK - auto pricerange option
AddLabel(show_label, Concat("Strike Spacing: ", strikespac), Color.WHITE);
rec c1_D = if IsNaN(close) then c1_D[1] else Ceil((c1_V / OI_max) * barLength);
plot C1 = if c1_D >= extBar and extBar != 0 then centerStrike + barOffset else Double.NaN;
C1.SetDefaultColor(GlobalColor("Calls") );
C1.SetLineWeight(barWeight);
rec c2_D = if IsNaN(close) then c2_D[1] else Ceil((c2_V / OI_max) * barLength);
plot C2 = if c2_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac else Double.NaN;
C2.SetDefaultColor(GlobalColor("Calls"));
C2.SetLineWeight(barWeight);
rec c3_D = if IsNaN(close) then c3_D[1] else Ceil((c3_V / OI_max) * barLength);
plot C3 = if c3_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 2 else Double.NaN;
C3.SetDefaultColor(GlobalColor("Calls"));
C3.SetLineWeight(barWeight);
rec c4_D = if IsNaN(close) then c4_D[1] else Ceil((c4_V / OI_max) * barLength);
plot C4 = if c4_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 3 else Double.NaN;
C4.SetDefaultColor(GlobalColor("Calls"));
C4.SetLineWeight(barWeight);
rec c5_D = if IsNaN(close) then c5_D[1] else Ceil((c5_V / OI_max) * barLength);
plot C5 = if c5_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac else Double.NaN;
C5.SetDefaultColor(GlobalColor("Calls"));
C5.SetLineWeight(barWeight);
rec c6_D = if IsNaN(close) then c6_D[1] else Ceil((c6_V / OI_max) * barLength);
plot C6 = if c6_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 2 else Double.NaN;
C6.SetDefaultColor(GlobalColor("Calls"));
C6.SetLineWeight(barWeight);
rec c7_D = if IsNaN(close) then c7_D[1] else Ceil((c7_V / OI_max) * barLength);
plot C7 = if c7_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 3 else Double.NaN;
C7.SetDefaultColor(GlobalColor("Calls"));
C7.SetLineWeight(barWeight);
rec c8_D = if IsNaN(close) then c8_D[1] else Ceil((c8_V / OI_max) * barLength);
plot C8 = if c8_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 4 else Double.NaN;
C8.SetDefaultColor(GlobalColor("Calls"));
C8.SetLineWeight(barWeight);
rec c9_D = if IsNaN(close) then c9_D[1] else Ceil((c9_V / OI_max) * barLength);
plot C9 = if c9_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 4 else Double.NaN;
C9.SetDefaultColor(GlobalColor("Calls"));
C9.SetLineWeight(barWeight);
rec c10_D = if IsNaN(close) then c10_D[1] else Ceil((c10_V / OI_max) * barLength);
plot C10 = if c10_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 5 else Double.NaN;
C10.SetDefaultColor(GlobalColor("Calls"));
C10.SetLineWeight(barWeight);
rec c11_D = if IsNaN(close) then c11_D[1] else Ceil((c11_V / OI_max) * barLength);
plot C11 = if c11_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 5 else Double.NaN;
C11.SetDefaultColor(GlobalColor("Calls"));
C11.SetLineWeight(barWeight);
rec c12_D = if IsNaN(close) then c12_D[1] else Ceil((c12_V / OI_max) * barLength);
plot C12 = if c12_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 6 else Double.NaN;
C12.SetDefaultColor(GlobalColor("Calls"));
C12.SetLineWeight(barWeight);
rec c13_D = if IsNaN(close) then c13_D[1] else Ceil((c13_V / OI_max) * barLength);
plot C13 = if c13_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 6 else Double.NaN;
C13.SetDefaultColor(GlobalColor("Calls"));
C13.SetLineWeight(barWeight);
rec c14_D = if IsNaN(close) then c14_D[1] else Ceil((c14_V / OI_max) * barLength);
plot C14 = if c14_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 7 else Double.NaN;
C14.SetDefaultColor(GlobalColor("Calls"));
C14.SetLineWeight(barWeight);
rec c15_D = if IsNaN(close) then c15_D[1] else Ceil((c15_V / OI_max) * barLength);
plot C15 = if c15_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 7 else Double.NaN;
C15.SetDefaultColor(GlobalColor("Calls"));
C15.SetLineWeight(barWeight);
rec c16_D = if IsNaN(close) then c16_D[1] else Ceil((c16_V / OI_max) * barLength);
plot C16 = if c16_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 8 else Double.NaN;
C16.SetDefaultColor(GlobalColor("Calls"));
C16.SetLineWeight(barWeight);
rec c17_D = if IsNaN(close) then c17_D[1] else Ceil((c17_V / OI_max) * barLength);
plot C17 = if c17_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 8 else Double.NaN;
C17.SetDefaultColor(GlobalColor("Calls"));
C17.SetLineWeight(barWeight);
rec c18_D = if IsNaN(close) then c18_D[1] else Ceil((c18_V / OI_max) * barLength);
plot C18 = if c18_D >= extBar and extBar != 0 then centerStrike + barOffset - strikespac * 9 else Double.NaN;
C18.SetDefaultColor(GlobalColor("Calls"));
C18.SetLineWeight(barWeight);
rec c19_D = if IsNaN(close) then c19_D[1] else Ceil((c19_V / OI_max) * barLength);
plot C19 = if c19_D >= extBar and extBar != 0 then centerStrike + barOffset + strikespac * 9 else Double.NaN;
C19.SetDefaultColor(GlobalColor("Calls"));
C19.SetLineWeight(barWeight);
rec p1_D = if IsNaN(close) then p1_D[1] else Ceil((p1_V / OI_max) * barLength);
plot P1 = if p1_D >= extBar and extBar != 0 then centerStrike - barOffset else Double.NaN;
P1.SetDefaultColor(GlobalColor("Puts") );
P1.SetLineWeight(barWeight);
rec p2_D = if IsNaN(close) then p2_D[1] else Ceil((p2_V / OI_max) * barLength);
plot P2 = if p2_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac else Double.NaN;
P2.SetDefaultColor(GlobalColor("Puts"));
P2.SetLineWeight(barWeight);
rec p3_D = if IsNaN(close) then p3_D[1] else Ceil((p3_V / OI_max) * barLength);
plot P3 = if p3_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 2 else Double.NaN;
P3.SetDefaultColor(GlobalColor("Puts"));
P3.SetLineWeight(barWeight);
rec p4_D = if IsNaN(close) then p4_D[1] else Ceil((p4_V / OI_max) * barLength);
plot P4 = if p4_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 3 else Double.NaN;
P4.SetDefaultColor(GlobalColor("Puts"));
P4.SetLineWeight(barWeight);
rec p5_D = if IsNaN(close) then p5_D[1] else Ceil((p5_V / OI_max) * barLength);
plot P5 = if p5_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac else Double.NaN;
P5.SetDefaultColor(GlobalColor("Puts"));
P5.SetLineWeight(barWeight);
rec p6_D = if IsNaN(close) then p6_D[1] else Ceil((p6_V / OI_max) * barLength);
plot P6 = if p6_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 2 else Double.NaN;
P6.SetDefaultColor(GlobalColor("Puts"));
P6.SetLineWeight(barWeight);
rec p7_D = if IsNaN(close) then p7_D[1] else Ceil((p7_V / OI_max) * barLength);
plot P7 = if p7_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 3 else Double.NaN;
P7.SetDefaultColor(GlobalColor("Puts"));
P7.SetLineWeight(barWeight);
rec p8_D = if IsNaN(close) then p8_D[1] else Ceil((p8_V / OI_max) * barLength);
plot P8 = if p8_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 4 else Double.NaN;
P8.SetDefaultColor(GlobalColor("Puts"));
P8.SetLineWeight(barWeight);
rec p9_D = if IsNaN(close) then p9_D[1] else Ceil((p9_V / OI_max) * barLength);
plot P9 = if p9_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 4 else Double.NaN;
P9.SetDefaultColor(GlobalColor("Puts"));
P9.SetLineWeight(barWeight);
rec p10_D = if IsNaN(close) then p10_D[1] else Ceil((p10_V / OI_max) * barLength);
plot P10 = if p10_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 5 else Double.NaN;
P10.SetDefaultColor(GlobalColor("Puts"));
P10.SetLineWeight(barWeight);
rec p11_D = if IsNaN(close) then p11_D[1] else Ceil((p11_V / OI_max) * barLength);
plot P11 = if p11_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 5 else Double.NaN;
P11.SetDefaultColor(GlobalColor("Puts"));
P11.SetLineWeight(barWeight);
rec p12_D = if IsNaN(close) then p12_D[1] else Ceil((p12_V / OI_max) * barLength);
plot P12 = if p12_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 6 else Double.NaN;
P12.SetDefaultColor(GlobalColor("Puts"));
P12.SetLineWeight(barWeight);
rec p13_D = if IsNaN(close) then p13_D[1] else Ceil((p13_V / OI_max) * barLength);
plot P13 = if p13_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 6 else Double.NaN;
P13.SetDefaultColor(GlobalColor("Puts"));
P13.SetLineWeight(barWeight);
rec p14_D = if IsNaN(close) then p14_D[1] else Ceil((p14_V / OI_max) * barLength);
plot P14 = if p14_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 7 else Double.NaN;
P14.SetDefaultColor(GlobalColor("Puts"));
P14.SetLineWeight(barWeight);
rec p15_D = if IsNaN(close) then p15_D[1] else Ceil((p15_V / OI_max) * barLength);
plot P15 = if p15_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 7 else Double.NaN;
P15.SetDefaultColor(GlobalColor("Puts"));
P15.SetLineWeight(barWeight);
rec p16_D = if IsNaN(close) then p16_D[1] else Ceil((p16_V / OI_max) * barLength);
plot P16 = if p16_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 8 else Double.NaN;
P16.SetDefaultColor(GlobalColor("Puts"));
P16.SetLineWeight(barWeight);
rec p17_D = if IsNaN(close) then p17_D[1] else Ceil((p17_V / OI_max) * barLength);
plot P17 = if p17_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 8 else Double.NaN;
P17.SetDefaultColor(GlobalColor("Puts"));
P17.SetLineWeight(barWeight);
rec p18_D = if IsNaN(close) then p18_D[1] else Ceil((p18_V / OI_max) * barLength);
plot P18 = if p18_D >= extBar and extBar != 0 then centerStrike - barOffset - strikespac * 9 else Double.NaN;
P18.SetDefaultColor(GlobalColor("Puts"));
P18.SetLineWeight(barWeight);
rec p19_D = if IsNaN(close) then p19_D[1] else Ceil((p19_V / OI_max) * barLength);
plot P19 = if p19_D >= extBar and extBar != 0 then centerStrike - barOffset + strikespac * 9 else Double.NaN;
P19.SetDefaultColor(GlobalColor("Puts"));
P19.SetLineWeight(barWeight);
C1.SetPaintingStrategy(PaintingStrategy.DASHES);
C2.SetPaintingStrategy(PaintingStrategy.DASHES);
C3.SetPaintingStrategy(PaintingStrategy.DASHES);
C4.SetPaintingStrategy(PaintingStrategy.DASHES);
C5.SetPaintingStrategy(PaintingStrategy.DASHES);
C6.SetPaintingStrategy(PaintingStrategy.DASHES);
C7.SetPaintingStrategy(PaintingStrategy.DASHES);
C8.SetPaintingStrategy(PaintingStrategy.DASHES);
C9.SetPaintingStrategy(PaintingStrategy.DASHES);
C10.SetPaintingStrategy(PaintingStrategy.DASHES);
C11.SetPaintingStrategy(PaintingStrategy.DASHES);
C12.SetPaintingStrategy(PaintingStrategy.DASHES);
C13.SetPaintingStrategy(PaintingStrategy.DASHES);
C14.SetPaintingStrategy(PaintingStrategy.DASHES);
C15.SetPaintingStrategy(PaintingStrategy.DASHES);
C16.SetPaintingStrategy(PaintingStrategy.DASHES);
C17.SetPaintingStrategy(PaintingStrategy.DASHES);
C18.SetPaintingStrategy(PaintingStrategy.DASHES);
C19.SetPaintingStrategy(PaintingStrategy.DASHES);
P1.SetPaintingStrategy(PaintingStrategy.DASHES);
P2.SetPaintingStrategy(PaintingStrategy.DASHES);
P3.SetPaintingStrategy(PaintingStrategy.DASHES);
P4.SetPaintingStrategy(PaintingStrategy.DASHES);
P5.SetPaintingStrategy(PaintingStrategy.DASHES);
P6.SetPaintingStrategy(PaintingStrategy.DASHES);
P7.SetPaintingStrategy(PaintingStrategy.DASHES);
P8.SetPaintingStrategy(PaintingStrategy.DASHES);
P9.SetPaintingStrategy(PaintingStrategy.DASHES);
P10.SetPaintingStrategy(PaintingStrategy.DASHES);
P11.SetPaintingStrategy(PaintingStrategy.DASHES);
P12.SetPaintingStrategy(PaintingStrategy.DASHES);
P13.SetPaintingStrategy(PaintingStrategy.DASHES);
P14.SetPaintingStrategy(PaintingStrategy.DASHES);
P15.SetPaintingStrategy(PaintingStrategy.DASHES);
P16.SetPaintingStrategy(PaintingStrategy.DASHES);
P17.SetPaintingStrategy(PaintingStrategy.DASHES);
P18.SetPaintingStrategy(PaintingStrategy.DASHES);
P19.SetPaintingStrategy(PaintingStrategy.DASHES);
rec c1_V_e = if IsNaN(close) and !IsNaN(close[1]) then c1_V[1] else c1_V_e[1];
rec c2_V_e = if IsNaN(close) and !IsNaN(close[1]) then c2_V[1] else c2_V_e[1];
rec c3_V_e = if IsNaN(close) and !IsNaN(close[1]) then c3_V[1] else c3_V_e[1];
rec c4_V_e = if IsNaN(close) and !IsNaN(close[1]) then c4_V[1] else c4_V_e[1];
rec c5_V_e = if IsNaN(close) and !IsNaN(close[1]) then c5_V[1] else c5_V_e[1];
rec c6_V_e = if IsNaN(close) and !IsNaN(close[1]) then c6_V[1] else c6_V_e[1];
rec c7_V_e = if IsNaN(close) and !IsNaN(close[1]) then c7_V[1] else c7_V_e[1];
rec c8_V_e = if IsNaN(close) and !IsNaN(close[1]) then c8_V[1] else c8_V_e[1];
rec c9_V_e = if IsNaN(close) and !IsNaN(close[1]) then c9_V[1] else c9_V_e[1];
rec c10_V_e = if IsNaN(close) and !IsNaN(close[1]) then c10_V[1] else c10_V_e[1];
rec c11_V_e = if IsNaN(close) and !IsNaN(close[1]) then c11_V[1] else c11_V_e[1];
rec c12_V_e = if IsNaN(close) and !IsNaN(close[1]) then c12_V[1] else c12_V_e[1];
rec c13_V_e = if IsNaN(close) and !IsNaN(close[1]) then c13_V[1] else c13_V_e[1];
rec c14_V_e = if IsNaN(close) and !IsNaN(close[1]) then c14_V[1] else c14_V_e[1];
rec c15_V_e = if IsNaN(close) and !IsNaN(close[1]) then c15_V[1] else c15_V_e[1];
rec c16_V_e = if IsNaN(close) and !IsNaN(close[1]) then c16_V[1] else c16_V_e[1];
rec c17_V_e = if IsNaN(close) and !IsNaN(close[1]) then c17_V[1] else c17_V_e[1];
rec c18_V_e = if IsNaN(close) and !IsNaN(close[1]) then c18_V[1] else c18_V_e[1];
rec c19_V_e = if IsNaN(close) and !IsNaN(close[1]) then c19_V[1] else c19_V_e[1];
rec p1_V_e = if IsNaN(close) and !IsNaN(close[1]) then p1_V[1] else p1_V_e[1];
rec p2_V_e = if IsNaN(close) and !IsNaN(close[1]) then p2_V[1] else p2_V_e[1];
rec p3_V_e = if IsNaN(close) and !IsNaN(close[1]) then p3_V[1] else p3_V_e[1];
rec p4_V_e = if IsNaN(close) and !IsNaN(close[1]) then p4_V[1] else p4_V_e[1];
rec p5_V_e = if IsNaN(close) and !IsNaN(close[1]) then p5_V[1] else p5_V_e[1];
rec p6_V_e = if IsNaN(close) and !IsNaN(close[1]) then p6_V[1] else p6_V_e[1];
rec p7_V_e = if IsNaN(close) and !IsNaN(close[1]) then p7_V[1] else p7_V_e[1];
rec p8_V_e = if IsNaN(close) and !IsNaN(close[1]) then p8_V[1] else p8_V_e[1];
rec p9_V_e = if IsNaN(close) and !IsNaN(close[1]) then p9_V[1] else p9_V_e[1];
rec p10_V_e = if IsNaN(close) and !IsNaN(close[1]) then p10_V[1] else p10_V_e[1];
rec p11_V_e = if IsNaN(close) and !IsNaN(close[1]) then p11_V[1] else p11_V_e[1];
rec p12_V_e = if IsNaN(close) and !IsNaN(close[1]) then p12_V[1] else p12_V_e[1];
rec p13_V_e = if IsNaN(close) and !IsNaN(close[1]) then p13_V[1] else p13_V_e[1];
rec p14_V_e = if IsNaN(close) and !IsNaN(close[1]) then p14_V[1] else p14_V_e[1];
rec p15_V_e = if IsNaN(close) and !IsNaN(close[1]) then p15_V[1] else p15_V_e[1];
rec p16_V_e = if IsNaN(close) and !IsNaN(close[1]) then p16_V[1] else p16_V_e[1];
rec p17_V_e = if IsNaN(close) and !IsNaN(close[1]) then p17_V[1] else p17_V_e[1];
rec p18_V_e = if IsNaN(close) and !IsNaN(close[1]) then p18_V[1] else p18_V_e[1];
rec p19_V_e = if IsNaN(close) and !IsNaN(close[1]) then p19_V[1] else p19_V_e[1];
AddChartBubble(c1_D == extBar, C1, concat("", c1_V_e), globalColor("Calls"), yes );
AddChartBubble(c2_D == extBar, C2, concat("", c2_V_e), globalColor("Calls"), yes );
AddChartBubble(c3_D == extBar, C3, concat("", c3_V_e), globalColor("Calls"), yes );
AddChartBubble(c4_D == extBar, C4, concat("", c4_V_e), globalColor("Calls"), yes );
AddChartBubble(c5_D == extBar, C5, concat("", c5_V_e), globalColor("Calls"), yes );
AddChartBubble(c6_D == extBar, C6, concat("", c6_V_e), globalColor("Calls"), yes );
AddChartBubble(c7_D == extBar, C7, concat("", c7_V_e), globalColor("Calls"), yes );
AddChartBubble(c8_D == extBar, C8, concat("", c8_V_e), globalColor("Calls"), yes );
AddChartBubble(c9_D == extBar, C9, concat("", c9_V_e), globalColor("Calls"), yes );
AddChartBubble(c10_D == extBar, C10, concat("", c10_V_e), globalColor("Calls"), yes );
AddChartBubble(c11_D == extBar, C11, concat("", c11_V_e), globalColor("Calls"), yes );
AddChartBubble(c12_D == extBar, C12, concat("", c12_V_e), globalColor("Calls"), yes );
AddChartBubble(c13_D == extBar, C13, concat("", c13_V_e), globalColor("Calls"), yes );
AddChartBubble(c14_D == extBar, C14, concat("", c14_V_e), globalColor("Calls"), yes );
AddChartBubble(c15_D == extBar, C15, concat("", c15_V_e), globalColor("Calls"), yes );
AddChartBubble(c16_D == extBar, C16, concat("", c16_V_e), globalColor("Calls"), yes );
AddChartBubble(c17_D == extBar, C17, concat("", c17_V_e), globalColor("Calls"), yes );
AddChartBubble(c18_D == extBar, C18, concat("", c18_V_e), globalColor("Calls"), yes );
AddChartBubble(c19_D == extBar, C19, concat("", c19_V_e), globalColor("Calls"), yes );
AddChartBubble(p1_D == extBar, P1, concat("", p1_V_e), globalColor("Puts"), no );
AddChartBubble(p2_D == extBar, P2, concat("", p2_V_e), globalColor("Puts"), no );
AddChartBubble(p3_D == extBar, P3, concat("", p3_V_e), globalColor("Puts"), no );
AddChartBubble(p4_D == extBar, P4, concat("", p4_V_e), globalColor("Puts"), no );
AddChartBubble(p5_D == extBar, P5, concat("", p5_V_e), globalColor("Puts"), no );
AddChartBubble(p6_D == extBar, P6, concat("", p6_V_e), globalColor("Puts"), no );
AddChartBubble(p7_D == extBar, P7, concat("", p7_V_e), globalColor("Puts"), no );
AddChartBubble(p8_D == extBar, P8, concat("", p8_V_e), globalColor("Puts"), no );
AddChartBubble(p9_D == extBar, P9, concat("", p9_V_e), globalColor("Puts"), no );
AddChartBubble(p10_D == extBar, P10, concat("", p10_V_e), globalColor("Puts"), no );
AddChartBubble(p11_D == extBar, P11, concat("", p11_V_e), globalColor("Puts"), no );
AddChartBubble(p12_D == extBar, P12, concat("", p12_V_e), globalColor("Puts"), no );
AddChartBubble(p13_D == extBar, P13, concat("", p13_V_e), globalColor("Puts"), no );
AddChartBubble(p14_D == extBar, P14, concat("", p14_V_e), globalColor("Puts"), no );
AddChartBubble(p15_D == extBar, P15, concat("", p15_V_e), globalColor("Puts"), no );
AddChartBubble(p16_D == extBar, P16, concat("", p16_V_e), globalColor("Puts"), no );
AddChartBubble(p17_D == extBar, P17, concat("", p17_V_e), globalColor("Puts"), no );
AddChartBubble(p18_D == extBar, P18, concat("", p18_V_e), globalColor("Puts"), no );
AddChartBubble(p19_D == extBar, P19, concat("", p19_V_e), globalColor("Puts"), no );
C1.HideBubble();
C2.HideBubble();
C3.HideBubble();
C4.HideBubble();
C5.HideBubble();
C6.HideBubble();
C7.HideBubble();
C8.HideBubble();
C9.HideBubble();
C10.HideBubble();
C11.HideBubble();
C12.HideBubble();
C13.HideBubble();
C14.HideBubble();
C15.HideBubble();
C16.HideBubble();
C17.HideBubble();
C18.HideBubble();
C19.HideBubble();
P1.HideBubble();
P2.HideBubble();
P3.HideBubble();
P4.HideBubble();
P5.HideBubble();
P6.HideBubble();
P7.HideBubble();
P8.HideBubble();
P9.HideBubble();
P10.HideBubble();
P11.HideBubble();
P12.HideBubble();
P13.HideBubble();
P14.HideBubble();
P15.HideBubble();
P16.HideBubble();
P17.HideBubble();
P18.HideBubble();
P19.HideBubble();
C1.HideTitle();
C2.HideTitle();
C3.HideTitle();
C4.HideTitle();
C5.HideTitle();
C6.HideTitle();
C7.HideTitle();
C8.HideTitle();
C9.HideTitle();
C10.HideTitle();
C11.HideTitle();
C12.HideTitle();
C13.HideTitle();
C14.HideTitle();
C15.HideTitle();
C16.HideTitle();
C17.HideTitle();
C18.HideTitle();
C19.HideTitle();
P1.HideTitle();
P2.HideTitle();
P3.HideTitle();
P4.HideTitle();
P5.HideTitle();
P6.HideTitle();
P7.HideTitle();
P8.HideTitle();
P9.HideTitle();
P10.HideTitle();
P11.HideTitle();
P12.HideTitle();
P13.HideTitle();
P14.HideTitle();
P15.HideTitle();
P16.HideTitle();
P17.HideTitle();
P18.HideTitle();
P19.HideTitle();