While we always requested to use variable declarations in your strategy code, we did not force it. This means, that one could use a variable $counter without explicit declaration: my $counter;
(This is true except for $x, $y which are optimization variables and without declaration could not be used for optimization).
This will change soon. Soon, we will enforce usage of variable declaration, or in Perl terms, we will “use strict” code. The idea is that a strategy code will be compiled in strict so that every typo or variable name mistakes will be reported by our compiler. This will help you catch typos so you can quickly get on to finding more significant problems. For example, let’s say that you use variable '$recieve_date' and later refer to it as '$receive_date'. If we allow “no strict” code, the system will assume two different variables while your attention was to use the same variable (typo).
With the “use strict” update, when you save the strategy, the system will alert you that you did not declare variable '$recieve_date' and variable '$receive_date' and compilation will fail. In order to continue you will need to declare:
Once this update will be released (within few days, we will notify you via email) it may be that some of your currently working and used strategies, will fail to run or save. You will need to go over each of them and declare all the variable you are using (assuming you did not do it so far as was requested).
Alternatively, you may use the new words: no strict; at the beginning of your old strategy. This means that the system will not force strict code on your strategy and will keep running old strategies with no strict checking during run time or strategy save time.
Remember, you need to either declare all your variables in all your strategies, or add:
as first line in your strategy.
Have a great Trading Day tomorrow,
Strategy Seeker Team!