There are 2 ways in which we can preserve data between update cycles. With the
IfNull() command or the
IfNull() command will initialize a variable when it has no value set yet.
-- Initialize value as globalhighestValue = IfNull(highestValue, 0)-- Update valuehighestValue = Max(highestValue, CurrentPrice().high)
Load & Save work the same as
IfNull() but with 2 commands. This set can be used in the normal scripts, but not in custom command scripts. Custom commands do not support
IfNull() because global variables in custom commands are not allowed.
-- Initialize value as locallocal highestValue = Load('highestValue', 0)-- Update valuehighestValue = Max(highestValue, CurrentPrice().high)-- Save valueSave('highestValue', highestValue)
Load() we can preserve data between update cycles.
The Visual Editor has 2 special blocks that can be used in your script that transfers values from A to B without connecting a line. This can be useful if you need to use a value on multiple places or when you want to remove long lines from your script.
SessionSet() will save the value and
SessionGet() will get the value and continue execution. This set can also be used in order to control execution flow within your script.