Sets variable value to a global storage


SYNTAX

public static void SetValue (string name,object value,VariableLifetime lifetime)



PARAMETERS

name — string


Variable name


value — object


New value


lifetime — VariableLifetime


Variable lifetime




RETURN

void



EXAMPLE

using System;
using System.Text;
using PTLRuntime.NETScript;

namespace GlobalVariablesManager
{
     public class GlobalVariablesManager : NETIndicator
     {
         GlobalVariablesManager(){
              base.ProjectName = "GlobalVariablesManager";
              base.Password=GetHashedPassword(ProjectName);              
         }
 
        [InputParameter("Period", 0, 1, 9999)]
         public int period = 5;
 
         public override void OnQuote()
         {
              //Simplified way to store a global variable   
 
              GlobalVariablesManager.SetValue("global_variable_period", period, VariableLifetime.SaveSession);
 
              //However, to indicate any variable belongs to certain indicator/strategy and to avoid unexpected erasing of data the best practice is to provide to a key holder multiple details such as name, params, hashed password etc.
              
              GlobalVariablesManager.SetValue("global_variable_period" +Instruments.Current.Name+period+Password, period, VariableLifetime.SaveSession);
         }
     }
}