#### Branch

##### Member

**VIP**

So, I am looking for my watch list to show me: [Symbol] + [Column 1] + [Column 2] + [RSI number]

**COLUMN 1**(return a "Bull" or "Bear" message) based on the following:

input price = Ohlc4;

input length1 = 4;

input length2 = 100;

input averageType1 = AverageType.SIMPLE;

input averageType2 = AverageType.SIMPLE;

input crossingType = {default above, below};

def avg1 = MovingAverage(averageType1, price, length1);

def avg2 = MovingAverage(averageType2, price, length2);

AddLabel (yes, if Price > avg2 then "BULL" + "" else "" , Color.DARK_GREEN);

AddLabel (yes, if Price < avg2 then "BEAR" + "" else "" , Color.RED);

AddChartBubble(ohlc4 crosses below Average (ohlc4, 100), ohlc4, "BEAR", Color.WHITE, no);

AddChartBubble(ohlc4 crosses above Average (ohlc4, 100), ohlc4, "BULL", Color.WHITE, yes);

**COLUMN 2**(return the following message based on the following)

declare lower;

input length = 14;

input over_Bought = 65;

input over_Sold = 60;

input price = ohlc4;

input averageType = AverageType.SIMPLE;

input showBreakoutSignals = no;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);

def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

plot RSI = 50 * (ChgRatio + 1);

plot OverSold = over_Sold;

plot OverBought = over_Bought;

plot UpSignal = if RSI crosses above OverSold then OverSold else Double.NaN;

plot DownSignal = if RSI crosses below OverBought then OverBought else Double.NaN;

UpSignal.SetHiding(!showBreakoutSignals);

DownSignal.SetHiding(!showBreakoutSignals);

RSI.DefineColor("OverBought", GetColor(5));

RSI.DefineColor("Normal", GetColor(7));

RSI.DefineColor("OverSold", GetColor(1));

RSI.AssignValueColor(if RSI > over_Bought then RSI.color("OverBought") else if RSI < over_Sold then RSI.color("OverSold") else RSI.color("Normal"));

OverSold.SetDefaultColor(GetColor(8));

OverBought.SetDefaultColor(GetColor(8));

UpSignal.SetDefaultColor(Color.UPTICK);

UpSignal.SetPaintingStrategy(PaintingStrategy.ARROW_UP);

DownSignal.SetDefaultColor(Color.DOWNTICK);

DownSignal.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);

AddLabel (yes, if RSI < 50 then " RSI | SHORT: " + "BEAR" else "", Color.RED);

AddLabel (yes, if RSI > 50 then " RSI | Long: " + "BULL" else "", Color.DARK_GREEN);

AddLabel (yes, if RSI BETWEEN 50 AND 55 then "CAUTION! " + "50 & 55" else "", Color.BLACK);

AddLabel (yes, if RSI > 80 then "OVERBROUGHT" else "", Color.DARK_RED);

AddLabel (yes, if RSI > 90 then "(S)" else "", Color.RED);

AddLabel (yes, if RSI < 20 then "OVERSOLD" else "", Color.DARK_RED);

AddLabel (yes, if RSI < 10 then "(S)" else "", Color.RED);

AddLabel (yes, rsi, if rsi <= 50 or rsi >= 55 then Color.WHITE else Color.WHITE);

**COLUMN 3**

RSI number