♥ 0 |
Hello, I’ve been writing code in TS EasyLanguage for nearly 25 years, but I’m relatively new to writing thinkScript. This is probably something pretty easy, but I can’t figure it out due to my limited fluency in thinkScript. As far as I can tell, the value of a variable in thinkScript is only available for the bar on which the condition(s) are met. I can’t find a way to make a variable retain a value on successive bars after the bar where the condition were met. In EasyLanguage, when a value is assigned to a variable that value is held in a table similar to an array and the value can be called on the same bar or any bar after the value has been assigned (until the value is changed by the code). Since you have been writing code in TS for a while now, perhaps I can most concisely demonstrate what I’m trying to do by presenting what I’m attempting to accomplish in thinkScript with equivalent EasyLanguage code. var: MyCross ; If close crosses above Average(close, 14) then MyCross = close ; { <this is the variable assignment I need to use in thinkScript} Thank you for any help you might be able to offer. Regards, Tom RESOLVED
Marked as spam
|
Private answer
The term for this is recursion. Which is when you assign to a variable a previous value of itself. So when the condition is true we assign the initial value. Then for every other bar that the condition is false we assign the value of the previous bar. This has the affect of holding the value across many bars for later use. The process is very much the same for both EasyLanguage and Thinkscript. I personally do not use the method you provided in your example. I prefer to make very definitive value assignments which I control. So I will provide an example of how I do this for both languages. For EasyLanguage:
For Thinkscript: That is a single line method of recursion in Thinkscript. You can also do it this way: Occasionally in Thinkscript we need to employ a method named CompoundValue() to initialize a recursive variable. You can read more about that here: http://toslc.thinkorswim.com/center/reference/thinkScript/Functions/Others/CompoundValue.html Marked as spam
|
Please log in to post questions.