AlgoVar .. AlgoVar,
AlgoVar2 .. AlgoVar2
16 general purpose variables for storing values specific to the current asset/algo combination. Every strategy component has its own set of AlgoVar variables; the sets are automatically switched with any algo or asset
call. The variables are stored in STATUS structs and can be used in portfolio strategies for values that are common to the algorithm, but different for every component of the strategy. They can also be used to pass asset/algorithm specific parameters to a TMF, or for storing parameters when a system is stopped and restarted.
AssetVar .. AssetVar
AssetStr .. AssetStr
8 general purpose locations for storing either numeric values, or strings specific to the current asset. Every asset has its own set of AssetVar/AssetStr variables; the sets are automatically switched with any asset call. The variables are read at start from the asset list and stored in the ASSET structs. They can be used in portfolio strategies for parameters that are common to the algorithms, but different for every asset. AssetStr can only be modified with strcpy, and has a maximum length of 7 characters.
AssetO, AssetH, AssetL, AssetC, AssetP
of size NumBars in ascending order (no
series), containing the open, high, low, close, and
mean prices of the current asset for direct access. AssetO[Bar]
is the current close price. In portfolio strategies with assets of different
history lengths, not all elements of the arrays are filled. Unfilled elements
- Dependent on the SaveMode setting, the AlgoVars are automatically saved and loaded at the end and begin of
a trading session. This way their values are preserved when a trading system is interrupted or restarted.
Both AlgoVars and AssetVars are reset to
0 at the begin of a simulation.
- When training or predicting with an R machine learning algorithm, AlgoVar..AlgoVar are
automatically sent over to R and can there be used for setting up parameters to the learning process.
- If saving, loading, or reading from the asset list are not necessary, or
if more than 16 variables per component are needed, static series (with negative length
for not shifting) can be used alternatively to AlgoVars.
- The #define statement can be used for giving AlgoVars or AssetVars meaningful names, like #define MyVar AlgoVar. If an int
or a pointer is needed instead of a var, use the as_int() macro, like #define MyInt as_int(AlgoVar).
// in the run function
AlgoVar = 123;
// in the TMF
var MySpecificValue = AlgoVar;
algo, asset, SaveMode, TradeVar
► latest version online