TradeStation will likely resolve this and other legacy code issues, in time. Until then, be aware that there are some issues with legacy EasyLanguage code not working in TradeStation 8.8. Here’s an example function that uses math in a variable declaration, working in 8.7 but not in 8.8:

TestFunc_DeclrtnMath, Works in 8.7

TestFunc_DeclrtnMathErr, Does Not Work in 8.8

The essence of the issue is not that math was performed in a function variable declaration. The issue is that it refers to the MaxIndex value of the Reference Array. This worked in 8.7 and earlier versions of TradeStation, but no longer works in TradeStation 8.8 or later builds.

The reason that the math is shown is that a customer had his own code with over 6000 lines and multiple levels of functions. Without improved debugging facilities or compiler error messages, finding such issues can be a significant effort. Fortunately I found this one relatively fast. The point is that the user calls a function once, and when called, he needs values in the reference array, up to an input index value. So in the initialization, there is a check to be sure that the input value is valid and does not exceed the MaxIndex value of the array.

This is fixed by setting the variable’s initial value outside of the declaration, using the Once statement if necessary. However I mention this out of concern for others who may have this issue, and for possibly similar issues with legacy code not working in 8.8. There can be significant needs for code maintenance as one moves forward to 8.8 and beyond.

See the TradeStation Forum Post reporting the Bug.