Thinkorswim
# Last Updated at 2023-12-06 08:41:02 EST
# License: Copyright 2020-2022 Edumomo LLC. All rights reserved.
# Permission is hereby granted to any person obtaining this software and associated documentation (the "Software") through authorized channels to use the software and modified for personal use only. The software may not be modified for any other purpose. The software may not be copied, shared, or redistributed without written authorization.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS, CONTRIBUTORS, OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# HOW TO SETUP https://youtu.be/NmrVME8LBBg
declare hide_on_daily;
declare once_per_bar;
def buffer = 0.001;
def iws;
input levels_width = 2;
DefineGlobalColor("Label_Color", CreateColor(25, 180, 243));
DefineGlobalColor("Level_Color", CreateColor(25, 180, 243));
AddVerticalLine(SecondsTillTime(0945) == 0, “First 15”, Color.GRAY, PaintingStrategy.horizontal);
AddVerticalLine(SecondsTillTime(1030) == 0, “First Hour”, Color.GRAY, PaintingStrategy.horizontal);
def na = double.nan;
def FirstHour = if SecondsFromTime (1030) == 0 && SecondsTillTime(1030) == 0
then if getSymbol() equals "SPX" then close
else if close < vwap then low else high
else if SecondsFromTime (1030) > 0 then FirstHour[1] else na;
plot first_hour_level = FirstHour;
first_hour_level.setDefaultColor(color.PINK);
plot previous_close = close(period = AggregationPeriod.DAY)[1];
previous_close.SetDefaultColor(GlobalColor("Level_Color"));
previous_close.setLineWeight(levels_width);
def level1;
def condition1;
def level2;
def condition2;
def level3;
def condition3;
def level4;
def condition4;
def level5;
def condition5;
def level6;
def condition6;
def level7;
def condition7;
def level8;
def condition8;
def level9;
def condition9;
def level10;
def condition10;
def level11;
def condition11;
def level12;
def condition12;
def level13;
def condition13;
def level14;
def condition14;
def level15;
def condition15;
if GetSymbol() equals "ADBE" {
iws=1;
level1 = 520;
level2 = 560;
level3 = 585;
level4 = 605;
level5 = 620;
level6 = 640;
level7 = 0;
level8 = 0;
level9 = 0;
level10 = 0;
level11 = 0;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "AMD" {
iws=1;
level1 = 100;
level2 = 105;
level3 = 106;
level4 = 109;
level5 = 113;
level6 = 115;
level7 = 118;
level8 = 120.30;
level9 = 121.30;
level10 = 123;
level11 = 124;
level12 = 125.50;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "AMZN" {
iws=1;
level1 = 142;
level2 = 144;
level3 = 144.50;
level4 = 145.30;
level5 = 145.80;
level6 = 146.30;
level7 = 147;
level8 = 147.80;
level9 = 0;
level10 = 0;
level11 = 0;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "COIN" {
iws=1;
level1 = 114.50;
level2 = 123;
level3 = 132;
level4 = 135;
level5 = 139.80;
level6 = 142.50;
level7 = 148.80;
level8 = 150.50;
level9 = 154.40;
level10 = 161.50;
level11 = 165;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "META" {
iws=1;
level1 = 298;
level2 = 308;
level3 = 313.60;
level4 = 317.80;
level5 = 321;
level6 = 324.80;
level7 = 328;
level8 = 331;
level9 = 335;
level10 = 0;
level11 = 0;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "MSFT" {
iws=1;
level1 = 359;
level2 = 364.50;
level3 = 369.14;
level4 = 371;
level5 = 375;
level6 = 378.50;
level7 = 383;
level8 = 385;
level9 = 0;
level10 = 0;
level11 = 0;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "NFLX" {
iws=1;
level1 = 430;
level2 = 442.50;
level3 = 447;
level4 = 457;
level5 = 461.50;
level6 = 468;
level7 = 0;
level8 = 0;
level9 = 0;
level10 = 0;
level11 = 0;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "NVDA" {
iws=1;
level1 = 424;
level2 = 433;
level3 = 440;
level4 = 447.30;
level5 = 456;
level6 = 462.50;
level7 = 465.66;
level8 = 467;
level9 = 473.50;
level10 = 475;
level11 = 481;
level12 = 487;
level13 = 491;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "QQQ" {
iws=1;
level1 = 375;
level2 = 382;
level3 = 384.50;
level4 = 387.40;
level5 = 389.17;
level6 = 391.30;
level7 = 393.50;
level8 = 396;
level9 = 400;
level10 = 0;
level11 = 0;
level12 = 0;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "SPX" {
iws=1;
level1 = 4480.00;
level2 = 4500.00;
level3 = 4530.00;
level4 = 4545.00;
level5 = 4552.00;
level6 = 4576.60;
level7 = 4582.00;
level8 = 4594.50;
level9 = 4602.00;
level10 = 4615.00;
level11 = 4623.00;
level12 = 4650.00;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "SPY" {
iws=1;
level1 = 447;
level2 = 449;
level3 = 452;
level4 = 453.50;
level5 = 454.20;
level6 = 456.66;
level7 = 457.20;
level8 = 458.45;
level9 = 459.20;
level10 = 460.50;
level11 = 461.30;
level12 = 464;
level13 = 0;
level14 = 0;
level15 = 0;
}
else
if GetSymbol() equals "TSLA" {
iws=1;
level1 = 220;
level2 = 224;
level3 = 229.80;
level4 = 232.50;
level5 = 235.50;
level6 = 238.80;
level7 = 240;
level8 = 242.50;
level9 = 246;
level10 = 253;
level11 = 256;
level12 = 259.80;
level13 = 267;
level14 = 269;
level15 = 275;
}
else {
iws=0;
level1=0;
level2=0;
level3=0;
level4=0;
level5=0;
level6=0;
level7=0;
level8=0;
level9=0;
level10=0;
level11=0;
level12=0;
level13=0;
level14=0;
level15=0;
}
plot pLevel1 = level1;
if pLevel1>0 {
condition1 = Crosses(close, (pLevel1+(buffer*pLevel1)),CrossingDirection.ANY) OR Crosses(close, (pLevel1-(buffer*pLevel1)),CrossingDirection.ANY);
} else {
condition1 =0;
}
pLevel1.SetStyle(Curve.SHORT_DASH);
pLevel1.SetDefaultColor(GlobalColor("Level_Color"));
pLevel1.setHiding(level1 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel1.SetLineWeight(levels_width);
plot pLevel2 = level2;
if pLevel2>0 {
condition2 = Crosses(close, (pLevel2+(buffer*pLevel2)),CrossingDirection.ANY) OR Crosses(close, (pLevel2-(buffer*pLevel2)),CrossingDirection.ANY);
} else {
condition2 =0;
}
pLevel2.SetStyle(Curve.SHORT_DASH);
pLevel2.SetDefaultColor(GlobalColor("Level_Color"));
pLevel2.setHiding(level2 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel2.SetLineWeight(levels_width);
plot pLevel3 = level3;
if pLevel3>0 {
condition3 = Crosses(close, (pLevel3+(buffer*pLevel3)),CrossingDirection.ANY) OR Crosses(close, (pLevel3-(buffer*pLevel3)),CrossingDirection.ANY);
} else {
condition3 =0;
}
pLevel3.SetStyle(Curve.SHORT_DASH);
pLevel3.SetDefaultColor(GlobalColor("Level_Color"));
pLevel3.setHiding(level3 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel3.SetLineWeight(levels_width);
plot pLevel4 = level4;
if pLevel4>0 {
condition4 = Crosses(close, (pLevel4+(buffer*pLevel4)),CrossingDirection.ANY) OR Crosses(close, (pLevel4-(buffer*pLevel4)),CrossingDirection.ANY);
} else {
condition4 =0;
}
pLevel4.SetStyle(Curve.SHORT_DASH);
pLevel4.SetDefaultColor(GlobalColor("Level_Color"));
pLevel4.setHiding(level4 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel4.SetLineWeight(levels_width);
plot pLevel5 = level5;
if pLevel5>0 {
condition5 = Crosses(close, (pLevel5+(buffer*pLevel5)),CrossingDirection.ANY) OR Crosses(close, (pLevel5-(buffer*pLevel5)),CrossingDirection.ANY);
} else {
condition5 =0;
}
pLevel5.SetStyle(Curve.SHORT_DASH);
pLevel5.SetDefaultColor(GlobalColor("Level_Color"));
pLevel5.setHiding(level5 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel5.SetLineWeight(levels_width);
plot pLevel6 = level6;
if pLevel6>0 {
condition6 = Crosses(close, (pLevel6+(buffer*pLevel6)),CrossingDirection.ANY) OR Crosses(close, (pLevel6-(buffer*pLevel6)),CrossingDirection.ANY);
} else {
condition6 =0;
}
pLevel6.SetStyle(Curve.SHORT_DASH);
pLevel6.SetDefaultColor(GlobalColor("Level_Color"));
pLevel6.setHiding(level6 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel6.SetLineWeight(levels_width);
plot pLevel7 = level7;
if pLevel7>0 {
condition7 = Crosses(close, (pLevel7+(buffer*pLevel7)),CrossingDirection.ANY) OR Crosses(close, (pLevel7-(buffer*pLevel7)),CrossingDirection.ANY);
} else {
condition7 =0;
}
pLevel7.SetStyle(Curve.SHORT_DASH);
pLevel7.SetDefaultColor(GlobalColor("Level_Color"));
pLevel7.setHiding(level7 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel7.SetLineWeight(levels_width);
plot pLevel8 = level8;
if pLevel8>0 {
condition8 = Crosses(close, (pLevel8+(buffer*pLevel8)),CrossingDirection.ANY) OR Crosses(close, (pLevel8-(buffer*pLevel8)),CrossingDirection.ANY);
} else {
condition8 =0;
}
pLevel8.SetStyle(Curve.SHORT_DASH);
pLevel8.SetDefaultColor(GlobalColor("Level_Color"));
pLevel8.setHiding(level8 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel8.SetLineWeight(levels_width);
plot pLevel9 = level9;
if pLevel9>0 {
condition9 = Crosses(close, (pLevel9+(buffer*pLevel9)),CrossingDirection.ANY) OR Crosses(close, (pLevel9-(buffer*pLevel9)),CrossingDirection.ANY);
} else {
condition9 =0;
}
pLevel9.SetStyle(Curve.SHORT_DASH);
pLevel9.SetDefaultColor(GlobalColor("Level_Color"));
pLevel9.setHiding(level9 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel9.SetLineWeight(levels_width);
plot pLevel10 = level10;
if pLevel10>0 {
condition10 = Crosses(close, (pLevel10+(buffer*pLevel10)),CrossingDirection.ANY) OR Crosses(close, (pLevel10-(buffer*pLevel10)),CrossingDirection.ANY);
} else {
condition10 =0;
}
pLevel10.SetStyle(Curve.SHORT_DASH);
pLevel10.SetDefaultColor(GlobalColor("Level_Color"));
pLevel10.setHiding(level10 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel10.SetLineWeight(levels_width);
plot pLevel11 = level11;
if pLevel11>0 {
condition11 = Crosses(close, (pLevel11+(buffer*pLevel11)),CrossingDirection.ANY) OR Crosses(close, (pLevel11-(buffer*pLevel11)),CrossingDirection.ANY);
} else {
condition11 =0;
}
pLevel11.SetStyle(Curve.SHORT_DASH);
pLevel11.SetDefaultColor(GlobalColor("Level_Color"));
pLevel11.setHiding(level11 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel11.SetLineWeight(levels_width);
plot pLevel12 = level12;
if pLevel12>0 {
condition12 = Crosses(close, (pLevel12+(buffer*pLevel12)),CrossingDirection.ANY) OR Crosses(close, (pLevel12-(buffer*pLevel12)),CrossingDirection.ANY);
} else {
condition12 =0;
}
pLevel12.SetStyle(Curve.SHORT_DASH);
pLevel12.SetDefaultColor(GlobalColor("Level_Color"));
pLevel12.setHiding(level12 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel12.SetLineWeight(levels_width);
plot pLevel13 = level13;
if pLevel13>0 {
condition13 = Crosses(close, (pLevel13+(buffer*pLevel13)),CrossingDirection.ANY) OR Crosses(close, (pLevel13-(buffer*pLevel13)),CrossingDirection.ANY);
} else {
condition13 =0;
}
pLevel13.SetStyle(Curve.SHORT_DASH);
pLevel13.SetDefaultColor(GlobalColor("Level_Color"));
pLevel13.setHiding(level13 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel13.SetLineWeight(levels_width);
plot pLevel14 = level14;
if pLevel14>0 {
condition14 = Crosses(close, (pLevel14+(buffer*pLevel14)),CrossingDirection.ANY) OR Crosses(close, (pLevel14-(buffer*pLevel14)),CrossingDirection.ANY);
} else {
condition14 =0;
}
pLevel14.SetStyle(Curve.SHORT_DASH);
pLevel14.SetDefaultColor(GlobalColor("Level_Color"));
pLevel14.setHiding(level14 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel14.SetLineWeight(levels_width);
plot pLevel15 = level15;
if pLevel15>0 {
condition15 = Crosses(close, (pLevel15+(buffer*pLevel15)),CrossingDirection.ANY) OR Crosses(close, (pLevel15-(buffer*pLevel15)),CrossingDirection.ANY);
} else {
condition15 =0;
}
pLevel15.SetStyle(Curve.SHORT_DASH);
pLevel15.SetDefaultColor(GlobalColor("Level_Color"));
pLevel15.setHiding(level15 equals 0 or getAggregationPeriod()>AggregationPeriod.WEEK);
pLevel15.SetLineWeight(levels_width);
plot watchlistSymbol = iws;
watchlistSymbol.setHiding(1);
plot breakout = if condition1 or condition2 or condition3 or condition4 or condition5 or condition6 or condition7 or condition8 or condition9 or condition10 or condition11 or condition12 or condition13 or condition14 or condition15 then 1 else 0;
breakout.setHiding(1);
AddLabel(GetSymbol() equals "ADBE"," next push over 620, want to take some profit on swing and then reload lower. Report next week", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "AMD"," watch for trend", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "AMZN"," watch for trend", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "COIN"," watch dips to add to long", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "META"," watch for trend", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "MSFT"," watch for trend", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "NFLX"," starting swing long on dips", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "NVDA"," ideally 465-467 dip to add long", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "QQQ"," watch for trend", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "SPX"," experimental/generated", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "SPY"," watch for trend.", GlobalColor("Label_Color"));
AddLabel(GetSymbol() equals "TSLA"," 974M in puts bought yesterday", GlobalColor("Label_Color"));
Alert(condition1 or condition2 or condition3 or condition4 or condition5 or condition6 or condition7 or condition8 or condition9 or condition10 or condition11 or condition12 or condition13 or condition14 or condition15 , GetSymbol() +" Key Level_Crossed!", Alert.ONCE,Sound.Ding);
TradingView
// Last Updated at 2023-12-06 08:41:02 EST
// License Copyright 2020-2022 Edumomo LLC. All rights reserved.
// Permission is hereby granted to any person obtaining this software and associated documentation (the "Software") through authorized channels to use the software and modified for personal use only. The software may not be modified for any other purpose. The software may not be copied, shared, or redistributed without written authorization.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS, CONTRIBUTORS, OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//@version=4
//TO Use: https://youtu.be/Nb2q1ihtcGY
study("Spectre Watchlist Levels", overlay=true, shorttitle="SpectreLVLS")
src = input(close)
// Constants colours that include fully non-transparent option.
gold = color.yellow
green = color.green
blue = color.blue
aqua = color.aqua
red = color.red
fuchsia = color.fuchsia
purple = color.purple
silver = color.silver
gray = color.gray
orange = color.orange
black = color.black
dashed = hline.style_dashed
solid = hline.style_solid
ticker = syminfo.ticker
crossshape = shape.square
// Create series vars marking six SR prices for each pair
plotHLines = input(title="plotHLines", type=input.bool, defval=true)
//timeperiod = input(title="timeframe", type=input.string)
hlineStyle = solid
hlineWidth = 3
hlineColor = blue
level1 = 1.23456
level1 := na
level2 = 1.23456
level2 := na
level3 = 1.23456
level3 := na
level4 = 1.23456
level4 := na
level5 = 1.23456
level5 := na
level6 = 1.23456
level6 := na
level7 = 1.23456
level7 := na
level8 = 1.23456
level8 := na
level9 = 1.23456
level9 := na
level10 = 1.23456
level10 := na
level11 = 1.23456
level11 := na
level12 = 1.23456
level12 := na
level13 = 1.23456
level13 := na
level14 = 1.23456
level14 := na
level15 = 1.23456
level15 := na
// if condition is true then the hline plots
// --------------------------------
if ( ticker == "ADBE" and plotHLines and timeframe.isintraday )
level1 := 520
level2 := 560
level3 := 585
level4 := 605
level5 := 620
level6 := 640
if ( ticker == "AMD" and plotHLines and timeframe.isintraday )
level1 := 100
level2 := 105
level3 := 106
level4 := 109
level5 := 113
level6 := 115
level7 := 118
level8 := 120.30
level9 := 121.30
level10 := 123
level11 := 124
level12 := 125.50
if ( ticker == "AMZN" and plotHLines and timeframe.isintraday )
level1 := 142
level2 := 144
level3 := 144.50
level4 := 145.30
level5 := 145.80
level6 := 146.30
level7 := 147
level8 := 147.80
if ( ticker == "COIN" and plotHLines and timeframe.isintraday )
level1 := 114.50
level2 := 123
level3 := 132
level4 := 135
level5 := 139.80
level6 := 142.50
level7 := 148.80
level8 := 150.50
level9 := 154.40
level10 := 161.50
level11 := 165
if ( ticker == "META" and plotHLines and timeframe.isintraday )
level1 := 298
level2 := 308
level3 := 313.60
level4 := 317.80
level5 := 321
level6 := 324.80
level7 := 328
level8 := 331
level9 := 335
if ( ticker == "MSFT" and plotHLines and timeframe.isintraday )
level1 := 359
level2 := 364.50
level3 := 369.14
level4 := 371
level5 := 375
level6 := 378.50
level7 := 383
level8 := 385
if ( ticker == "NFLX" and plotHLines and timeframe.isintraday )
level1 := 430
level2 := 442.50
level3 := 447
level4 := 457
level5 := 461.50
level6 := 468
if ( ticker == "NVDA" and plotHLines and timeframe.isintraday )
level1 := 424
level2 := 433
level3 := 440
level4 := 447.30
level5 := 456
level6 := 462.50
level7 := 465.66
level8 := 467
level9 := 473.50
level10 := 475
level11 := 481
level12 := 487
level13 := 491
if ( ticker == "QQQ" and plotHLines and timeframe.isintraday )
level1 := 375
level2 := 382
level3 := 384.50
level4 := 387.40
level5 := 389.17
level6 := 391.30
level7 := 393.50
level8 := 396
level9 := 400
if ( ticker == "SPX" and plotHLines and timeframe.isintraday )
level1 := 4480.00
level2 := 4500.00
level3 := 4530.00
level4 := 4545.00
level5 := 4552.00
level6 := 4576.60
level7 := 4582.00
level8 := 4594.50
level9 := 4602.00
level10 := 4615.00
level11 := 4623.00
level12 := 4650.00
if ( ticker == "SPY" and plotHLines and timeframe.isintraday )
level1 := 447
level2 := 449
level3 := 452
level4 := 453.50
level5 := 454.20
level6 := 456.66
level7 := 457.20
level8 := 458.45
level9 := 459.20
level10 := 460.50
level11 := 461.30
level12 := 464
if ( ticker == "TSLA" and plotHLines and timeframe.isintraday )
level1 := 220
level2 := 224
level3 := 229.80
level4 := 232.50
level5 := 235.50
level6 := 238.80
level7 := 240
level8 := 242.50
level9 := 246
level10 := 253
level11 := 256
level12 := 259.80
level13 := 267
level14 := 269
level15 := 275
isUp = close >= open
plot(level1, 'level1',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level1), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level2, 'level2',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level2), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level3, 'level3',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level3), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level4, 'level4',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level4), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level5, 'level5',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level5), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level6, 'level6',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level6), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level7, 'level7',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level7), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level8, 'level8',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level8), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level9, 'level9',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level9), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level10, 'level10',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level10), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level11, 'level11',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level11), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level12, 'level12',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level12), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level13, 'level13',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level13), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level14, 'level14',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level14), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
plot(level15, 'level15',hlineColor,hlineWidth,hlineStyle,offset=0)
plotshape(cross(open,level15), color=isUp ? color.lime : color.red, text="", textcolor=isUp ? color.black : color.white, style=crossshape, location=location.abovebar)
Watchlist tickers
ADBE AMD AMZN COIN META MSFT NFLX NVDA QQQ SPX SPY TSLA