RSI OverBought/Oversold AddLabel Error

D

DAB

New member
Hello,

Heard about this forum and excited to be here. I am working on an "AddLabel" function for my RSI code. TOS throws me an error and I am scratching my head as to how to resolve it.

Basically, I would like to see a confirmation Label, color.green for "U" and conversely color.red for "D".

The "AddLabel" function shows an error: Expected class com.devexperts.tos.thinkscript.Any at 22:1

Here is the code:

#Begin

declare lower;

DefineglobalColor ("U", color.green);
defineglobalColor ("D", color.red);


input longLength = 25;
input shortLength = 13;
input signalLength = 8;
input averageType = AverageType.EXPONENTIAL;


def diff = close - close[1];
def doubleSmoothedAbsDiff = MovingAverage(averageType, MovingAverage(averageType, AbsValue(diff), longLength), shortLength);

plot TSI;
plot Signal;

TSI = if doubleSmoothedAbsDiff == 0 then 0
else 100 * (MovingAverage(averageType, MovingAverage(averageType, diff, longLength), shortLength)) / doubleSmoothedAbsDiff;
Signal = MovingAverage(averageType, TSI, signalLength);
AddLabel(yes, if TSI > Signal then GlobalColor("U") else GlobalColor("D"));

#End

I would appreciate any insights as to how to correct this.

Note: if I remove the "GlobalColor" function, the indicator works error-less without the color distinction which is baffling. The Syntax above looks acceptable irrespective of the error. I wish TOS had some adequate debugging tools.

Many Thanks,

DAB
 
Last edited:
X

XeoNoX

New member
youre adding a label but not adding any text for the label, so i theory there is no label without text.


i assume u want something similar to this:


Code:
declare lower;

DefineGlobalColor ("U", Color.GREEN);
DefineGlobalColor ("D", Color.RED);


input longLength = 25;
input shortLength = 13;
input signalLength = 8;
input averageType = AverageType.EXPONENTIAL;


def diff = close - close[1];
def doubleSmoothedAbsDiff = MovingAverage(averageType, MovingAverage(averageType, AbsValue(diff), longLength), shortLength);

plot TSI;
plot Signal;

TSI = if doubleSmoothedAbsDiff == 0 then 0
else 100 * (MovingAverage(averageType, MovingAverage(averageType, diff, longLength), shortLength)) / doubleSmoothedAbsDiff;
Signal = MovingAverage(averageType, TSI, signalLength);
AddLabel(yes, if  TSI > Signal then "Up" else "Down" , if TSI < SIGNAL then Color.red else color.green);
#End

 

Similar threads

Top