Open main menu

Understanding Global Variables

Global Variables is an external .dll file that can be used to pass values between strategies on separate charts and third party applications. The information is stored in a shared memory space. External processes can access the data in the memory for further operations. When a customer uses Global Variables it is important to determine the read-write action time because the actions are performed in the script calculation.

Global Variables work between different MultiCharts processes of the same bitness if they use the same GlobalVariable.dll (that is stored in the same place). Thus, it is possible to pass values between:
MultiCharts 32bit and MultiCharts 32bit
MultiCharts 64bit and MultiCharts 64bit
MultiCharts .NET 32bit and MultiCharts 32bit
MultiCharts .NET 64bit and MultiCharts 64bit

Example

From MultiCharts, the Global Variables functionality is accessed by PowerLanguage functions:

AccuracyGetNamedDouble
AccuracyGetNamedInt
AccuracySetNamedDouble
AccuracySetNamedInt

All global variables use the same principle – it is required to specify the name that is attached to a value to get this value.
The second parameter defines the error code that the function will return.

value1 = AccuracyGetNamedDouble("Double_VariableName", -1);
value2 = AccuracyGetNamedInt("Int_VariableName", -1);

In order to remember a value, one needs to assign a name and associate the value with this name:

AccuracySetNamedDouble("Double_VariableName", 0.05);
AccuracySetNamedInt("Int_VariableName", 50);

Additional info

  • our discussion forum:

MultiCharts 32-bit - http://www.multicharts.com/discussion/viewtopic.php?t=2483
MultiCharts 64-bit - http://www.multicharts.com/discussion/viewtopic.php?f=5&t=9870

Global variables can be used in backtesting only in Portfolio Trader, for more info check this page.