Define a null condition (solved)

lmk99

Member
VIP
Hi all,

I'm having a peculiar problem creating conditionals for an aggregation that I calculate from various inputs to generate a value. On 95%+ of candles, the value generates successfully. But for reasons I can't understand, on about 5% of candles no value will be generated. If I use the painting strategy "Values_Below" to display the nonexistent value, it will display as "0" instead of "NaN" or "NA" but if I write a conditional using "if STUDYVALUE == 0 then blah," the conditional won't work.

It also won't work if I use "double.nan" or "nan" instead of "0" in the conditional. And as a consequence, there are cases where I need to validate the previous candle's value as a condition for doing something, but if the previous candle's value is not actually generating from that study then my plot condition is unable to be fulfilled even if I try to account for that outlier situation using "double.nan" etc. as part of the conditional.

Is this making sense? Basically what I want to accomplish is for this to work:

INI:
def nullstudyvalue == double.nan;
plot signal = if studyvalue>10 then 1 else if studyvalue==nullstudyvalue then 0 else 0;

But since this will not work in the cases where studyvalue is unable to generate or calculate as anything, the entire conditional gets broken.

Is there a solution for this problem?
 

lmk99

Member
VIP
PS: I also just tried this:

Code:
def studyvalueWithoutNaN = CompoundValue(1, if IsNaN(studyvalue) then studyvalueWithOutNaN[1] else studyvalue, studyvalue);

def Data = studyvalueWithOutNaN;

Also tried this:

Code:
def studyvaluewithoutnan = if IsNaN(studyvalue) then studyvalue[1] else studyvalue;

This solution was taken from https://tlc.thinkorswim.com/center/reference/thinkScript/Functions/Math---Trig/IsNaN but this is still not working. When I plot this study, it's "breaking" at the same points instead of just repeating the previous value to fill into the place where a value is not generating.
 

Similar threads

Top