What's wrong with this code: Value never assigned to?

epete

New member
VIP
Code:
def FlattenIT = No;
if (GetQuantity() != 0) then {FlattenIT = Yes;} else {}
I get errors
Already assigned: FlattenIT at 137:31
Value never assigned to FlattenIT at 137:31

and this code
Code:
def FlattenIT = "";
if (GetQuantity() != 0) then {FlattenIT = "FlattenIT";} else {}
Gets me an incompatible parameter.
 
Last edited:

cos251

Well-known member
I think you need to remove the assignment to FlattenIT

Here is the example from the Learning Center

Code:
input price = close;
input long_average = yes;
plot Avg;
if long_average {
Avg = Average(price, 26);
} else {
Avg = ExpAverage(price, 12);
}
 

epete

New member
VIP
In the second example I'm just trying to define a string and based on a condition set the value of that string to something. Maybe I just don't get how variables work in ThinkScript?
Code:
def TriggerLabel = "";
if (Yes) then {TriggerLabel = "FlattenIT";} else {}

Errors -
Incompatible parameter: "" at 136:5
Expected double at 136:5
 

cos251

Well-known member
You can't assign the variable, in the first line of your example above - it should be
def = TriggerLabel;
then your if statement.

The else clause also has to assign the variable if the "if" statement is not "true" Similar to the "plot Avg;" example in post 2.
 

epete

New member
VIP
Nope that gave me an error too.

2020-12-03-14-51-46.png
 

generic

Active member
@epete Your else statement in the original code was not defined and you already set FlattenIT as No. TriggerLabel can't be equal to a string and again the else statement is nothing.
Code:
def FlattenIT;
if (GetQuantity() != 0) then {FlattenIT = Yes;} else {FlattenIT = No;}

##OR

def FlattenIT = if GetQuantity() != 0 then yes else no;
 

optionsRS

Member
VIP
@cos251 I'm using your power X indicator. Thank you for that and it's very helpful, and for second confirmation, i'm looking for some thing related to volume indicators like relative volume. If you know any that you can recommend, can you please let me know?
 

cos251

Well-known member
@cos251 I'm using your power X indicator. Thank you for that and it's very helpful, and for second confirmation, i'm looking for some thing related to volume indicators like relative volume. If you know any that you can recommend, can you please let me know?
Hi @optionsRS - see link below for a good RVOL thread. I also use a WL column to keep track of RVOL so I can see which tickers are approaching 100% quickly.

https://usethinkscript.com/threads/rvol-relative-volume-indicator-watchlist-for-thinkorswim.1014/

This is the WL Column Code I use for RVOL:
Code:
def isRollover = GetYYYYMMDD() != GetYYYYMMDD()[1];
def beforeStart = GetTime() < RegularTradingStart(GetYYYYMMDD());
def vol = if isRollover and beforeStart then volume else if beforeStart then vol[1] + volume else Double.NaN;
def PMV = if IsNaN(vol) then PMV[1] else vol;
def AV = AggregationPeriod.DAY;
def x = Average(Volume(period=AV)[1],60);
def y1 = Round((PMV/x),2);
def L = Lg(y1);
def p = if L>=1 then 0 else if L>=0 then 1 else 2;
def y2 = Round(y1,p);
#plot z = y2;
#z.assignValueColor(if z>=10 then color.CYAN else if z>=1 then createcolor(255,153,153) else createcolor(0,215,0));
AssignBackgroundColor(if y2 > 10 then Color.BLUE
else if y2 > 8 then Color.DARK_GREEN
else if y2 > 6 then Color.GREEN
else if y2 > 4 then Color.LIGHT_GREEN
else if y2 > 2 then Color.LIME
else if y2 > 1 then Color.YELLOW
else if y2 < 1 then Color.ORANGE else Color.BLACK);
AddLabel(yes, y2, Color.BLACK);
 

Similar threads

Top