input CorrelationWithSecurity = "SPX";
input referenceDate = 20190531;
def close2 = close(CorrelationWithSecurity);
def RS = if close2 == 0 then 0 else close/close2;
#RS.setDefaultColor(GetColor(6));
def startDate = DaysFromDate(referenceDate) == 0;
addchartbubble(startDate, RS,"Start", color.RED);
def sr = CompoundValue("historical data" = RS[0], "visible data" = if startDate <= 0 then sr[1] else RS[0]);
def SRatio = sr;
#SRatio.setDefaultColor(GetColor(5));
# use this plot statement to find bullish crossovers
#plot scan = RS[1] < SRatio[1] and RS > SRatio;
# use this plot statement to find bearish crossovers
#plot scan = RS[1] > SRatio[1] and RS < SRatio;
# use this plot statement to find stocks trending stronger than the index
plot scan = lowest(RS - SRatio, 21) > 0;
# use this plot statement to find stocks trending weaker than the index
#plot scan = highest(RS - SRatio, 21) < 0;
declare lower;
input correlationTicker = "SPX";
input startDate = 20180928;
def beginTracking = DaysFromDate(startDate) == 0;
def correlationClose = close(symbol = correlationTicker);
def correlationPrctChange = 100 * (correlationClose / correlationClose[1] - 1);
def plottedPrctChange = 100 * (close / close[1] - 1);
def correlationDiff = plottedPrctChange - correlationPrctChange;
rec data = CompoundValue(1, if beginTracking then correlationDiff else if DaysFromDate(startDate) > 0 then data[1] + correlationDiff else 0, 0);
plot signal = data;
plot zeroline = 0;
AddVerticalLine(beginTracking, "Start", Color.YELLOW, 2);
ZeroLine.SetDefaultColor(GetColor(7));
Thank you mate, Do we need to change the date everyday?See if this scan helps with what you need.
Code:input CorrelationWithSecurity = "SPX"; input referenceDate = 20190531; def close2 = close(CorrelationWithSecurity); def RS = if close2 == 0 then 0 else close/close2; #RS.setDefaultColor(GetColor(6)); def startDate = DaysFromDate(referenceDate) == 0; addchartbubble(startDate, RS,"Start", color.RED); def sr = CompoundValue("historical data" = RS[0], "visible data" = if startDate <= 0 then sr[1] else RS[0]); def SRatio = sr; #SRatio.setDefaultColor(GetColor(5)); # use this plot statement to find bullish crossovers #plot scan = RS[1] < SRatio[1] and RS > SRatio; # use this plot statement to find bearish crossovers #plot scan = RS[1] > SRatio[1] and RS < SRatio; # use this plot statement to find stocks trending stronger than the index plot scan = lowest(RS - SRatio, 21) > 0; # use this plot statement to find stocks trending weaker than the index #plot scan = highest(RS - SRatio, 21) < 0;
Also, use this lower study to comfirm.
Code:declare lower; input correlationTicker = "SPX"; input startDate = 20180928; def beginTracking = DaysFromDate(startDate) == 0; def correlationClose = close(symbol = correlationTicker); def correlationPrctChange = 100 * (correlationClose / correlationClose[1] - 1); def plottedPrctChange = 100 * (close / close[1] - 1); def correlationDiff = plottedPrctChange - correlationPrctChange; rec data = CompoundValue(1, if beginTracking then correlationDiff else if DaysFromDate(startDate) > 0 then data[1] + correlationDiff else 0, 0); plot signal = data; plot zeroline = 0; AddVerticalLine(beginTracking, "Start", Color.YELLOW, 2); ZeroLine.SetDefaultColor(GetColor(7));
Hi TrendrThe layman's way. Lol I was interested to see how this would look.
If anyone one is insterested.
http://tos.mx/t71Peta
I wouldn't enter of these charts, they are to show you where the strength is then you would find stocks in those sectors at proper buy points (Pivots).Hi Trendr
thank you . Did you perform any back testing with entry exit .
What are the entry exit places . If you can shoe one entry exit that would be a great help .
I've also been looking around the site and it looks like in this alternate-sector-analysis-study-for-thinkorswim the author pretty much did the same thing in a cleaner way.The layman's way. Lol I was interested to see how this would look.
If anyone one is insterested.
http://tos.mx/t71Peta
Hello, i have a question how would I read the right scaling numbers?The layman's way. Lol I was interested to see how this would look.
If anyone one is insterested.
http://tos.mx/t71Peta
declare lower;
DefineGlobalColor("Buy", Color.GREEN);
DefineGlobalColor("Sell", Color.RED);
DefineGlobalColor("Neutral", Color.YELLOW);
DefineGlobalColor("Above", Color.Dark_Green);
DefineGlobalColor("Below", Color.Dark_Red);
input symbol26 = "NYA";
input symbol25 = "XAX";
input symbol24 = "IWB";
input symbol23 = "FFTY";
input symbol22 = "BOUT";
input symbol21 = "XTC";
input symbol20 = "SOX";
input symbol19 = "RUT";
input symbol18 = "RUI";
input symbol17 = "COMP:GIDS";
input symbol16 = "SPY";
input symbol15 = "QQQ";
input symbol14 = "IWM";
input symbol13 = "$DJT";
input symbol12 = "IBB";
input symbol11 = "XLY";
input symbol10 = "XLV";
input symbol9 = "XLU";
input symbol8 = "XLRE";
input symbol7 = "XLP";
input symbol6 = "XLK";
input symbol5 = "XLI";
input symbol4 = "XLF";
input symbol3 = "XLE";
input symbol2 = "XLC";
input symbol1 = "XLB";
input DotSize = 5;
input displace = 0;
input length = 20;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
input showLabels = yes;
input showBubbles = no;
script SymbolPB {
input symbol = "";
input averageType = AverageType.Simple;
def price = close(Symbol);
input displace = 0;
input length = 20;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
def upperBand = BollingerBands(price, displace, length, Num_Dev_Dn, Num_Dev_up, averageType).UpperBand;
def lowerBand = BollingerBands(price, displace, length, Num_Dev_Dn, Num_Dev_up, averageType).LowerBand;
plot PercentB = Round((price - lowerBand) / (upperBand - lowerBand) * 100,2);
}
def s1PB = SymbolPB(symbol1);
def s2PB = SymbolPB(symbol2);
def s3PB = SymbolPB(symbol3);
def s4PB = SymbolPB(symbol4);
def s5PB = SymbolPB(symbol5);
def s6PB = SymbolPB(symbol6);
def s7PB = SymbolPB(symbol7);
def s8PB = SymbolPB(symbol8);
def s9PB = SymbolPB(symbol9);
def s10PB = SymbolPB(symbol10);
def s11PB = SymbolPB(symbol11);
def s12PB = SymbolPB(symbol12);
def s13PB = SymbolPB(symbol13);
def s14PB = SymbolPB(symbol14);
def s15PB = SymbolPB(symbol15);
def s16PB = SymbolPB(symbol16);
def s17PB = SymbolPB(symbol17);
def s18PB = SymbolPB(symbol18);
def s19PB = SymbolPB(symbol19);
def s20PB = SymbolPB(symbol20);
def s21PB = SymbolPB(symbol21);
def s22PB = SymbolPB (symbol22);
def s23PB = SymbolPB(symbol23);
def s24PB = SymbolPB(symbol24);
def s25PB = SymbolPB(symbol25);
def s26PB = SymbolPB(symbol26);
#######Plots
plot symb1 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 1 else Double.NaN;
symb1.SetPaintingStrategy(PaintingStrategy.POINTS);
symb1.SetLineWeight(DotSize);
symb1.AssignValueColor(if s1PB >= 100 then GlobalColor("Above") else if s1PB<= 0 then GlobalColor(“Below”) else if s1PB >=70 then GlobalColor(“Buy”) else if s1PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol1)[1]), 1, "1: " + symbol1, if s1PB[1] >= 100 then GlobalColor("Above") else if s1PB[1]<= 0 then GlobalColor(“Below”) else if s1PB[1] >=70 then GlobalColor(“Buy”) else if s1PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb1.HideBubble();
plot symb2 = if !IsNaN(close) and !IsNaN(close(symbol2)) then 2 else Double.NaN;
symb2.SetPaintingStrategy(PaintingStrategy.POINTS);
symb2.SetLineWeight(DotSize);
symb2.AssignValueColor(if s2PB >= 100 then GlobalColor("Above") else if s2PB<= 0 then GlobalColor(“Below”) else if s2PB >=70 then GlobalColor(“Buy”) else if s2PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol2)[5]), 2, "2: " + symbol2, if s2PB[5] >= 100 then GlobalColor("Above") else if s2PB[5]<= 0 then GlobalColor(“Below”) else if s2PB[5] >=70 then GlobalColor(“Buy”) else if s2PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb2.HideBubble();
plot symb3 = if !IsNaN(close) and !IsNaN(close(symbol3)) then 3 else Double.NaN;
symb3.SetPaintingStrategy(PaintingStrategy.POINTS);
symb3.SetLineWeight(DotSize);
symb3.AssignValueColor(if s3PB >= 100 then GlobalColor("Above") else if s3PB<= 0 then GlobalColor(“Below”) else if s3PB >=70 then GlobalColor(“Buy”) else if s3PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol3)[1]), 3, "3: " + symbol3, if s3PB[1] >= 100 then GlobalColor("Above") else if s3PB[1]<= 0 then GlobalColor(“Below”) else if s3PB[1] >=70 then GlobalColor(“Buy”) else if s3PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb3.HideBubble();
plot symb4 = if !IsNaN(close) and !IsNaN(close(symbol4)) then 4 else Double.NaN;
symb4.SetPaintingStrategy(PaintingStrategy.POINTS);
symb4.SetLineWeight(DotSize);
symb4.AssignValueColor(if s4PB >= 100 then GlobalColor("Above") else if s4PB<= 0 then GlobalColor(“Below”) else if s4PB >=70 then GlobalColor(“Buy”) else if s4PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol4)[5]), 4, "4: " + symbol4, if s4PB[5] >= 100 then GlobalColor("Above") else if s4PB[5]<= 0 then GlobalColor(“Below”) else if s4PB[5] >=70 then GlobalColor(“Buy”) else if s4PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb4.HideBubble();
plot symb5 = if !IsNaN(close) and !IsNaN(close(symbol5)) then 5 else Double.NaN;
symb5.SetPaintingStrategy(PaintingStrategy.POINTS);
symb5.SetLineWeight(DotSize);
symb5.AssignValueColor(if s5PB >= 100 then GlobalColor("Above") else if s5PB<= 0 then GlobalColor(“Below”) else if s5PB >=70 then GlobalColor(“Buy”) else if s5PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol5)[1]), 5, "5: " + symbol5, if s5PB[1] >= 100 then GlobalColor("Above") else if s5PB[1]<= 0 then GlobalColor(“Below”) else if s5PB[1] >=70 then GlobalColor(“Buy”) else if s5PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb5.HideBubble();
plot symb6 = if !IsNaN(close) and !IsNaN(close(symbol6)) then 6 else Double.NaN;
symb6.SetPaintingStrategy(PaintingStrategy.POINTS);
symb6.SetLineWeight(DotSize);
symb6.AssignValueColor(if s6PB >= 100 then GlobalColor("Above") else if s6PB<= 0 then GlobalColor(“Below”) else if s6PB >=70 then GlobalColor(“Buy”) else if s6PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol6)[5]), 6, "6: " + symbol6, if s6PB[5] >= 100 then GlobalColor("Above") else if s6PB[5]<= 0 then GlobalColor(“Below”) else if s6PB[5] >=70 then GlobalColor(“Buy”) else if s6PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb6.HideBubble();
plot symb7 = if !IsNaN(close) and !IsNaN(close(symbol7)) then 7 else Double.NaN;
symb7.SetPaintingStrategy(PaintingStrategy.POINTS);
symb7.SetLineWeight(DotSize);
symb7.AssignValueColor(if s7PB >= 100 then GlobalColor("Above") else if s7PB<= 0 then GlobalColor(“Below”) else if s7PB >=70 then GlobalColor(“Buy”) else if s7PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol7)[1]), 7, "7: " + symbol7, if s7PB[1] >= 100 then GlobalColor("Above") else if s7PB[1]<= 0 then GlobalColor(“Below”) else if s7PB[1] >=70 then GlobalColor(“Buy”) else if s7PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb7.HideBubble();
plot symb8 = if !IsNaN(close) and !IsNaN(close(symbol8)) then 8 else Double.NaN;
symb8.SetPaintingStrategy(PaintingStrategy.POINTS);
symb8.SetLineWeight(DotSize);
symb8.AssignValueColor(if s8PB >= 100 then GlobalColor("Above") else if s8PB<= 0 then GlobalColor(“Below”) else if s8PB >=70 then GlobalColor(“Buy”) else if s8PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol8)[5]), 8, "8: " + symbol8, if s8PB[5] >= 100 then GlobalColor("Above") else if s8PB[5]<= 0 then GlobalColor(“Below”) else if s8PB[5] >=70 then GlobalColor(“Buy”) else if s8PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb8.HideBubble();
plot symb9 = if !IsNaN(close) and !IsNaN(close(symbol9)) then 9 else Double.NaN;
symb9.SetPaintingStrategy(PaintingStrategy.POINTS);
symb9.SetLineWeight(DotSize);
symb9.AssignValueColor(if s9PB >= 100 then GlobalColor("Above") else if s9PB<= 0 then GlobalColor(“Below”) else if s9PB >=70 then GlobalColor(“Buy”) else if s9PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol9)[1]), 9, "9: " + symbol9, if s9PB[1] >= 100 then GlobalColor("Above") else if s9PB[1]<= 0 then GlobalColor(“Below”) else if s9PB[1] >=70 then GlobalColor(“Buy”) else if s9PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb9.HideBubble();
plot symb10 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10 else Double.NaN;
symb10.SetPaintingStrategy(PaintingStrategy.POINTS);
symb10.SetLineWeight(DotSize);
symb10.AssignValueColor(if s10PB >= 100 then GlobalColor("Above") else if s10PB<= 0 then GlobalColor(“Below”) else if s10PB >=70 then GlobalColor(“Buy”) else if s10PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol10)[5]), 10, "10: " + symbol10, if s10PB[5] >= 100 then GlobalColor("Above") else if s10PB[5]<= 0 then GlobalColor(“Below”) else if s10PB[5] >=70 then GlobalColor(“Buy”) else if s10PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb10.HideBubble();
plot symb11 = if !IsNaN(close) and !IsNaN(close(symbol11)) then 11 else Double.NaN;
symb11.SetPaintingStrategy(PaintingStrategy.POINTS);
symb11.SetLineWeight(DotSize);
symb11.AssignValueColor(if s11PB >= 100 then GlobalColor("Above") else if s11PB<= 0 then GlobalColor(“Below”) else if s11PB >=70 then GlobalColor(“Buy”) else if s11PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol11)[1]), 11, "11: " + symbol11, if s11PB[1] >= 100 then GlobalColor("Above") else if s11PB[1]<= 0 then GlobalColor(“Below”) else if s11PB[1] >=70 then GlobalColor(“Buy”) else if s11PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb11.HideBubble();
plot symb12 = if !IsNaN(close) and !IsNaN(close(symbol12)) then 13 else Double.NaN;
symb12.SetPaintingStrategy(PaintingStrategy.Triangles);
symb12.SetLineWeight(DotSize);
symb12.AssignValueColor(if s12PB >= 100 then GlobalColor("Above") else if s12PB<= 0 then GlobalColor(“Below”) else if s12PB >=70 then GlobalColor(“Buy”) else if s12PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol12)[5]), 13, "13: " + symbol12, if s12PB[5] >= 100 then GlobalColor("Above") else if s12PB[5]<= 0 then GlobalColor(“Below”) else if s12PB[5] >=70 then GlobalColor(“Buy”) else if s12PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb12.HideBubble();
plot symb13 = if !IsNaN(close) and !IsNaN(close(symbol13)) then 14 else Double.NaN;
symb13.SetPaintingStrategy(PaintingStrategy.Triangles);
symb13.SetLineWeight(DotSize);
symb13.AssignValueColor(if s13PB >= 100 then GlobalColor("Above") else if s13PB<= 0 then GlobalColor(“Below”) else if s13PB >=70 then GlobalColor(“Buy”) else if s13PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol13)[1]), 14, "14: " + symbol13, if s13PB[1] >= 100 then GlobalColor("Above") else if s13PB[1]<= 0 then GlobalColor(“Below”) else if s13PB[1] >=70 then GlobalColor(“Buy”) else if s13PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb13.HideBubble();
plot symb14 = if !IsNaN(close) and !IsNaN(close(symbol14)) then 15 else Double.NaN;
symb14.SetPaintingStrategy(PaintingStrategy.Triangles);
symb14.SetLineWeight(DotSize);
symb14.AssignValueColor(if s14PB >= 100 then GlobalColor("Above") else if s14PB<= 0 then GlobalColor(“Below”) else if s14PB >=70 then GlobalColor(“Buy”) else if s14PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol14)[5]), 15, "15: " + symbol14, if s14PB[5] >= 100 then GlobalColor("Above") else if s14PB[5]<= 0 then GlobalColor(“Below”) else if s14PB[5] >=70 then GlobalColor(“Buy”) else if s14PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb14.HideBubble();
plot symb15 = if !IsNaN(close) and !IsNaN(close(symbol15)) then 16 else Double.NaN;
symb15.SetPaintingStrategy(PaintingStrategy.Triangles);
symb15.SetLineWeight(DotSize);
symb15.AssignValueColor(if s15PB >= 100 then GlobalColor("Above") else if s15PB<= 0 then GlobalColor(“Below”) else if s15PB >=70 then GlobalColor(“Buy”) else if s15PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol15)[1]), 16, "16: " + symbol15, if s15PB[1] >= 100 then GlobalColor("Above") else if s15PB[1]<= 0 then GlobalColor(“Below”) else if s15PB[1] >=70 then GlobalColor(“Buy”) else if s15PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb15.HideBubble();
plot symb16 = if !IsNaN(close) and !IsNaN(close(symbol16)) then 17 else Double.NaN;
symb16.SetPaintingStrategy(PaintingStrategy.Triangles);
symb16.SetLineWeight(DotSize);
symb16.AssignValueColor(if s16PB >= 100 then GlobalColor("Above") else if s16PB<= 0 then GlobalColor(“Below”) else if s16PB >=70 then GlobalColor(“Buy”) else if s16PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol16)[5]), 17, "17: " + symbol16, if s16PB[5] >= 100 then GlobalColor("Above") else if s16PB[5]<= 0 then GlobalColor(“Below”) else if s16PB[5] >=70 then GlobalColor(“Buy”) else if s16PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb16.HideBubble();
plot symb17 = if !IsNaN(close) and !IsNaN(close(symbol17)) then 18 else Double.NaN;
symb17.SetPaintingStrategy(PaintingStrategy.Triangles);
symb17.SetLineWeight(DotSize);
symb17.AssignValueColor(if s17PB >= 100 then GlobalColor("Above") else if s17PB<= 0 then GlobalColor(“Below”) else if s17PB >=70 then GlobalColor(“Buy”) else if s17PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol17)[1]), 18, "18: " + symbol17, if s17PB[1] >= 100 then GlobalColor("Above") else if s17PB[1]<= 0 then GlobalColor(“Below”) else if s17PB[1] >=70 then GlobalColor(“Buy”) else if s17PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb17.HideBubble();
plot symb18 = if !IsNaN(close) and !IsNaN(close(symbol18)) then 19 else Double.NaN;
symb18.SetPaintingStrategy(PaintingStrategy.Triangles);
symb18.SetLineWeight(DotSize);
symb18.AssignValueColor(if s18PB >= 100 then GlobalColor("Above") else if s18PB<= 0 then GlobalColor(“Below”) else if s18PB >=70 then GlobalColor(“Buy”) else if s18PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol18)[5]), 19, "19: " + symbol18, if s18PB[5] >= 100 then GlobalColor("Above") else if s18PB[5]<= 0 then GlobalColor(“Below”) else if s18PB[5] >=70 then GlobalColor(“Buy”) else if s18PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb18.HideBubble();
plot symb19 = if !IsNaN(close) and !IsNaN(close(symbol19)) then 20 else Double.NaN;
symb19.SetPaintingStrategy(PaintingStrategy.Triangles);
symb19.SetLineWeight(DotSize);
symb19.AssignValueColor(if s19PB >= 100 then GlobalColor("Above") else if s19PB<= 0 then GlobalColor(“Below”) else if s19PB >=70 then GlobalColor(“Buy”) else if s19PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol19)[1]), 20, "20: " + symbol19, if s19PB[1] >= 100 then GlobalColor("Above") else if s19PB[1]<= 0 then GlobalColor(“Below”) else if s19PB[1] >=70 then GlobalColor(“Buy”) else if s19PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb19.HideBubble();
plot symb20 = if !IsNaN(close) and !IsNaN(close(symbol20)) then 21 else Double.NaN;
symb20.SetPaintingStrategy(PaintingStrategy.Triangles);
symb20.SetLineWeight(DotSize);
symb20.AssignValueColor(if s20PB >= 100 then GlobalColor("Above") else if s20PB<= 0 then GlobalColor(“Below”) else if s20PB >=70 then GlobalColor(“Buy”) else if s20PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol20)[5]), 21, "21: " + symbol20, if s20PB[5] >= 100 then GlobalColor("Above") else if s20PB[5]<= 0 then GlobalColor(“Below”) else if s20PB[5] >=70 then GlobalColor(“Buy”) else if s20PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb20.HideBubble();
plot symb21 = if !IsNaN(close) and !IsNaN(close(symbol21)) then 22 else Double.NaN;
symb21.SetPaintingStrategy(PaintingStrategy.Triangles);
symb21.SetLineWeight(DotSize);
symb21.AssignValueColor(if s21PB >= 100 then GlobalColor("Above") else if s21PB<= 0 then GlobalColor(“Below”) else if s21PB >=70 then GlobalColor(“Buy”) else if s21PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol21)[1]), 22, "22: " + symbol21, if s21PB[1] >= 100 then GlobalColor("Above") else if s21PB[1]<= 0 then GlobalColor(“Below”) else if s21PB[1] >=70 then GlobalColor(“Buy”) else if s21PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb21.HideBubble();
plot symb22 = if !IsNaN(close) and !IsNaN(close(symbol22)) then 23 else Double.NaN;
symb22.SetPaintingStrategy(PaintingStrategy.Triangles);
symb22.SetLineWeight(DotSize);
symb22.AssignValueColor(if s22PB >= 100 then GlobalColor("Above") else if s22PB<= 0 then GlobalColor(“Below”) else if s22PB >=70 then GlobalColor(“Buy”) else if s22PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol22)[5]), 23, "23: " + symbol22, if s22PB[5] >= 100 then GlobalColor("Above") else if s22PB[5]<= 0 then GlobalColor(“Below”) else if s22PB[5] >=70 then GlobalColor(“Buy”) else if s22PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb22.HideBubble();
plot symb23 = if !IsNaN(close) and !IsNaN(close(symbol23)) then 24 else Double.NaN;
symb23.SetPaintingStrategy(PaintingStrategy.Triangles);
symb23.SetLineWeight(DotSize);
symb23.AssignValueColor(if s23PB >= 100 then GlobalColor("Above") else if s23PB<= 0 then GlobalColor(“Below”) else if s23PB >=70 then GlobalColor(“Buy”) else if s23PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol23)[1]), 24, "24: " + symbol23, if s23PB[1] >= 100 then GlobalColor("Above") else if s23PB[1]<= 0 then GlobalColor(“Below”) else if s23PB[1] >=70 then GlobalColor(“Buy”) else if s23PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb23.HideBubble();
plot symb24 = if !IsNaN(close) and !IsNaN(close(symbol24)) then 25 else Double.NaN;
symb24.SetPaintingStrategy(PaintingStrategy.Triangles);
symb24.SetLineWeight(DotSize);
symb24.AssignValueColor(if s24PB >= 100 then GlobalColor("Above") else if s24PB<= 0 then GlobalColor(“Below”) else if s24PB >=70 then GlobalColor(“Buy”) else if s24PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol24)[5]), 25, "25: " + symbol24, if s24PB[5] >= 100 then GlobalColor("Above") else if s24PB[5]<= 0 then GlobalColor(“Below”) else if s24PB[5] >=70 then GlobalColor(“Buy”) else if s24PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb24.HideBubble();
plot symb25 = if !IsNaN(close) and !IsNaN(close(symbol25)) then 26 else Double.NaN;
symb25.SetPaintingStrategy(PaintingStrategy.Triangles);
symb25.SetLineWeight(DotSize);
symb25.AssignValueColor(if s25PB >= 100 then GlobalColor("Above") else if s25PB<= 0 then GlobalColor(“Below”) else if s25PB >=70 then GlobalColor(“Buy”) else if s25PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol25)[1]), 26, "26: " + symbol25, if s25PB[1] >= 100 then GlobalColor("Above") else if s25PB[1]<= 0 then GlobalColor(“Below”) else if s25PB[1] >=70 then GlobalColor(“Buy”) else if s25PB[1] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
Symb25.HideBubble();
plot symb26 = if !IsNaN(close) and !IsNaN(close(symbol26)) then 27 else Double.NaN;
symb26.SetPaintingStrategy(PaintingStrategy.Triangles);
symb26.SetLineWeight(DotSize);
symb26.AssignValueColor(if s26PB >= 100 then GlobalColor("Above") else if s26PB<= 0 then GlobalColor(“Below”) else if s26PB >=70 then GlobalColor(“Buy”) else if s26PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol26)[5]), 27, "27: " + symbol26, if s26PB[5] >= 100 then GlobalColor("Above") else if s26PB[5]<= 0 then GlobalColor(“Below”) else if s26PB[5] >=70 then GlobalColor(“Buy”) else if s26PB[5] <30 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb26.HideBubble();
plot spacer0 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 0.5 else Double.NaN;
plot spacer1 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 1.5 else Double.NaN;
plot spacer2 = if !IsNaN(close) and !IsNaN(close(symbol2)) then 2.5 else Double.NaN;
plot spacer3 = if !IsNaN(close) and !IsNaN(close(symbol3)) then 3.5 else Double.NaN;
plot spacer4 = if !IsNaN(close) and !IsNaN(close(symbol4)) then 4.5 else Double.NaN;
plot spacer5 = if !IsNaN(close) and !IsNaN(close(symbol5)) then 5.5 else Double.NaN;
plot spacer6 = if !IsNaN(close) and !IsNaN(close(symbol6)) then 6.5 else Double.NaN;
plot spacer7 = if !IsNaN(close) and !IsNaN(close(symbol7)) then 7.5 else Double.NaN;
plot spacer8 = if !IsNaN(close) and !IsNaN(close(symbol8)) then 8.5 else Double.NaN;
plot spacer9 = if !IsNaN(close) and !IsNaN(close(symbol9)) then 9.5 else Double.NaN;
plot spacer10 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10.5 else Double.NaN;
plot spacer11 = if !IsNaN(close) and !IsNaN(close(symbol11)) then 11.5 else Double.NaN;
plot spacer12 = if !IsNaN(close) and !IsNaN(close(symbol12)) then 12.5 else Double.NaN;
plot spacer13 = if !IsNaN(close) and !IsNaN(close(symbol13)) then 13.5 else Double.NaN;
plot spacer14 = if !IsNaN(close) and !IsNaN(close(symbol14)) then 14.5 else Double.NaN;
plot spacer15 = if !IsNaN(close) and !IsNaN(close(symbol15)) then 15.5 else Double.NaN;
plot spacer16 = if !IsNaN(close) and !IsNaN(close(symbol16)) then 16.5 else Double.NaN;
plot spacer17 = if !IsNaN(close) and !IsNaN(close(symbol17)) then 17.5 else Double.NaN;
plot spacer18 = if !IsNaN(close) and !IsNaN(close(symbol18)) then 18.5 else Double.NaN;
plot spacer19 = if !IsNaN(close) and !IsNaN(close(symbol19)) then 19.5 else Double.NaN;
plot spacer20 = if !IsNaN(close) and !IsNaN(close(symbol20)) then 20.5 else Double.NaN;
plot spacer21 = if !IsNaN(close) and !IsNaN(close(symbol21)) then 21.5 else Double.NaN;
plot spacer22 = if !IsNaN(close) and !IsNaN(close(symbol22)) then 22.5 else Double.NaN;
plot spacer23 = if !IsNaN(close) and !IsNaN(close(symbol23)) then 23.5 else Double.NaN;
plot spacer24 = if !IsNaN(close) and !IsNaN(close(symbol24)) then 24.5 else Double.NaN;
plot spacer25 = if !IsNaN(close) and !IsNaN(close(symbol25)) then 25.5 else Double.NaN;
plot spacer26 = if !IsNaN(close) and !IsNaN(close(symbol26)) then 26.5 else Double.NaN;
spacer0.SetDefaultColor(Color.GRAY);
spacer1.SetDefaultColor(Color.GRAY);
spacer2.SetDefaultColor(Color.GRAY);
spacer3.SetDefaultColor(Color.GRAY);
spacer4.SetDefaultColor(Color.GRAY);
spacer5.SetDefaultColor(Color.GRAY);
spacer6.SetDefaultColor(Color.GRAY);
spacer7.SetDefaultColor(Color.GRAY);
spacer8.SetDefaultColor(Color.GRAY);
spacer9.SetDefaultColor(Color.GRAY);
spacer10.SetDefaultColor(Color.GRAY);
spacer11.SetDefaultColor(Color.GRAY);
spacer12.SetDefaultColor(Color.GRAY);
spacer13.SetDefaultColor(Color.GRAY);
spacer14.SetDefaultColor(Color.GRAY);
spacer15.SetDefaultColor(Color.GRAY);
spacer16.SetDefaultColor(Color.GRAY);
spacer17.SetDefaultColor(Color.GRAY);
spacer18.SetDefaultColor(Color.GRAY);
spacer19.SetDefaultColor(Color.GRAY);
spacer20.SetDefaultColor(Color.GRAY);
spacer21.SetDefaultColor(Color.GRAY);
spacer22.SetDefaultColor(Color.GRAY);
spacer23.SetDefaultColor(Color.GRAY);
spacer24.SetDefaultColor(Color.GRAY);
spacer25.SetDefaultColor(Color.GRAY);
spacer26.SetDefaultColor(Color.GRAY);
spacer0.HideBubble();
spacer1.HideBubble();
spacer2.HideBubble();
spacer3.HideBubble();
spacer4.HideBubble();
spacer5.HideBubble();
spacer6.HideBubble();
spacer7.HideBubble();
spacer8.HideBubble();
spacer9.HideBubble();
spacer10.HideBubble();
spacer11.HideBubble();
spacer12.HideBubble();
spacer13.HideBubble();
spacer14.HideBubble();
spacer15.HideBubble();
spacer16.HideBubble();
spacer17.HideBubble();
spacer18.HideBubble();
spacer19.HideBubble();
spacer20.HideBubble();
spacer21.HideBubble();
spacer22.HideBubble();
spacer23.HideBubble();
spacer24.HideBubble();
spacer25.HideBubble();
spacer26.HideBubble();
spacer0.HideTitle();
spacer1.HideTitle();
spacer2.HideTitle();
spacer3.HideTitle();
spacer4.HideTitle();
spacer5.HideTitle();
spacer6.HideTitle();
spacer7.HideTitle();
spacer8.HideTitle();
spacer9.HideTitle();
spacer10.HideTitle();
spacer11.HideTitle();
spacer12.HideTitle();
spacer13.HideTitle();
spacer14.HideTitle();
spacer15.HideTitle();
spacer16.HideTitle();
spacer17.HideTitle();
spacer18.HideTitle();
spacer19.HideTitle();
spacer20.HideTitle();
spacer21.HideTitle();
spacer22.HideTitle();
spacer23.HideTitle();
spacer24.HideTitle();
spacer25.HideTitle();
spacer26.HideTitle();
AddLabel(1, "Pct B ", Color.ORANGE);
AddLabel(showLabels == yes,"1:" + symbol1 + s1PB + “%”, if s1PB >= 100 then GlobalColor("Above") else if s1PB<= 0 then GlobalColor(“Below”) else if s1PB >=70 then GlobalColor(“Buy”) else if s1PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"2:" + symbol2 + s2PB + “%”, if s2PB >= 100 then GlobalColor("Above") else if s2PB<= 0 then GlobalColor(“Below”) else if s2PB >=70 then GlobalColor(“Buy”) else if s2PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"3:" + symbol3 + s3PB + “%”, if s3PB >= 100 then GlobalColor("Above") else if s3PB<= 0 then GlobalColor(“Below”) else if s3PB >=70 then GlobalColor(“Buy”) else if s3PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"4:" + symbol4 + s4PB + “%”, if s4PB >= 100 then GlobalColor("Above") else if s4PB<= 0 then GlobalColor(“Below”) else if s4PB >=70 then GlobalColor(“Buy”) else if s4PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"5:" + symbol5 + s5PB + “%”, if s5PB >= 100 then GlobalColor("Above") else if s5PB<= 0 then GlobalColor(“Below”) else if s5PB >=70 then GlobalColor(“Buy”) else if s5PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"6:" + symbol6 + s6PB + “%”, if s6PB >= 100 then GlobalColor("Above") else if s6PB<= 0 then GlobalColor(“Below”) else if s6PB >=70 then GlobalColor(“Buy”) else if s6PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"7:" + symbol7 + s1PB + “%”, if s7PB >= 100 then GlobalColor("Above") else if s7PB<= 0 then GlobalColor(“Below”) else if s7PB >=70 then GlobalColor(“Buy”) else if s7PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"8:" + symbol8 + s8PB + “%”, if s8PB >= 100 then GlobalColor("Above") else if s8PB<= 0 then GlobalColor(“Below”) else if s8PB >=70 then GlobalColor(“Buy”) else if s8PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"9:" + symbol9 + s9PB + “%”, if s9PB >= 100 then GlobalColor("Above") else if s9PB<= 0 then GlobalColor(“Below”) else if s9PB >=70 then GlobalColor(“Buy”) else if s9PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"10:" + symbol10 + s10PB + “%”, if s10PB >= 100 then GlobalColor("Above") else if s10PB<= 0 then GlobalColor(“Below”) else if s10PB >=70 then GlobalColor(“Buy”) else if s10PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"11:" + symbol11 + s11PB + “%”, if s11PB >= 100 then GlobalColor("Above") else if s11PB<= 0 then GlobalColor(“Below”) else if s11PB >=70 then GlobalColor(“Buy”) else if s11PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"13:" + symbol12 + s12PB + “%”, if s12PB >= 100 then GlobalColor("Above") else if s12PB<= 0 then GlobalColor(“Below”) else if s12PB >=70 then GlobalColor(“Buy”) else if s12PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"14:" + symbol13 + s13PB + “%”, if s13PB >= 100 then GlobalColor("Above") else if s13PB<= 0 then GlobalColor(“Below”) else if s13PB >=70 then GlobalColor(“Buy”) else if s13PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"15:" + symbol14 + s14PB + “%”, if s14PB >= 100 then GlobalColor("Above") else if s14PB<= 0 then GlobalColor(“Below”) else if s14PB >=70 then GlobalColor(“Buy”) else if s14PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"16:" + symbol15 + s15PB + “%”, if s15PB >= 100 then GlobalColor("Above") else if s15PB<= 0 then GlobalColor(“Below”) else if s15PB >=70 then GlobalColor(“Buy”) else if s15PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"17:" + symbol16 + s16PB + “%”, if s16PB >= 100 then GlobalColor("Above") else if s16PB<= 0 then GlobalColor(“Below”) else if s16PB >=70 then GlobalColor(“Buy”) else if s16PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"18:" + symbol17 + s17PB + “%”, if s17PB >= 100 then GlobalColor("Above") else if s17PB<= 0 then GlobalColor(“Below”) else if s17PB >=70 then GlobalColor(“Buy”) else if s17PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"19:" + symbol18 + s18PB + “%”, if s18PB >= 100 then GlobalColor("Above") else if s18PB<= 0 then GlobalColor(“Below”) else if s18PB >=70 then GlobalColor(“Buy”) else if s18PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"20:" + symbol19 + s19PB + “%”, if s19PB >= 100 then GlobalColor("Above") else if s19PB<= 0 then GlobalColor(“Below”) else if s19PB >=70 then GlobalColor(“Buy”) else if s19PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"21:" + symbol20 + s20PB + “%”, if s20PB >= 100 then GlobalColor("Above") else if s20PB<= 0 then GlobalColor(“Below”) else if s20PB >=70 then GlobalColor(“Buy”) else if s20PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"22:" + symbol21 + s21PB + “%”, if s21PB >= 100 then GlobalColor("Above") else if s21PB<= 0 then GlobalColor(“Below”) else if s21PB >=70 then GlobalColor(“Buy”) else if s21PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"23:" + symbol22 + s22PB + “%”, if s22PB >= 100 then GlobalColor("Above") else if s22PB<= 0 then GlobalColor(“Below”) else if s22PB >=70 then GlobalColor(“Buy”) else if s22PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"24:" + symbol23 + s23PB + “%”, if s23PB >= 100 then GlobalColor("Above") else if s23PB<= 0 then GlobalColor(“Below”) else if s23PB >=70 then GlobalColor(“Buy”) else if s23PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"25:" + symbol24 + s24PB + “%”, if s24PB >= 100 then GlobalColor("Above") else if s24PB<= 0 then GlobalColor(“Below”) else if s24PB >=70 then GlobalColor(“Buy”) else if s24PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"26:" + symbol25 + s25PB + “%”, if s25PB >= 100 then GlobalColor("Above") else if s25PB<= 0 then GlobalColor(“Below”) else if s25PB >=70 then GlobalColor(“Buy”) else if s25PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes,"27:" + symbol26 + s26PB + “%”, if s26PB >= 100 then GlobalColor("Above") else if s26PB<= 0 then GlobalColor(“Below”) else if s26PB >=70 then GlobalColor(“Buy”) else if s26PB <30 then GlobalColor(“Sell") else GlobalColor("Neutral"));
declare lower;
DefineGlobalColor("Buy", Color.GREEN);
DefineGlobalColor("Sell", Color.RED);
DefineGlobalColor("Neutral", Color.YELLOW);
input symbol26 = "NYA";
input symbol25 = "XAX";
input symbol24 = "IWB";
input symbol23 = "FFTY";
input symbol22 = "BOUT";
input symbol21 = "XTC";
input symbol20 = "SOX";
input symbol19 = "RUT";
input symbol18 = "RUI";
input symbol17 = "COMP:GIDS";
input symbol16 = "SPY";
input symbol15 = "QQQ";
input symbol14 = "IWM";
input symbol13 = "$DJT";
input symbol12 = "IBB";
input symbol11 = "XLY";
input symbol10 = "XLV";
input symbol9 = "XLU";
input symbol8 = "XLRE";
input symbol7 = "XLP";
input symbol6 = "XLK";
input symbol5 = "XLI";
input symbol4 = "XLF";
input symbol3 = "XLE";
input symbol2 = "XLC";
input symbol1 = "XLB";
input DotSize = 5;
input showLabels = yes;
input showBubbles = no;
script PBW {
input symbol = "";
def price = close(symbol);
input displace = 0;
input length = 20;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;
input averageType = AverageType.SIMPLE;
def upperBand = BollingerBands(price, displace, length, Num_Dev_Dn, Num_Dev_up, averageType).UpperBand;
def lowerBand = BollingerBands(price, displace, length, Num_Dev_Dn, Num_Dev_up, averageType).LowerBand;
def midLine = BollingerBands(price, displace, length, Num_Dev_Dn, Num_Dev_up, averageType).MidLine;
def Bandwidth = (upperBand - lowerBand) / midLine;
plot PercentBW = Round(((price - lowerBand) / (upperBand - lowerBand) * Bandwidth) * 100,2);
}
def s1PB = PBW(symbol1);
def s2PB = PBW(symbol2);
def s3PB = PBW(symbol3);
def s4PB = PBW(symbol4);
def s5PB = PBW(symbol5);
def s6PB = PBW(symbol6);
def s7PB = PBW(symbol7);
def s8PB = PBW(symbol8);
def s9PB = PBW(symbol9);
def s10PB = PBW(symbol10);
def s11PB = PBW(symbol11);
def s12PB = PBW(symbol12);
def s13PB = PBW(symbol13);
def s14PB = PBW(symbol14);
def s15PB = PBW(symbol15);
def s16PB = PBW(symbol16);
def s17PB = PBW(symbol17);
def s18PB = PBW(symbol18);
def s19PB = PBW(symbol19);
def s20PB = PBW(symbol20);
def s21PB = PBW(symbol21);
def s22PB = PBW(symbol22);
def s23PB = PBW(symbol23);
def s24PB = PBW(symbol24);
def s25PB = PBW(symbol25);
def s26PB = PBW(symbol26);
#######Plots
plot symb1 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 1 else Double.NaN;
symb1.SetPaintingStrategy(PaintingStrategy.POINTS);
symb1.SetLineWeight(DotSize);
symb1.AssignValueColor(if s1PB >= 3.5 then GlobalColor(“Buy”) else if s1PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol1)[1]), 1, "1: " + symbol1, if s1PB[1] >= 3.5 then GlobalColor(“Buy”) else if s1PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb1.HideBubble();
plot symb2 = if !IsNaN(close) and !IsNaN(close(symbol2)) then 2 else Double.NaN;
symb2.SetPaintingStrategy(PaintingStrategy.POINTS);
symb2.SetLineWeight(DotSize);
symb2.AssignValueColor(if s2PB >= 3.5 then GlobalColor(“Buy”) else if s2PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol2)[5]), 2, "2: " + symbol2, if s2PB[5] >= 3.5 then GlobalColor(“Buy”) else if s2PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb2.HideBubble();
plot symb3 = if !IsNaN(close) and !IsNaN(close(symbol3)) then 3 else Double.NaN;
symb3.SetPaintingStrategy(PaintingStrategy.POINTS);
symb3.SetLineWeight(DotSize);
symb3.AssignValueColor(if s3PB >= 3.5 then GlobalColor(“Buy”) else if s3PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol3)[1]), 3, "3: " + symbol3, if s3PB[1] >= 3.5 then GlobalColor(“Buy”) else if s3PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb3.HideBubble();
plot symb4 = if !IsNaN(close) and !IsNaN(close(symbol4)) then 4 else Double.NaN;
symb4.SetPaintingStrategy(PaintingStrategy.POINTS);
symb4.SetLineWeight(DotSize);
symb4.AssignValueColor(if s4PB >= 3.5 then GlobalColor(“Buy”) else if s4PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol4)[5]), 4, "4: " + symbol4, if s4PB[5] >= 3.5 then GlobalColor(“Buy”) else if s4PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb4.HideBubble();
plot symb5 = if !IsNaN(close) and !IsNaN(close(symbol5)) then 5 else Double.NaN;
symb5.SetPaintingStrategy(PaintingStrategy.POINTS);
symb5.SetLineWeight(DotSize);
symb5.AssignValueColor(if s5PB >= 3.5 then GlobalColor(“Buy”) else if s5PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol5)[1]), 5, "5: " + symbol5, if s5PB[1] >= 3.5 then GlobalColor(“Buy”) else if s5PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb5.HideBubble();
plot symb6 = if !IsNaN(close) and !IsNaN(close(symbol6)) then 6 else Double.NaN;
symb6.SetPaintingStrategy(PaintingStrategy.POINTS);
symb6.SetLineWeight(DotSize);
symb6.AssignValueColor(if s6PB >= 3.5 then GlobalColor(“Buy”) else if s6PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol6)[5]), 6, "6: " + symbol6, if s6PB[5] >= 3.5 then GlobalColor(“Buy”) else if s6PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb6.HideBubble();
plot symb7 = if !IsNaN(close) and !IsNaN(close(symbol7)) then 7 else Double.NaN;
symb7.SetPaintingStrategy(PaintingStrategy.POINTS);
symb7.SetLineWeight(DotSize);
symb7.AssignValueColor(if s7PB >= 3.5 then GlobalColor(“Buy”) else if s7PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol7)[1]), 7, "7: " + symbol7, if s7PB[1] >= 3.5 then GlobalColor(“Buy”) else if s7PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb7.HideBubble();
plot symb8 = if !IsNaN(close) and !IsNaN(close(symbol8)) then 8 else Double.NaN;
symb8.SetPaintingStrategy(PaintingStrategy.POINTS);
symb8.SetLineWeight(DotSize);
symb8.AssignValueColor(if s8PB >= 3.5 then GlobalColor(“Buy”) else if s8PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol8)[5]), 8, "8: " + symbol8, if s8PB[5] >= 3.5 then GlobalColor(“Buy”) else if s8PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb8.HideBubble();
plot symb9 = if !IsNaN(close) and !IsNaN(close(symbol9)) then 9 else Double.NaN;
symb9.SetPaintingStrategy(PaintingStrategy.POINTS);
symb9.SetLineWeight(DotSize);
symb9.AssignValueColor(if s9PB >= 3.5 then GlobalColor(“Buy”) else if s9PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol9)[1]), 9, "9: " + symbol9, if s9PB[1] >= 3.5 then GlobalColor(“Buy”) else if s9PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb9.HideBubble();
plot symb10 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10 else Double.NaN;
symb10.SetPaintingStrategy(PaintingStrategy.POINTS);
symb10.SetLineWeight(DotSize);
symb10.AssignValueColor(if s10PB >= 3.5 then GlobalColor(“Buy”) else if s10PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol10)[5]), 10, "10: " + symbol10, if s10PB[5] >= 3.5 then GlobalColor(“Buy”) else if s10PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb10.HideBubble();
plot symb11 = if !IsNaN(close) and !IsNaN(close(symbol11)) then 11 else Double.NaN;
symb11.SetPaintingStrategy(PaintingStrategy.POINTS);
symb11.SetLineWeight(DotSize);
symb11.AssignValueColor(if s11PB >= 3.5 then GlobalColor(“Buy”) else if s11PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol11)[1]), 11, "11: " + symbol11, if s11PB[1] >= 3.5 then GlobalColor(“Buy”) else if s11PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb11.HideBubble();
plot symb12 = if !IsNaN(close) and !IsNaN(close(symbol12)) then 13 else Double.NaN;
symb12.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb12.SetLineWeight(DotSize);
symb12.AssignValueColor(if s12PB >= 3.5 then GlobalColor(“Buy”) else if s12PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol12)[5]), 13, "13: " + symbol12, if s12PB[5] >= 3.5 then GlobalColor(“Buy”) else if s12PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb12.HideBubble();
plot symb13 = if !IsNaN(close) and !IsNaN(close(symbol13)) then 14 else Double.NaN;
symb13.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb13.SetLineWeight(DotSize);
symb13.AssignValueColor(if s13PB >= 3.5 then GlobalColor(“Buy”) else if s13PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol13)[1]), 14, "14: " + symbol13, if s13PB[1] >= 3.5 then GlobalColor(“Buy”) else if s13PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb13.HideBubble();
plot symb14 = if !IsNaN(close) and !IsNaN(close(symbol14)) then 15 else Double.NaN;
symb14.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb14.SetLineWeight(DotSize);
symb14.AssignValueColor(if s14PB >= 3.5 then GlobalColor(“Buy”) else if s14PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol14)[5]), 15, "15: " + symbol14, if s14PB[5] >= 3.5 then GlobalColor(“Buy”) else if s14PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb14.HideBubble();
plot symb15 = if !IsNaN(close) and !IsNaN(close(symbol15)) then 16 else Double.NaN;
symb15.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb15.SetLineWeight(DotSize);
symb15.AssignValueColor(if s15PB >= 3.5 then GlobalColor(“Buy”) else if s15PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol15)[1]), 16, "16: " + symbol15, if s15PB[1] >= 3.5 then GlobalColor(“Buy”) else if s15PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb15.HideBubble();
plot symb16 = if !IsNaN(close) and !IsNaN(close(symbol16)) then 17 else Double.NaN;
symb16.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb16.SetLineWeight(DotSize);
symb16.AssignValueColor(if s16PB >= 3.5 then GlobalColor(“Buy”) else if s16PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol16)[5]), 17, "17: " + symbol16, if s16PB[5] >= 3.5 then GlobalColor(“Buy”) else if s16PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb16.HideBubble();
plot symb17 = if !IsNaN(close) and !IsNaN(close(symbol17)) then 18 else Double.NaN;
symb17.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb17.SetLineWeight(DotSize);
symb17.AssignValueColor(if s17PB >= 3.5 then GlobalColor(“Buy”) else if s17PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol17)[1]), 18, "18: " + symbol17, if s17PB[1] >= 3.5 then GlobalColor(“Buy”) else if s17PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb17.HideBubble();
plot symb18 = if !IsNaN(close) and !IsNaN(close(symbol18)) then 19 else Double.NaN;
symb18.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb18.SetLineWeight(DotSize);
symb18.AssignValueColor(if s18PB >= 3.5 then GlobalColor(“Buy”) else if s18PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol18)[5]), 19, "19: " + symbol18, if s18PB[5] >= 3.5 then GlobalColor(“Buy”) else if s18PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb18.HideBubble();
plot symb19 = if !IsNaN(close) and !IsNaN(close(symbol19)) then 20 else Double.NaN;
symb19.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb19.SetLineWeight(DotSize);
symb19.AssignValueColor(if s19PB >= 3.5 then GlobalColor(“Buy”) else if s19PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol19)[1]), 20, "20: " + symbol19, if s19PB[1] >= 3.5 then GlobalColor(“Buy”) else if s19PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb19.HideBubble();
plot symb20 = if !IsNaN(close) and !IsNaN(close(symbol20)) then 21 else Double.NaN;
symb20.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb20.SetLineWeight(DotSize);
symb20.AssignValueColor(if s20PB >= 3.5 then GlobalColor(“Buy”) else if s20PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol20)[5]), 21, "21: " + symbol20, if s20PB[5] >= 3.5 then GlobalColor(“Buy”) else if s20PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb20.HideBubble();
plot symb21 = if !IsNaN(close) and !IsNaN(close(symbol21)) then 22 else Double.NaN;
symb21.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb21.SetLineWeight(DotSize);
symb21.AssignValueColor(if s21PB >= 3.5 then GlobalColor(“Buy”) else if s21PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol21)[1]), 22, "22: " + symbol21, if s21PB[1] >= 3.5 then GlobalColor(“Buy”) else if s21PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb21.HideBubble();
plot symb22 = if !IsNaN(close) and !IsNaN(close(symbol22)) then 23 else Double.NaN;
symb22.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb22.SetLineWeight(DotSize);
symb22.AssignValueColor(if s22PB >= 3.5 then GlobalColor(“Buy”) else if s22PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol22)[5]), 23, "23: " + symbol22, if s22PB[5] >= 3.5 then GlobalColor(“Buy”) else if s22PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb22.HideBubble();
plot symb23 = if !IsNaN(close) and !IsNaN(close(symbol23)) then 24 else Double.NaN;
symb23.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb23.SetLineWeight(DotSize);
symb23.AssignValueColor(if s23PB >= 3.5 then GlobalColor(“Buy”) else if s23PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol23)[1]), 24, "24: " + symbol23, if s23PB[1] >= 3.5 then GlobalColor(“Buy”) else if s23PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb23.HideBubble();
plot symb24 = if !IsNaN(close) and !IsNaN(close(symbol24)) then 25 else Double.NaN;
symb24.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb24.SetLineWeight(DotSize);
symb24.AssignValueColor(if s24PB >= 3.5 then GlobalColor(“Buy”) else if s24PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol24)[5]), 25, "25: " + symbol24, if s24PB[5] >= 3.5 then GlobalColor(“Buy”) else if s24PB[5] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb24.HideBubble();
plot symb25 = if !IsNaN(close) and !IsNaN(close(symbol25)) then 26 else Double.NaN;
symb25.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb25.SetLineWeight(DotSize);
symb25.AssignValueColor(if s25PB >= 3.5 then GlobalColor(“Buy”) else if s25PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol25)[1]), 26, "26: " + symbol25, if s25PB[1] >= 3.5 then GlobalColor(“Buy”) else if s25PB[1] <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb25.HideBubble();
plot symb26 = if !IsNaN(close) and !IsNaN(close(symbol26)) then 27 else Double.NaN;
symb26.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb26.SetLineWeight(DotSize);
symb26.AssignValueColor(if s26PB >= 3.5 then GlobalColor(“Buy”) else if s26PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddChartBubble(showBubbles and IsNaN(close) and !IsNaN(close[4]) and !IsNaN(close(symbol26)[5]), 27, "27: " + symbol26, if s26PB[5] >= 3.5 then GlobalColor(“Buy”) else if s26PB[5] < 1 then GlobalColor(“Sell") else GlobalColor("Neutral"), yes);
symb26.HideBubble();
plot spacer0 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 0.5 else Double.NaN;
plot spacer1 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 1.5 else Double.NaN;
plot spacer2 = if !IsNaN(close) and !IsNaN(close(symbol2)) then 2.5 else Double.NaN;
plot spacer3 = if !IsNaN(close) and !IsNaN(close(symbol3)) then 3.5 else Double.NaN;
plot spacer4 = if !IsNaN(close) and !IsNaN(close(symbol4)) then 4.5 else Double.NaN;
plot spacer5 = if !IsNaN(close) and !IsNaN(close(symbol5)) then 5.5 else Double.NaN;
plot spacer6 = if !IsNaN(close) and !IsNaN(close(symbol6)) then 6.5 else Double.NaN;
plot spacer7 = if !IsNaN(close) and !IsNaN(close(symbol7)) then 7.5 else Double.NaN;
plot spacer8 = if !IsNaN(close) and !IsNaN(close(symbol8)) then 8.5 else Double.NaN;
plot spacer9 = if !IsNaN(close) and !IsNaN(close(symbol9)) then 9.5 else Double.NaN;
plot spacer10 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10.5 else Double.NaN;
plot spacer11 = if !IsNaN(close) and !IsNaN(close(symbol11)) then 11.5 else Double.NaN;
plot spacer12 = if !IsNaN(close) and !IsNaN(close(symbol12)) then 12.5 else Double.NaN;
plot spacer13 = if !IsNaN(close) and !IsNaN(close(symbol13)) then 13.5 else Double.NaN;
plot spacer14 = if !IsNaN(close) and !IsNaN(close(symbol14)) then 14.5 else Double.NaN;
plot spacer15 = if !IsNaN(close) and !IsNaN(close(symbol15)) then 15.5 else Double.NaN;
plot spacer16 = if !IsNaN(close) and !IsNaN(close(symbol16)) then 16.5 else Double.NaN;
plot spacer17 = if !IsNaN(close) and !IsNaN(close(symbol17)) then 17.5 else Double.NaN;
plot spacer18 = if !IsNaN(close) and !IsNaN(close(symbol18)) then 18.5 else Double.NaN;
plot spacer19 = if !IsNaN(close) and !IsNaN(close(symbol19)) then 19.5 else Double.NaN;
plot spacer20 = if !IsNaN(close) and !IsNaN(close(symbol20)) then 20.5 else Double.NaN;
plot spacer21 = if !IsNaN(close) and !IsNaN(close(symbol21)) then 21.5 else Double.NaN;
plot spacer22 = if !IsNaN(close) and !IsNaN(close(symbol22)) then 22.5 else Double.NaN;
plot spacer23 = if !IsNaN(close) and !IsNaN(close(symbol23)) then 23.5 else Double.NaN;
plot spacer24 = if !IsNaN(close) and !IsNaN(close(symbol24)) then 24.5 else Double.NaN;
plot spacer25 = if !IsNaN(close) and !IsNaN(close(symbol25)) then 25.5 else Double.NaN;
plot spacer26 = if !IsNaN(close) and !IsNaN(close(symbol26)) then 26.5 else Double.NaN;
spacer0.SetDefaultColor(Color.GRAY);
spacer1.SetDefaultColor(Color.GRAY);
spacer2.SetDefaultColor(Color.GRAY);
spacer3.SetDefaultColor(Color.GRAY);
spacer4.SetDefaultColor(Color.GRAY);
spacer5.SetDefaultColor(Color.GRAY);
spacer6.SetDefaultColor(Color.GRAY);
spacer7.SetDefaultColor(Color.GRAY);
spacer8.SetDefaultColor(Color.GRAY);
spacer9.SetDefaultColor(Color.GRAY);
spacer10.SetDefaultColor(Color.GRAY);
spacer11.SetDefaultColor(Color.GRAY);
spacer12.SetDefaultColor(Color.GRAY);
spacer13.SetDefaultColor(Color.GRAY);
spacer14.SetDefaultColor(Color.GRAY);
spacer15.SetDefaultColor(Color.GRAY);
spacer16.SetDefaultColor(Color.GRAY);
spacer17.SetDefaultColor(Color.GRAY);
spacer18.SetDefaultColor(Color.GRAY);
spacer19.SetDefaultColor(Color.GRAY);
spacer20.SetDefaultColor(Color.GRAY);
spacer21.SetDefaultColor(Color.GRAY);
spacer22.SetDefaultColor(Color.GRAY);
spacer23.SetDefaultColor(Color.GRAY);
spacer24.SetDefaultColor(Color.GRAY);
spacer25.SetDefaultColor(Color.GRAY);
spacer26.SetDefaultColor(Color.GRAY);
spacer0.HideBubble();
spacer1.HideBubble();
spacer2.HideBubble();
spacer3.HideBubble();
spacer4.HideBubble();
spacer5.HideBubble();
spacer6.HideBubble();
spacer7.HideBubble();
spacer8.HideBubble();
spacer9.HideBubble();
spacer10.HideBubble();
spacer11.HideBubble();
spacer12.HideBubble();
spacer13.HideBubble();
spacer14.HideBubble();
spacer15.HideBubble();
spacer16.HideBubble();
spacer17.HideBubble();
spacer18.HideBubble();
spacer19.HideBubble();
spacer20.HideBubble();
spacer21.HideBubble();
spacer22.HideBubble();
spacer23.HideBubble();
spacer24.HideBubble();
spacer25.HideBubble();
spacer26.HideBubble();
spacer0.HideTitle();
spacer1.HideTitle();
spacer2.HideTitle();
spacer3.HideTitle();
spacer4.HideTitle();
spacer5.HideTitle();
spacer6.HideTitle();
spacer7.HideTitle();
spacer8.HideTitle();
spacer9.HideTitle();
spacer10.HideTitle();
spacer11.HideTitle();
spacer12.HideTitle();
spacer13.HideTitle();
spacer14.HideTitle();
spacer15.HideTitle();
spacer16.HideTitle();
spacer17.HideTitle();
spacer18.HideTitle();
spacer19.HideTitle();
spacer20.HideTitle();
spacer21.HideTitle();
spacer22.HideTitle();
spacer23.HideTitle();
spacer24.HideTitle();
spacer25.HideTitle();
spacer26.HideTitle();
AddLabel(1, "PctBxBW ", Color.ORANGE);
AddLabel(showLabels == yes, "1:" + symbol1 + s1PB + “%”, if s1PB >= 3.5 then GlobalColor(“Buy”) else if s1PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "2:" + symbol2 + s2PB + “%”, if s2PB >= 3.5 then GlobalColor(“Buy”) else if s2PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "3:" + symbol3 + s3PB + “%”, if s3PB >= 3.5 then GlobalColor(“Buy”) else if s3PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "4:" + symbol4 + s4PB + "%",if s4PB >= 3.5 then GlobalColor(“Buy”) else if s4PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "5:" + symbol5 + s5PB + “%”, if s5PB >= 3.5 then GlobalColor(“Buy”) else if s5PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "6:" + symbol6 + s6PB + “%”, if s6PB >= 3.5 then GlobalColor(“Buy”) else if s6PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "7:" + symbol7 + s1PB + “%”, if s7PB >= 3.5 then GlobalColor(“Buy”) else if s7PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "8:" + symbol8 + s8PB + “%”, if s8PB >= 3.5 then GlobalColor(“Buy”) else if s8PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "9:" + symbol9 + s9PB + “%”, if s9PB >= 3.5 then GlobalColor(“Buy”) else if s9PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "10:" + symbol10 + s10PB + “%”, if s10PB >= 3.5 then GlobalColor(“Buy”) else if s10PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "11:" + symbol11 + s11PB + “%”, if s11PB >= 3.5 then GlobalColor(“Buy”) else if s11PB <=1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "13:" + symbol12 + s12PB + “%”, if s12PB >= 3.5 then GlobalColor(“Buy”) else if s12PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "14:" + symbol13 + s13PB + “%”, if s13PB >= 3.5 then GlobalColor(“Buy”) else if s13PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "15:" + symbol14 + s14PB + “%”, if s14PB >= 3.5 then GlobalColor(“Buy”) else if s14PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "16:" + symbol15 + s15PB + “%”, if s15PB >= 3.5 then GlobalColor(“Buy”) else if s15PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "17:" + symbol16 + s16PB + “%”, if s16PB >= 3.5 then GlobalColor(“Buy”) else if s16PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "18:" + symbol17 + s17PB + “%”, if s17PB >= 3.5 then GlobalColor(“Buy”) else if s17PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "19:" + symbol18 + s18PB + “%”, if s18PB >= 3.5 then GlobalColor(“Buy”) else if s18PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "20:" + symbol19 + s19PB + “%”, if s19PB >= 3.5 then GlobalColor(“Buy”) else if s19PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "21:" + symbol20 + s20PB + “%”, if s20PB >= 3.5 then GlobalColor(“Buy”) else if s20PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "22:" + symbol21 + s21PB + “%”, if s21PB >= 3.5 then GlobalColor(“Buy”) else if s21PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "23:" + symbol22 + s22PB + “%”, if s22PB >= 3.5 then GlobalColor(“Buy”) else if s22PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "24:" + symbol23 + s23PB + “%”, if s23PB >= 3.5 then GlobalColor(“Buy”) else if s23PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "25:" + symbol24 + s24PB + “%”, if s24PB >= 3.5 then GlobalColor(“Buy”) else if s24PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "26:" + symbol25 + s25PB + “%”, if s25PB >= 3.5 then GlobalColor(“Buy”) else if s25PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
AddLabel(showLabels == yes, "27:" + symbol26 + s26PB + “%”, if s26PB >= 3.5 then GlobalColor(“Buy”) else if s26PB <= 1 then GlobalColor(“Sell") else GlobalColor("Neutral"));
declare lower;
input symbol26 = "NYA";
input symbol25 = "XAX";
input symbol24 = "IWB";
input symbol23 = "FFTY";
input symbol22 = "BOUT";
input symbol21 = "XTC";
input symbol20 = "SOX";
input symbol19 = "RUT";
input symbol18 = "RUI";
input symbol17 = "COMP:GIDS";
input symbol16 = "SPY";
input symbol15 = "QQQ";
input symbol14 = "IWM";
input symbol13 = "$DJT";
input symbol12 = "IBB";
input symbol11 = "XLY";
input symbol10 = "XLV";
input symbol9 = "XLU";
input symbol8 = "XLRE";
input symbol7 = "XLP";
input symbol6 = "XLK";
input symbol5 = "XLI";
input symbol4 = "XLF";
input symbol3 = "XLE";
input symbol2 = "XLC";
input symbol1 = "XLB";
input Length1 = 3;
input Length2 = 6;
input Length3 = 9;
input Length4 = 12;
input Length5 = 15;
input Length6 = 30;
input Length7 = 45;
input Length8 = 60;
input averageType = AverageType.EXPONENTIAL;
input lookback = 21;
input smoothingPeriod = 10;
input showLabels = yes;
DefineGlobalColor("ALong", Color.CYAN);
DefineGlobalColor("AShort", Color.MAGENTA);
DefineGlobalColor("Buy", Color.GREEN);
DefineGlobalColor("Sell", Color.RED);
DefineGlobalColor("Neutral", Color.YELLOW);
input DotSize = 3;
script SymbolRank_AXL {
input symbol = "";
def price1 = (close(symbol) + open(symbol)) / 2;
input Length1 = 3;
input Length2 = 6;
input Length3 = 9;
input Length4 = 12;
input Length5 = 15;
input Length6 = 30;
input Length7 = 45;
input Length8 = 60;
input averageType = AverageType.EXPONENTIAL;
def D1 = MovingAverage(averageType, price1, Length1);
def D2 = MovingAverage(averageType, price1, Length2);
def D3 = MovingAverage(averageType, price1, Length3);
def D4 = MovingAverage(averageType, price1, Length4);
def W1 = MovingAverage(averageType, price1, Length5);
def W2 = MovingAverage(averageType, price1, Length6);
def W3 = MovingAverage(averageType, price1, Length7);
def W4 = MovingAverage(averageType, price1, Length8);
def DCondition1 = If(D1 > D2 and D2 > D3 and D3 > D4, 5,
If((D1 > D2 and D2 > D4 and D4 > D3) or (D1 > D3 and D3 > D2 and D2 > D4) or
(D2 > D1 and D1 > D3 and D3 > D4), 4, If(D2 > D1 and D1 > D4 and D4 > D3, 3,
If((D1 > D3 and D3 > D4 and D4 > D2) or ( D1 > D4 and D4 > D2 and D2 > D3) or
(D2 > D3 and D3 > D1 and D1 > D4) or (D3 > D1 and D1 > D2 and D2 > D4) , 2,
If((D1 > D4 and D4 > D3 and D3 > D2) or (D3 > D2 and D2 > D1 and D1 > D4), 1, 0)))));
def DCondition2 = If(D4 > D3 and D3 > D2 and D2 > D1, -5,
If((D3 > D4 and D4 > D2 and D2 > D1) or (D4 > D2 and D2 > D3 and D3 > D1) or
(D4 > D3 and D3 > D1 and D1 > D2), -4, If(D3 > D4 and D4 > D1 and D1 > D2, -3,
If((D2 > D4 and D4 > D3 and D3 > D1) or (D3 > D2 and D2 > D4 and D4 > D1) or
(D4 > D1 and D1 > D3 and D3 > D2) or (D4 > D2 and D2 > D1 and D1 > D3) , -2,
If((D2 > D3 and D3 > D4 and D4 > D1) or (D4 > D1 and D1 > D2 and D2 > D3), -1, 0)))));
def WCondition1 = If(W1 > W2 and W2 > W3 and W3 > W4, 50,
If((W1 > W2 and W2 > W4 and W4 > W3) or (W1 > W3 and W3 > W2 and W2 > W4) or
(W2 > W1 and W1 > W3 and W3 > W4), 40, If(W2 > W1 and W1 > W4 and W4 > W3, 30,
If((W1 > W3 and W3 > W4 and W4 > W2) or ( W1 > W4 and W4 > W2 and W2 > W3) or
(W2 > W3 and W3 > W1 and W1 > W4) or (W3 > W1 and W1 > W2 and W2 > W4) , 20,
If((W1 > W4 and W4 > W3 and W3 > W2) or (W3 > W2 and W2 > W1 and W1 > W4), 10, 0)))));
def WCondition2 = If(W4 > W3 and W3 > W2 and W2 > W1, -50,
If((W3 > W4 and W4 > W2 and W2 > W1) or (W4 > W2 and W2 > W3 and W3 > W1) or
(W4 > W3 and W3 > W1 and W1 > W2), -40, If(W3 > W4 and W4 > W1 and W1 > W2, -30,
If((W2 > W4 and W4 > W3 and W3 > W1) or (W3 > W2 and W2 > W4 and W4 > W1) or
(W4 > W1 and W1 > W3 and W3 > W2) or (W4 > W2 and W2 > W1 and W1 > W3) , -20,
If((W2 > W3 and W3 > W4 and W4 > W1) or (W4 > W1 and W1 > W2 and W2 > W3), -10, 0)))));
def WT = (WCondition1 + WCondition2);
def TT = (WCondition1 + WCondition2 + DCondition1 + DCondition2);
#####signals
plot AXL = TT crosses above WT;
}
script SymbolRank_AXS {
input symbol = "";
def price1 = (close(symbol) + open(symbol)) / 2;
input Length1 = 3;
input Length2 = 6;
input Length3 = 9;
input Length4 = 12;
input Length5 = 15;
input Length6 = 30;
input Length7 = 45;
input Length8 = 60;
input averageType = AverageType.EXPONENTIAL;
def D1 = MovingAverage(averageType, price1, Length1);
def D2 = MovingAverage(averageType, price1, Length2);
def D3 = MovingAverage(averageType, price1, Length3);
def D4 = MovingAverage(averageType, price1, Length4);
def W1 = MovingAverage(averageType, price1, Length5);
def W2 = MovingAverage(averageType, price1, Length6);
def W3 = MovingAverage(averageType, price1, Length7);
def W4 = MovingAverage(averageType, price1, Length8);
def DCondition1 = If(D1 > D2 and D2 > D3 and D3 > D4, 5,
If((D1 > D2 and D2 > D4 and D4 > D3) or (D1 > D3 and D3 > D2 and D2 > D4) or
(D2 > D1 and D1 > D3 and D3 > D4), 4, If(D2 > D1 and D1 > D4 and D4 > D3, 3,
If((D1 > D3 and D3 > D4 and D4 > D2) or ( D1 > D4 and D4 > D2 and D2 > D3) or
(D2 > D3 and D3 > D1 and D1 > D4) or (D3 > D1 and D1 > D2 and D2 > D4) , 2,
If((D1 > D4 and D4 > D3 and D3 > D2) or (D3 > D2 and D2 > D1 and D1 > D4), 1, 0)))));
def DCondition2 = If(D4 > D3 and D3 > D2 and D2 > D1, -5,
If((D3 > D4 and D4 > D2 and D2 > D1) or (D4 > D2 and D2 > D3 and D3 > D1) or
(D4 > D3 and D3 > D1 and D1 > D2), -4, If(D3 > D4 and D4 > D1 and D1 > D2, -3,
If((D2 > D4 and D4 > D3 and D3 > D1) or (D3 > D2 and D2 > D4 and D4 > D1) or
(D4 > D1 and D1 > D3 and D3 > D2) or (D4 > D2 and D2 > D1 and D1 > D3) , -2,
If((D2 > D3 and D3 > D4 and D4 > D1) or (D4 > D1 and D1 > D2 and D2 > D3), -1, 0)))));
def WCondition1 = If(W1 > W2 and W2 > W3 and W3 > W4, 50,
If((W1 > W2 and W2 > W4 and W4 > W3) or (W1 > W3 and W3 > W2 and W2 > W4) or
(W2 > W1 and W1 > W3 and W3 > W4), 40, If(W2 > W1 and W1 > W4 and W4 > W3, 30,
If((W1 > W3 and W3 > W4 and W4 > W2) or ( W1 > W4 and W4 > W2 and W2 > W3) or
(W2 > W3 and W3 > W1 and W1 > W4) or (W3 > W1 and W1 > W2 and W2 > W4) , 20,
If((W1 > W4 and W4 > W3 and W3 > W2) or (W3 > W2 and W2 > W1 and W1 > W4), 10, 0)))));
def WCondition2 = If(W4 > W3 and W3 > W2 and W2 > W1, -50,
If((W3 > W4 and W4 > W2 and W2 > W1) or (W4 > W2 and W2 > W3 and W3 > W1) or
(W4 > W3 and W3 > W1 and W1 > W2), -40, If(W3 > W4 and W4 > W1 and W1 > W2, -30,
If((W2 > W4 and W4 > W3 and W3 > W1) or (W3 > W2 and W2 > W4 and W4 > W1) or
(W4 > W1 and W1 > W3 and W3 > W2) or (W4 > W2 and W2 > W1 and W1 > W3) , -20,
If((W2 > W3 and W3 > W4 and W4 > W1) or (W4 > W1 and W1 > W2 and W2 > W3), -10, 0)))));
def WT = (WCondition1 + WCondition2);
def TT = (WCondition1 + WCondition2 + DCondition1 + DCondition2);
#####signals
plot AXS = TT crosses below WT;
}
script SymbolRank_ALong {
input symbol = "";
def price1 = (close(symbol) + open(symbol)) / 2;
input Length1 = 3;
input Length2 = 6;
input Length3 = 9;
input Length4 = 12;
input Length5 = 15;
input Length6 = 30;
input Length7 = 45;
input Length8 = 60;
input averageType = AverageType.EXPONENTIAL;
def D1 = MovingAverage(averageType, price1, Length1);
def D2 = MovingAverage(averageType, price1, Length2);
def D3 = MovingAverage(averageType, price1, Length3);
def D4 = MovingAverage(averageType, price1, Length4);
def W1 = MovingAverage(averageType, price1, Length5);
def W2 = MovingAverage(averageType, price1, Length6);
def W3 = MovingAverage(averageType, price1, Length7);
def W4 = MovingAverage(averageType, price1, Length8);
def DCondition1 = If(D1 > D2 and D2 > D3 and D3 > D4, 5,
If((D1 > D2 and D2 > D4 and D4 > D3) or (D1 > D3 and D3 > D2 and D2 > D4) or
(D2 > D1 and D1 > D3 and D3 > D4), 4, If(D2 > D1 and D1 > D4 and D4 > D3, 3,
If((D1 > D3 and D3 > D4 and D4 > D2) or ( D1 > D4 and D4 > D2 and D2 > D3) or
(D2 > D3 and D3 > D1 and D1 > D4) or (D3 > D1 and D1 > D2 and D2 > D4) , 2,
If((D1 > D4 and D4 > D3 and D3 > D2) or (D3 > D2 and D2 > D1 and D1 > D4), 1, 0)))));
def DCondition2 = If(D4 > D3 and D3 > D2 and D2 > D1, -5,
If((D3 > D4 and D4 > D2 and D2 > D1) or (D4 > D2 and D2 > D3 and D3 > D1) or
(D4 > D3 and D3 > D1 and D1 > D2), -4, If(D3 > D4 and D4 > D1 and D1 > D2, -3,
If((D2 > D4 and D4 > D3 and D3 > D1) or (D3 > D2 and D2 > D4 and D4 > D1) or
(D4 > D1 and D1 > D3 and D3 > D2) or (D4 > D2 and D2 > D1 and D1 > D3) , -2,
If((D2 > D3 and D3 > D4 and D4 > D1) or (D4 > D1 and D1 > D2 and D2 > D3), -1, 0)))));
def WCondition1 = If(W1 > W2 and W2 > W3 and W3 > W4, 50,
If((W1 > W2 and W2 > W4 and W4 > W3) or (W1 > W3 and W3 > W2 and W2 > W4) or
(W2 > W1 and W1 > W3 and W3 > W4), 40, If(W2 > W1 and W1 > W4 and W4 > W3, 30,
If((W1 > W3 and W3 > W4 and W4 > W2) or ( W1 > W4 and W4 > W2 and W2 > W3) or
(W2 > W3 and W3 > W1 and W1 > W4) or (W3 > W1 and W1 > W2 and W2 > W4) , 20,
If((W1 > W4 and W4 > W3 and W3 > W2) or (W3 > W2 and W2 > W1 and W1 > W4), 10, 0)))));
def WCondition2 = If(W4 > W3 and W3 > W2 and W2 > W1, -50,
If((W3 > W4 and W4 > W2 and W2 > W1) or (W4 > W2 and W2 > W3 and W3 > W1) or
(W4 > W3 and W3 > W1 and W1 > W2), -40, If(W3 > W4 and W4 > W1 and W1 > W2, -30,
If((W2 > W4 and W4 > W3 and W3 > W1) or (W3 > W2 and W2 > W4 and W4 > W1) or
(W4 > W1 and W1 > W3 and W3 > W2) or (W4 > W2 and W2 > W1 and W1 > W3) , -20,
If((W2 > W3 and W3 > W4 and W4 > W1) or (W4 > W1 and W1 > W2 and W2 > W3), -10, 0)))));
def WT = (WCondition1 + WCondition2);
def TT = (WCondition1 + WCondition2 + DCondition1 + DCondition2);
#####signals
plot ALong = TT > WT;
}
script SymbolRank_AShort {
input symbol = "";
def price1 = (close(symbol) + open(symbol)) / 2;
input Length1 = 3;
input Length2 = 6;
input Length3 = 9;
input Length4 = 12;
input Length5 = 15;
input Length6 = 30;
input Length7 = 45;
input Length8 = 60;
input averageType = AverageType.EXPONENTIAL;
def D1 = MovingAverage(averageType, price1, Length1);
def D2 = MovingAverage(averageType, price1, Length2);
def D3 = MovingAverage(averageType, price1, Length3);
def D4 = MovingAverage(averageType, price1, Length4);
def W1 = MovingAverage(averageType, price1, Length5);
def W2 = MovingAverage(averageType, price1, Length6);
def W3 = MovingAverage(averageType, price1, Length7);
def W4 = MovingAverage(averageType, price1, Length8);
def DCondition1 = If(D1 > D2 and D2 > D3 and D3 > D4, 5,
If((D1 > D2 and D2 > D4 and D4 > D3) or (D1 > D3 and D3 > D2 and D2 > D4) or
(D2 > D1 and D1 > D3 and D3 > D4), 4, If(D2 > D1 and D1 > D4 and D4 > D3, 3,
If((D1 > D3 and D3 > D4 and D4 > D2) or ( D1 > D4 and D4 > D2 and D2 > D3) or
(D2 > D3 and D3 > D1 and D1 > D4) or (D3 > D1 and D1 > D2 and D2 > D4) , 2,
If((D1 > D4 and D4 > D3 and D3 > D2) or (D3 > D2 and D2 > D1 and D1 > D4), 1, 0)))));
def DCondition2 = If(D4 > D3 and D3 > D2 and D2 > D1, -5,
If((D3 > D4 and D4 > D2 and D2 > D1) or (D4 > D2 and D2 > D3 and D3 > D1) or
(D4 > D3 and D3 > D1 and D1 > D2), -4, If(D3 > D4 and D4 > D1 and D1 > D2, -3,
If((D2 > D4 and D4 > D3 and D3 > D1) or (D3 > D2 and D2 > D4 and D4 > D1) or
(D4 > D1 and D1 > D3 and D3 > D2) or (D4 > D2 and D2 > D1 and D1 > D3) , -2,
If((D2 > D3 and D3 > D4 and D4 > D1) or (D4 > D1 and D1 > D2 and D2 > D3), -1, 0)))));
def WCondition1 = If(W1 > W2 and W2 > W3 and W3 > W4, 50,
If((W1 > W2 and W2 > W4 and W4 > W3) or (W1 > W3 and W3 > W2 and W2 > W4) or
(W2 > W1 and W1 > W3 and W3 > W4), 40, If(W2 > W1 and W1 > W4 and W4 > W3, 30,
If((W1 > W3 and W3 > W4 and W4 > W2) or ( W1 > W4 and W4 > W2 and W2 > W3) or
(W2 > W3 and W3 > W1 and W1 > W4) or (W3 > W1 and W1 > W2 and W2 > W4) , 20,
If((W1 > W4 and W4 > W3 and W3 > W2) or (W3 > W2 and W2 > W1 and W1 > W4), 10, 0)))));
def WCondition2 = If(W4 > W3 and W3 > W2 and W2 > W1, -50,
If((W3 > W4 and W4 > W2 and W2 > W1) or (W4 > W2 and W2 > W3 and W3 > W1) or
(W4 > W3 and W3 > W1 and W1 > W2), -40, If(W3 > W4 and W4 > W1 and W1 > W2, -30,
If((W2 > W4 and W4 > W3 and W3 > W1) or (W3 > W2 and W2 > W4 and W4 > W1) or
(W4 > W1 and W1 > W3 and W3 > W2) or (W4 > W2 and W2 > W1 and W1 > W3) , -20,
If((W2 > W3 and W3 > W4 and W4 > W1) or (W4 > W1 and W1 > W2 and W2 > W3), -10, 0)))));
def WT = (WCondition1 + WCondition2);
def TT = (WCondition1 + WCondition2 + DCondition1 + DCondition2);
#####signals
plot AShort = TT < WT;
}
def s1R1 = SymbolRank_ALong(symbol1);
def s2R1 = SymbolRank_ALong(symbol2);
def s3R1 = SymbolRank_ALong(symbol3);
def s4R1 = SymbolRank_ALong(symbol4);
def s5R1 = SymbolRank_ALong (symbol5);
def s6R1 = SymbolRank_ALong (symbol6);
def s7R1 = SymbolRank_ALong (symbol7);
def s8R1 = SymbolRank_ALong (symbol8);
def s9R1 = SymbolRank_ALong (symbol9);
def s10R1 = SymbolRank_ALong (symbol10);
def s11R1 = SymbolRank_ALong (symbol11);
def s12R1 = SymbolRank_ALong (symbol12);
def s13R1 = SymbolRank_ALong (symbol13);
def s14R1 = SymbolRank_ALong (symbol14);
def s15R1 = SymbolRank_ALong (symbol15);
def s16R1 = SymbolRank_ALong (symbol16);
def s17R1 = SymbolRank_ALong (symbol17);
def s18R1 = SymbolRank_ALong (symbol18);
def s19R1 = SymbolRank_ALong (symbol19);
def s20R1 = SymbolRank_ALong (symbol20);
def s21R1 = SymbolRank_ALong (symbol21);
def s22R1 = SymbolRank_ALong (symbol22);
def s23R1 = SymbolRank_ALong (symbol23);
def s24R1 = SymbolRank_ALong (symbol24);
def s25R1 = SymbolRank_ALong (symbol25);
def s26R1 = SymbolRank_ALong (symbol26);
def s1R2 = SymbolRank_AShort(symbol1);
def s2R2 = SymbolRank_AShort(symbol2);
def s3R2 = SymbolRank_AShort(symbol3);
def s4R2 = SymbolRank_AShort(symbol4);
def s5R2 = SymbolRank_AShort (symbol5);
def s6R2 = SymbolRank_AShort (symbol6);
def s7R2 = SymbolRank_AShort (symbol7);
def s8R2 = SymbolRank_AShort (symbol8);
def s9R2 = SymbolRank_AShort(symbol9);
def s10R2 = SymbolRank_AShort (symbol10);
def s11R2 = SymbolRank_AShort (symbol11);
def s12R2 = SymbolRank_AShort (symbol12);
def s13R2 = SymbolRank_AShort (symbol13);
def s14R2 = SymbolRank_AShort (symbol14);
def s15R2 = SymbolRank_AShort (symbol15);
def s16R2 = SymbolRank_AShort (symbol16);
def s17R2 = SymbolRank_AShort (symbol17);
def s18R2 = SymbolRank_AShort (symbol18);
def s19R2 = SymbolRank_AShort(symbol19);
def s20R2 = SymbolRank_AShort (symbol20);
def s21R2 = SymbolRank_AShort (symbol21);
def s22R2 = SymbolRank_AShort (symbol22);
def s23R2 = SymbolRank_AShort (symbol23);
def s24R2 = SymbolRank_AShort (symbol24);
def s25R2 = SymbolRank_AShort (symbol25);
def s26R2 = SymbolRank_AShort (symbol26);
def s1R3 = SymbolRank_AXS(symbol1);
def s2R3 = SymbolRank_AXS(symbol2);
def s3R3 = SymbolRank_AXS(symbol3);
def s4R3 = SymbolRank_AXS(symbol4);
def s5R3 = SymbolRank_AXS (symbol5);
def s6R3 = SymbolRank_AXS (symbol6);
def s7R3 = SymbolRank_AXS (symbol7);
def s8R3 = SymbolRank_AXS (symbol8);
def s9R3 = SymbolRank_AXS(symbol9);
def s10R3 = SymbolRank_AXS (symbol10);
def s11R3 = SymbolRank_AXS (symbol11);
def s12R3 = SymbolRank_AXS (symbol12);
def s13R3 = SymbolRank_AXS (symbol13);
def s14R3 = SymbolRank_AXS (symbol14);
def s15R3 = SymbolRank_AXS (symbol15);
def s16R3 = SymbolRank_AXS (symbol16);
def s17R3 = SymbolRank_AXS (symbol17);
def s18R3 = SymbolRank_AXS (symbol18);
def s19R3 = SymbolRank_AXS(symbol19);
def s20R3 = SymbolRank_AXS (symbol20);
def s21R3 = SymbolRank_AXS (symbol21);
def s22R3 = SymbolRank_AXS (symbol22);
def s23R3 = SymbolRank_AXS (symbol23);
def s24R3 = SymbolRank_AXS (symbol24);
def s25R3 = SymbolRank_AXS (symbol25);
def s26R3 = SymbolRank_AXS (symbol26);
def s1R4 = SymbolRank_AXL(symbol1);
def s2R4 = SymbolRank_AXL(symbol2);
def s3R4 = SymbolRank_AXL(symbol3);
def s4R4 = SymbolRank_AXL(symbol4);
def s5R4 = SymbolRank_AXL (symbol5);
def s6R4 = SymbolRank_AXL (symbol6);
def s7R4 = SymbolRank_AXL (symbol7);
def s8R4 = SymbolRank_AXL (symbol8);
def s9R4 = SymbolRank_AXL(symbol9);
def s10R4 = SymbolRank_AXL (symbol10);
def s11R4 = SymbolRank_AXL (symbol11);
def s12R4 = SymbolRank_AXL (symbol12);
def s13R4 = SymbolRank_AXL (symbol13);
def s14R4 = SymbolRank_AXL (symbol14);
def s15R4 = SymbolRank_AXL (symbol15);
def s16R4 = SymbolRank_AXL (symbol16);
def s17R4 = SymbolRank_AXL (symbol17);
def s18R4 = SymbolRank_AXL (symbol18);
def s19R4 = SymbolRank_AXL(symbol19);
def s20R4 = SymbolRank_AXL (symbol20);
def s21R4 = SymbolRank_AXL (symbol21);
def s22R4 = SymbolRank_AXL (symbol22);
def s23R4 = SymbolRank_AXL (symbol23);
def s24R4 = SymbolRank_AXL (symbol24);
def s25R4 = SymbolRank_AXL (symbol25);
def s26R4 = SymbolRank_AXL (symbol26);
#######Plots
plot symb1 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 1 else Double.NaN;
symb1.SetPaintingStrategy(PaintingStrategy.POINTS);
symb1.SetLineWeight(DotSize);
symb1.AssignValueColor(if s1R4 == 1 then GlobalColor("Buy") else if s1R3 == 1 then GlobalColor(“Sell”) else if s1R2 == 1 then GlobalColor(“AShort”) else if s1R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol1)[1]), 1, "1: " + symbol1, if s1R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb1.HideBubble();
plot symb2 = if !IsNaN(close) and !IsNaN(close(symbol2)) then 2 else Double.NaN;
symb2.SetPaintingStrategy(PaintingStrategy.POINTS);
symb2.SetLineWeight(DotSize);
symb2.AssignValueColor(if s2R4 == 1 then GlobalColor("Buy") else if s2R3 == 1 then GlobalColor(“Sell”) else if s2R2 == 1 then GlobalColor(“AShort”) else if s2R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol2)[5]), 2, "2: " + symbol2, if s2R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb2.HideBubble();
plot symb3 = if !IsNaN(close) and !IsNaN(close(symbol3)) then 3 else Double.NaN;
symb3.SetPaintingStrategy(PaintingStrategy.POINTS);
symb3.SetLineWeight(DotSize);
symb3.AssignValueColor(if s3R4 == 1 then GlobalColor("Buy") else if s3R3 == 1 then GlobalColor(“Sell”) else if s3R2 == 1 then GlobalColor(“AShort”) else if s3R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol3)[1]), 3, "3: " + symbol3, if s3R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb3.HideBubble();
plot symb4 = if !IsNaN(close) and !IsNaN(close(symbol4)) then 4 else Double.NaN;
symb4.SetPaintingStrategy(PaintingStrategy.POINTS);
symb4.SetLineWeight(DotSize);
symb4.AssignValueColor(if s4R4 == 1 then GlobalColor("Buy") else if s4R3 == 1 then GlobalColor(“Sell”) else if s4R2 == 1 then GlobalColor(“AShort”) else if s4R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol4)[5]), 4, "4: " + symbol4, if s4R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb4.HideBubble();
plot symb5 = if !IsNaN(close) and !IsNaN(close(symbol5)) then 5 else Double.NaN;
symb5.SetPaintingStrategy(PaintingStrategy.POINTS);
symb5.SetLineWeight(DotSize);
symb5.AssignValueColor(if s5R4 == 1 then GlobalColor("Buy") else if s5R3 == 1 then GlobalColor(“Sell”) else if s5R2 == 1 then GlobalColor(“AShort”) else if s5R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol5)[1]), 5, "5: " + symbol1, if s5R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb5.HideBubble();
plot symb6 = if !IsNaN(close) and !IsNaN(close(symbol6)) then 6 else Double.NaN;
symb6.SetPaintingStrategy(PaintingStrategy.POINTS);
symb6.SetLineWeight(DotSize);
symb6.AssignValueColor(if s6R4 == 1 then GlobalColor("Buy") else if s6R3 == 1 then GlobalColor(“Sell”) else if s6R2 == 1 then GlobalColor(“AShort”) else if s6R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol6)[5]), 6, "6: " + symbol6, if s6R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb6.HideBubble();
plot symb7 = if !IsNaN(close) and !IsNaN(close(symbol7)) then 7 else Double.NaN;
symb7.SetPaintingStrategy(PaintingStrategy.POINTS);
symb7.SetLineWeight(DotSize);
symb7.AssignValueColor(if s7R4 == 1 then GlobalColor("Buy") else if s7R3 == 1 then GlobalColor(“Sell”) else if s7R2 == 1 then GlobalColor(“AShort”) else if s7R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol7)[1]), 7, "7: " + symbol7, if s7R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb7.HideBubble();
plot symb8 = if !IsNaN(close) and !IsNaN(close(symbol8)) then 8 else Double.NaN;
symb8.SetPaintingStrategy(PaintingStrategy.POINTS);
symb8.SetLineWeight(DotSize);
symb8.AssignValueColor(if s8R4 == 1 then GlobalColor("Buy") else if s8R3 == 1 then GlobalColor(“Sell”) else if s8R2 == 1 then GlobalColor(“AShort”) else if s8R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol8)[5]), 8, "8: " + symbol8, if s8R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb8.HideBubble();
plot symb9 = if !IsNaN(close) and !IsNaN(close(symbol9)) then 9 else Double.NaN;
symb9.SetPaintingStrategy(PaintingStrategy.POINTS);
symb9.SetLineWeight(DotSize);
symb9.AssignValueColor(if s9R4 == 1 then GlobalColor("Buy") else if s9R3 == 1 then GlobalColor(“Sell”) else if s9R2 == 1 then GlobalColor(“AShort”) else if s9R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol9)[1]), 9, "9: " + symbol9, if s9R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb9.HideBubble();
plot symb10 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10 else Double.NaN;
symb10.SetPaintingStrategy(PaintingStrategy.POINTS);
symb10.SetLineWeight(DotSize);
symb10.AssignValueColor(if s10R4 == 1 then GlobalColor("Buy") else if s10R3 == 1 then GlobalColor(“Sell”) else if s10R2 == 1 then GlobalColor(“AShort”) else if s10R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol10)[5]), 10, "10: " + symbol10, if s10R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb10.HideBubble();
plot symb11 = if !IsNaN(close) and !IsNaN(close(symbol11)) then 11 else Double.NaN;
symb11.SetPaintingStrategy(PaintingStrategy.POINTS);
symb11.SetLineWeight(DotSize);
symb11.AssignValueColor(if s11R4 == 1 then GlobalColor("Buy") else if s11R3 == 1 then GlobalColor(“Sell”) else if s11R2 == 1 then GlobalColor(“AShort”) else if s11R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol11)[1]), 11, "11: " + symbol1, if s11R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb11.HideBubble();
plot symb12 = if !IsNaN(close) and !IsNaN(close(symbol12)) then 13 else Double.NaN;
symb12.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb12.SetLineWeight(DotSize);
symb12.AssignValueColor(if s12R4 == 1 then GlobalColor("Buy") else if s12R3 == 1 then GlobalColor(“Sell”) else if s12R2 == 1 then GlobalColor(“AShort”) else if s12R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol12)[1]), 13, "13: " + symbol12, if s12R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb12.HideBubble();
plot symb13 = if !IsNaN(close) and !IsNaN(close(symbol13)) then 14 else Double.NaN;
symb13.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb13.SetLineWeight(DotSize);
symb13.AssignValueColor(if s13R4 == 1 then GlobalColor("Buy") else if s13R3 == 1 then GlobalColor(“Sell”) else if s13R2 == 1 then GlobalColor(“AShort”) else if s13R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol13)[5]), 14, "14: " + symbol13, if s13R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb13.HideBubble();
plot symb14 = if !IsNaN(close) and !IsNaN(close(symbol14)) then 15 else Double.NaN;
symb14.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb14.SetLineWeight(DotSize);
symb14.AssignValueColor(if s14R4 == 1 then GlobalColor("Buy") else if s14R3 == 1 then GlobalColor(“Sell”) else if s14R2 == 1 then GlobalColor(“AShort”) else if s14R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol14)[1]), 15, "15: " + symbol14, if s14R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb14.HideBubble();
plot symb15 = if !IsNaN(close) and !IsNaN(close(symbol15)) then 16 else Double.NaN;
symb15.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb15.SetLineWeight(DotSize);
symb15.AssignValueColor(if s15R4 == 1 then GlobalColor("Buy") else if s15R3 == 1 then GlobalColor(“Sell”) else if s15R2 == 1 then GlobalColor(“AShort”) else if s15R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol15)[5]), 16, "16: " + symbol15, if s15R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb15.HideBubble();
plot symb16 = if !IsNaN(close) and !IsNaN(close(symbol16)) then 17 else Double.NaN;
symb16.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb16.SetLineWeight(DotSize);
symb16.AssignValueColor(if s16R4 == 1 then GlobalColor("Buy") else if s16R3 == 1 then GlobalColor(“Sell”) else if s16R2 == 1 then GlobalColor(“AShort”) else if s16R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol16)[1]), 17, "17: " + symbol16, if s16R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
symb16.HideBubble();
plot symb17 = if !IsNaN(close) and !IsNaN(close(symbol17)) then 18 else Double.NaN;
symb17.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb17.SetLineWeight(DotSize);
symb17.AssignValueColor(if s17R4 == 1 then GlobalColor("Buy") else if s17R3 == 1 then GlobalColor(“Sell”) else if s17R2 == 1 then GlobalColor(“AShort”) else if s17R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol17)[5]), 18, "18: " + symbol17, if s17R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb17.HideBubble();
plot symb18 = if !IsNaN(close) and !IsNaN(close(symbol18)) then 19 else Double.NaN;
symb18.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb18.SetLineWeight(DotSize);
symb18.AssignValueColor(if s18R4 == 1 then GlobalColor("Buy") else if s18R3 == 1 then GlobalColor(“Sell”) else if s18R2 == 1 then GlobalColor(“AShort”) else if s18R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol18)[1]), 19, "19: " + symbol18, if s18R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb18.HideBubble();
plot symb19 = if !IsNaN(close) and !IsNaN(close(symbol19)) then 20 else Double.NaN;
symb19.SetPaintingStrategy(PaintingStrategy.Triangles);
symb19.SetLineWeight(DotSize);
symb19.AssignValueColor(if s19R4 == 1 then GlobalColor("Buy") else if s19R3 == 1 then GlobalColor(“Sell”) else if s19R2 == 1 then GlobalColor(“AShort”) else if s19R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol19)[5]), 20, "20: " + symbol19, if s19R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb19.HideBubble();
plot symb20 = if !IsNaN(close) and !IsNaN(close(symbol20)) then 21 else Double.NaN;
symb20.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb20.SetLineWeight(DotSize);
symb20.AssignValueColor(if s20R4 == 1 then GlobalColor("Buy") else if s20R3 == 1 then GlobalColor(“Sell”) else if s20R2 == 1 then GlobalColor(“AShort”) else if s20R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol20)[1]), 21, "21: " + symbol20, if s20R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb20.HideBubble();
plot symb21 = if !IsNaN(close) and !IsNaN(close(symbol21)) then 22 else Double.NaN;
symb21.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb21.SetLineWeight(DotSize);
symb21.AssignValueColor(if s21R4 == 1 then GlobalColor("Buy") else if s21R3 == 1 then GlobalColor(“Sell”) else if s21R2 == 1 then GlobalColor(“AShort”) else if s21R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol21)[5]), 22, "22: " + symbol21, if s21R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb21.HideBubble();
plot symb22 = if !IsNaN(close) and !IsNaN(close(symbol22)) then 23 else Double.NaN;
symb22.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb22.SetLineWeight(DotSize);
symb22.AssignValueColor(if s22R4 == 1 then GlobalColor("Buy") else if s22R3 == 1 then GlobalColor(“Sell”) else if s22R2 == 1 then GlobalColor(“AShort”) else if s22R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol22)[1]), 23, "23: " + symbol22, if s22R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb22.HideBubble();
plot symb23 = if !IsNaN(close) and !IsNaN(close(symbol23)) then 24 else Double.NaN;
symb23.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb23.SetLineWeight(DotSize);
symb23.AssignValueColor(if s23R4 == 1 then GlobalColor("Buy") else if s23R3 == 1 then GlobalColor(“Sell”) else if s23R2 == 1 then GlobalColor(“AShort”) else if s23R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol23)[5]), 24, "24: " + symbol23, if s23R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb23.HideBubble();
plot symb24 = if !IsNaN(close) and !IsNaN(close(symbol24)) then 25 else Double.NaN;
symb24.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb24.SetLineWeight(DotSize);
symb24.AssignValueColor(if s24R4 == 1 then GlobalColor("Buy") else if s24R3 == 1 then GlobalColor(“Sell”) else if s24R2 == 1 then GlobalColor(“AShort”) else if s24R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol24)[1]), 25, "25: " + symbol24, if s24R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb24.HideBubble();
plot symb25 = if !IsNaN(close) and !IsNaN(close(symbol25)) then 26 else Double.NaN;
symb25.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb25.SetLineWeight(DotSize);
symb25.AssignValueColor(if s25R4 == 1 then GlobalColor("Buy") else if s25R3 == 1 then GlobalColor(“Sell”) else if s25R2 == 1 then GlobalColor(“AShort”) else if s25R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close[4]) and !IsNaN(close[5]) and !IsNaN(close(symbol25)[5]), 26, "26: " + symbol25, if s25R1[5] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb25.HideBubble();
plot symb26 = if !IsNaN(close) and !IsNaN(close(symbol26)) then 27 else Double.NaN;
symb26.SetPaintingStrategy(PaintingStrategy.TRIANGLES);
symb26.SetLineWeight(DotSize);
symb26.AssignValueColor(if s26R4 == 1 then GlobalColor("Buy") else if s26R3 == 1 then GlobalColor(“Sell”) else if s26R2 == 1 then GlobalColor(“AShort”) else if s26R1 == 1 then GlobalColor(“ALong") else GlobalColor("Neutral"));
AddChartBubble(showLabels and IsNaN(close) and !IsNaN(close[1]) and !IsNaN(close(symbol26)[1]), 27, "27: " + symbol26, if s26R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"), yes);
Symb26.HideBubble();
plot spacer0 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10.5 else Double.NaN;
plot spacer1 = if !IsNaN(close) and !IsNaN(close(symbol1)) then 1.5 else Double.NaN;
plot spacer2 = if !IsNaN(close) and !IsNaN(close(symbol2)) then 2.5 else Double.NaN;
plot spacer3 = if !IsNaN(close) and !IsNaN(close(symbol3)) then 3.5 else Double.NaN;
plot spacer4 = if !IsNaN(close) and !IsNaN(close(symbol4)) then 4.5 else Double.NaN;
plot spacer5 = if !IsNaN(close) and !IsNaN(close(symbol5)) then 5.5 else Double.NaN;
plot spacer6 = if !IsNaN(close) and !IsNaN(close(symbol6)) then 6.5 else Double.NaN;
plot spacer7 = if !IsNaN(close) and !IsNaN(close(symbol7)) then 7.5 else Double.NaN;
plot spacer8 = if !IsNaN(close) and !IsNaN(close(symbol8)) then 8.5 else Double.NaN;
plot spacer9 = if !IsNaN(close) and !IsNaN(close(symbol9)) then 9.5 else Double.NaN;
plot spacer10 = if !IsNaN(close) and !IsNaN(close(symbol10)) then 10.5 else Double.NaN;
plot spacer11 = if !IsNaN(close) and !IsNaN(close(symbol11)) then 11.5 else Double.NaN;
plot spacer12 = if !IsNaN(close) and !IsNaN(close(symbol12)) then 12.5 else Double.NaN;
plot spacer13 = if !IsNaN(close) and !IsNaN(close(symbol13)) then 13.5 else Double.NaN;
plot spacer14 = if !IsNaN(close) and !IsNaN(close(symbol14)) then 14.5 else Double.NaN;
plot spacer15 = if !IsNaN(close) and !IsNaN(close(symbol15)) then 15.5 else Double.NaN;
plot spacer16 = if !IsNaN(close) and !IsNaN(close(symbol16)) then 16.5 else Double.NaN;
plot spacer17 = if !IsNaN(close) and !IsNaN(close(symbol17)) then 17.5 else Double.NaN;
plot spacer18 = if !IsNaN(close) and !IsNaN(close(symbol18)) then 18.5 else Double.NaN;
plot spacer19 = if !IsNaN(close) and !IsNaN(close(symbol19)) then 19.5 else Double.NaN;
plot spacer20 = if !IsNaN(close) and !IsNaN(close(symbol20)) then 20.5 else Double.NaN;
plot spacer21 = if !IsNaN(close) and !IsNaN(close(symbol21)) then 21.5 else Double.NaN;
plot spacer22 = if !IsNaN(close) and !IsNaN(close(symbol22)) then 22.5 else Double.NaN;
plot spacer23 = if !IsNaN(close) and !IsNaN(close(symbol23)) then 23.5 else Double.NaN;
plot spacer24 = if !IsNaN(close) and !IsNaN(close(symbol24)) then 24.5 else Double.NaN;
plot spacer25 = if !IsNaN(close) and !IsNaN(close(symbol25)) then 25.5 else Double.NaN;
plot spacer26 = if !IsNaN(close) and !IsNaN(close(symbol26)) then 26.5 else Double.NaN;
spacer0.SetDefaultColor(Color.GRAY);
spacer1.SetDefaultColor(Color.GRAY);
spacer2.SetDefaultColor(Color.GRAY);
spacer3.SetDefaultColor(Color.GRAY);
spacer4.SetDefaultColor(Color.GRAY);
spacer5.SetDefaultColor(Color.GRAY);
spacer6.SetDefaultColor(Color.GRAY);
spacer7.SetDefaultColor(Color.GRAY);
spacer8.SetDefaultColor(Color.GRAY);
spacer9.SetDefaultColor(Color.GRAY);
spacer10.SetDefaultColor(Color.GRAY);
spacer11.SetDefaultColor(Color.GRAY);
spacer12.SetDefaultColor(Color.GRAY);
spacer13.SetDefaultColor(Color.GRAY);
spacer14.SetDefaultColor(Color.GRAY);
spacer15.SetDefaultColor(Color.GRAY);
spacer16.SetDefaultColor(Color.GRAY);
spacer17.SetDefaultColor(Color.GRAY);
spacer18.SetDefaultColor(Color.GRAY);
spacer19.SetDefaultColor(Color.GRAY);
spacer20.SetDefaultColor(Color.GRAY);
spacer21.SetDefaultColor(Color.GRAY);
spacer22.SetDefaultColor(Color.GRAY);
spacer23.SetDefaultColor(Color.GRAY);
spacer24.SetDefaultColor(Color.GRAY);
spacer25.SetDefaultColor(Color.GRAY);
spacer26.SetDefaultColor(Color.GRAY);
spacer0.HideBubble();
spacer1.HideBubble();
spacer2.HideBubble();
spacer3.HideBubble();
spacer4.HideBubble();
spacer5.HideBubble();
spacer6.HideBubble();
spacer7.HideBubble();
spacer8.HideBubble();
spacer9.HideBubble();
spacer10.HideBubble();
spacer11.HideBubble();
spacer12.HideBubble();
spacer13.HideBubble();
spacer14.HideBubble();
spacer15.HideBubble();
spacer16.HideBubble();
spacer17.HideBubble();
spacer18.HideBubble();
spacer19.HideBubble();
spacer20.HideBubble();
spacer21.HideBubble();
spacer22.HideBubble();
spacer23.HideBubble();
spacer24.HideBubble();
spacer25.HideBubble();
spacer26.HideBubble();
spacer0.HideTitle();
spacer1.HideTitle();
spacer2.HideTitle();
spacer3.HideTitle();
spacer4.HideTitle();
spacer5.HideTitle();
spacer6.HideTitle();
spacer7.HideTitle();
spacer8.HideTitle();
spacer9.HideTitle();
spacer10.HideTitle();
spacer11.HideTitle();
spacer12.HideTitle();
spacer13.HideTitle();
spacer14.HideTitle();
spacer15.HideTitle();
spacer16.HideTitle();
spacer17.HideTitle();
spacer18.HideTitle();
spacer19.HideTitle();
spacer20.HideTitle();
spacer21.HideTitle();
spacer22.HideTitle();
spacer23.HideTitle();
spacer24.HideTitle();
spacer25.HideTitle();
spacer26.HideTitle();
DefineGlobalColor("Pre_Cyan", CreateColor(50, 200, 255)) ;
DefineGlobalColor("LabelGreen", CreateColor(0, 165, 0)) ;
DefineGlobalColor("LabelRed", CreateColor(225, 0, 0)) ;
input BetaLength = 21;
input StochLength = 34;
input showOverlay = yes;
AddLabel(1, "R-Beta/Stoch (" + BetaLength + "," + StochLength + ") ", Color.LIGHT_GRAY);
script calcBeta {
input secondSymbol = "XLF";
input refSymbol = "SPX";
input betaLength = 21;
input returnLength = 1;
def refPrice = close(refSymbol);
def primary = if refPrice[returnLength] == 0
then 0
else (refPrice - refPrice[returnLength]) / refPrice[returnLength] * 100;
def secondPrice = close(secondSymbol);
def secondary = if secondPrice[returnLength] == 0
then 0
else (secondPrice - secondPrice[returnLength]) / secondPrice[returnLength] * 100;
plot Beta = Covariance(secondary, primary, betaLength) / Sqr(StDev(primary, betaLength));
}
script EhlersESSfilter {
input price = close;
input length = 8;
def ESS_coeff_0 = Exp(-Double.Pi * Sqrt(2) / length);
def ESS_coeff_2 = 2 * ESS_coeff_0 * Cos(Sqrt(2) * Double.Pi / length);
def ESS_coeff_3 = - Sqr(ESS_coeff_0);
def ESS_coeff_1 = 1 - ESS_coeff_2 - ESS_coeff_3;
def ESS_filter = if IsNaN(price + price[1]) then
ESS_filter[1]
else ESS_coeff_1 * (price + price[1]) / 2 +
ESS_coeff_2 * ESS_filter[1] +
ESS_coeff_3 * ESS_filter[2];
plot Smooth_Filter =
if BarNumber() < length then
price
else if !IsNaN(price) then
ESS_filter
else Double.NaN;
}
script calcStoch {
input data = close;
input StochLength = 21;
def stochasticValue = ((data - Lowest(data, StochLength)) / (Highest(data, StochLength) - Lowest(data, StochLength)));
plot stoch = stochasticValue;
}
####
def upStochLimit = 0.95;
def lowStockLimit = 0.05;
def stoch1 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol1, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "1:" + Symbol1,
if stoch1 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch1 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch1 >= stoch1[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch2 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol2, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "2:" + Symbol2,
if stoch2 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch2 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch2 >= stoch2[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch3 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol3, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "3:" + Symbol3,
if stoch3 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch3 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch3 >= stoch3[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch4 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol4, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "4:" + Symbol4,
if stoch4 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch4 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch4 >= stoch4[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch5 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol5, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "5:" + Symbol5,
if stoch5 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch5 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch5 >= stoch5[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch6 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol6, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "6:" + Symbol6,
if stoch6 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch6 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch6 >= stoch6[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch7 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol7, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "7:" + Symbol7,
if stoch7 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch7 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch7 >= stoch7[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch8 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol8, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "8:" + Symbol8,
if stoch8 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch8 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch8 >= stoch8[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch9 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol9, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "9:" + Symbol9,
if stoch9 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch9 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch9 >= stoch9[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch10 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol10, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "10:" + Symbol10,
if stoch10 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch10 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch10 >= stoch10[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch11 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol11, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "11:" + Symbol11,
if stoch11 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch11 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch11 >= stoch11[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch12 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol12, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "13:" + Symbol12,
if stoch12 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch12 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch12 >= stoch12[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch13 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol13, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "14:" + Symbol13,
if stoch13 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch13 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch13 >= stoch13[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch14 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol14, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "15:" + Symbol14,
if stoch14 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch14 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch14 >= stoch14[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch15 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol15, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "16:" + Symbol15,
if stoch15 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch15 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch15 >= stoch15[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch16 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol16, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "17:" + Symbol16,
if stoch16 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch16 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch16 >= stoch16[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch17 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol17, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "18:" + Symbol17,
if stoch17 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch17 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch17 >= stoch17[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch18 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol18, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "19:" + Symbol18,
if stoch18 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch18 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch18 >= stoch18[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch19 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol19, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "20:" + Symbol19,
if stoch19 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch19 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch19 >= stoch19[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch20 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol20, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "21:" + Symbol20,
if stoch20 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch20 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch20 >= stoch20[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch21 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol21, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "22:" + Symbol21,
if stoch21 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch21 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch21 >= stoch21[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch22 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol22, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "23:" + Symbol22,
if stoch22 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch22 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch22 >= stoch22[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch23 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol23, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "24:" + Symbol23,
if stoch23 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch23 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch23 >= stoch23[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch24 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol24, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "25:" + Symbol24,
if stoch24 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch24 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch24 >= stoch24[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch25 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol25, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "26:" + Symbol25,
if stoch25 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch25 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch25 >= stoch25[1] then GlobalColor("LabelGreen") else Color.VIOLET);
def stoch26 = calcStoch( data = EhlersESSfilter( calcBeta(secondSymbol = Symbol26, betaLength = betaLength) ), stochLength = StochLength);
AddLabel(showOverlay, "27:" + Symbol26,
if stoch26 <= lowStockLimit then GlobalColor("LabelRed") else
if stoch26 >= upStochLimit then GlobalColor("Pre_Cyan") else
if stoch26 >= stoch26[1] then GlobalColor("LabelGreen") else Color.VIOLET);
script SymbolSectorP {
input symb = "";
def c = close(symbol = symb, period = AggregationPeriod.DAY);
def PctChg = (c / c[1]) - 1;
plot pct = Round(PctChg,4)*100;
}
def s1SectP = SymbolSectorP(symbol1);
def s2SectP = SymbolSectorP(symbol2);
def s3SectP = SymbolSectorP(symbol3);
def s4SectP = SymbolSectorP(symbol4);
def s5SectP = SymbolSectorP(symbol5);
def s6SectP = SymbolSectorP(symbol6);
def s7SectP = SymbolSectorP(symbol7);
def s8SectP = SymbolSectorP(symbol8);
def s9SectP = SymbolSectorP(symbol9);
def s10SectP = SymbolSectorP(symbol10);
def s11SectP = SymbolSectorP(symbol11);
def s12SectP = SymbolSectorP(symbol12);
def s13SectP = SymbolSectorP(symbol13);
def s14SectP = SymbolSectorP(symbol14);
def s15SectP = SymbolSectorP(symbol15);
def s16SectP = SymbolSectorP(symbol16);
def s17SectP = SymbolSectorP(symbol17);
def s18SectP = SymbolSectorP(symbol18);
def s19SectP = SymbolSectorP(symbol19);
def s20SectP = SymbolSectorP(symbol20);
def s21SectP = SymbolSectorP(symbol21);
def s22SectP = SymbolSectorP(symbol22);
def s23SectP = SymbolSectorP(symbol23);
def s24SectP = SymbolSectorP(symbol24);
def s25SectP = SymbolSectorP(symbol25);
def s26SectP = SymbolSectorP(symbol26);
AddLabel(1, "S&P Sector Performance", Color.ORANGE);
AddLabel(showLabels == yes,"1:" + symbol1 + s1SectP + “%”, if s1SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"2:" + symbol2 + s2SectP + “%”, if s2SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"3:" + symbol3 + s3SectP + “%”, if s3SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"4:" + symbol4 + s4SectP + “%”, if s4SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"5:" + symbol5 + s5SectP + “%”, if s5SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"6:" + symbol6 + s6SectP + “%”, if s6SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"7:" + symbol7 + s7SectP + “%”, if s7SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"8:" + symbol8 + s8SectP + “%”, if s8SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"9:" + symbol9 + s9SectP + “%”, if s9SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"10:" + symbol10 + s10SectP + “%”, if s10SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"11:" + symbol11 + s11SectP + “%”, if s11SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"13:" + symbol12 + s12SectP + “%”, if s12SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"14:" + symbol13 + s13SectP + “%”, if s13SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"15:" + symbol14 + s14SectP + “%”, if s14SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"16:" + symbol15 + s15SectP + “%”, if s15SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"17:" + symbol16 + s16SectP + “%”, if s16SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"18:" + symbol17 + s17SectP + “%”, if s17SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"19:" + symbol18 + s18SectP + “%”, if s18SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"20:" + symbol19 + s19SectP + “%”, if s19SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"21:" + symbol20 + s20SectP + “%”, if s20SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"22:" + symbol21 + s21SectP + “%”, if s21SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"23:" + symbol22 + s22SectP + “%”, if s22SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"24:" + symbol23 + s23SectP + “%”, if s23SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"25:" + symbol24 + s24SectP + “%”, if s24SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"26:" + symbol25 + s25SectP + “%”, if s25SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
AddLabel(showLabels == yes,"27:" + symbol26 + s26SectP + “%”, if s26SectP > 0 then GlobalColor("Buy") else GlobalColor("Sell"));
script SymbolROC {
input symbol = "";
def price = close(symbol);
input lookback = 21;
input smoothingPeriod = 10;
plot SymbolROC = Round(ExpAverage(100 * ((price - price [lookback]) / price [lookback]), smoothingPeriod), 1) ;
}
def s1ROC = SymbolROC(symbol1);
def s2ROC = SymbolROC(symbol2);
def s3ROC = SymbolROC(symbol3);
def s4ROC = SymbolROC(symbol4);
def s5ROC = SymbolROC(symbol5);
def s6ROC = SymbolROC(symbol6);
def s7ROC = SymbolROC(symbol7);
def s8ROC = SymbolROC(symbol8);
def s9ROC = SymbolROC(symbol9);
def s10ROC = SymbolROC(symbol10);
def s11ROC = SymbolROC(symbol11);
def s12ROC = SymbolROC(symbol12);
def s13ROC = SymbolROC(symbol13);
def s14ROC = SymbolROC(symbol14);
def s15ROC = SymbolROC(symbol15);
def s16ROC = SymbolROC(symbol16);
def s17ROC = SymbolROC(symbol17);
def s18ROC = SymbolROC(symbol18);
def s19ROC = SymbolROC(symbol19);
def s20ROC = SymbolROC(symbol20);
def s21ROC = SymbolROC(symbol21);
def s22ROC = SymbolROC(symbol22);
def s23ROC = SymbolROC(symbol23);
def s24ROC = SymbolROC(symbol24);
def s25ROC = SymbolROC(symbol25);
def s26ROC = SymbolROC(symbol26);
AddLabel(ShowLabels == Yes, lookback +" Period ROC " + smoothingPeriod + " Sm", Color.WHITE);
AddLabel(showLabels == yes,"1:" + symbol1 + s1ROC + “%”, if s1R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "2: " + symbol2 + s2ROC + “%”, if s2R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "3: " + symbol3 + s3ROC + “%”, if s3R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "4: " + symbol4 + s4ROC + “%”, if s4R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "5: " + symbol5 + s5ROC + “%”, if s5R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "6: " + symbol6 + s6ROC + “%”, if s6R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "7: " + symbol7 + s7ROC + “%”, if s7R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "8: " + symbol8 + s8ROC + “%”, if s8R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "9: " + symbol9 + s9ROC + “%”, if s9R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "10: " + symbol10 + s10ROC + “%”, if s10R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "11: " + symbol11 + s11ROC + “%”, if s11R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "13: " + symbol12 + s12ROC + “%”, if s12R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "14: " + symbol13 + s13ROC + “%”, if s13R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "15: " + symbol14 + s14ROC + “%”, if s14R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "16: " + symbol15 + s15ROC + “%”, if s15R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "17: " + symbol16 + s16ROC + “%”, if s16R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "18: " + symbol17 + s17ROC + “%”, if s17R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "19: " + symbol18 + s18ROC + “%”, if s18R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "20: " + symbol19 + s19ROC + “%”, if s19R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "21: " + symbol20 + s20ROC + “%”, if s20R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "22: " + symbol21 + s21ROC + “%”, if s21R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "23: " + symbol22 + s22ROC + “%”, if s22R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "24: " + symbol23 + s23ROC + “%”, if s23R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "25: " + symbol24 + s24ROC + “%”, if s24R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "26: " + symbol25 + s25ROC + “%”, if s25R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
AddLabel(showLabels == yes, "27: " + symbol26 + s16ROC + “%”, if s26R1[1] > 0 then GlobalColor("ALong") else GlobalColor("AShort"));
Such a custom indicator sounds like a great way to get people to subscribe to premium.Ultimately, It would be good to have it in this format but I believe that Market Scholars (Former Investools folks) do this in Excel. For ±$3000/year!!
Here ya go: see the first post in this thread; read the next 5 pages for the pros and cons of this indicatorhttps%3A//i.imgur.com/awFxvbu.png[/img]']
I FOUND THIS CODE FOR IT ON A THINKSCRIPT CLOUD AND TRIED INSERTING IT ON THINKORSWIM BUT FOR SOME REASON IT GIVES ME A WARNING SIGN AS IF SOMETHING IS WRONG WITH THE CODE.
OBVIOUSLY I TRIED REMOVING THE TOP SECTION THAT EXPLAINS THE INDICATOR BUT STILL NOTHING
We are limited to plotting ETFs.need to add Bonds/T-Bills to this
Join useThinkScript to post your question to a community of 21,000+ developers and traders.
Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|
Alternate Sector Analysis Study for ThinkorSwim | Indicators | 17 | ||
T | S&P 500 Sector Performance for ThinkorSwim | Indicators | 28 | |
Repaints Cup and Handle Indicator for ThinkorSwim | Indicators | 24 | ||
The Ultimate Buy and Sell Indicator for ThinkOrSwim | Indicators | 5 | ||
Z-Score Probability Indicator for ThinkOrSwim | Indicators | 26 |
Start a new thread and receive assistance from our community.
useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.
We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.
If you are new, or just looking for guidance, here are some helpful links to get you started.