I have a strategy that sets one of its own parameters in the Initialize() method upon certain conditions.
However, if I ever set the parameter manually when starting the strategy, it appears to be correctly set at the end of Initialize() (ie. it displays a value of 2), but it is later overriden by Ninja after that, and set back to the value that was manually set in the strategy dialog box.
Cheers
Dominique
namespace NinjaTrader.Strategy
{
/// <summary>
/// TEST Set Param
/// </summary>
[Description("TEST Set Param")]
public class TestSetParam : Strategy
{
private int zParam = 1;
protected override void Initialize()
{
Print(this.ToString() + " => Initialize()");
Print("ZParam was " + ZParam );
if (ZParam != 0)
{
ZParam = 2;
}
Print("ZParam is now " + ZParam );
Print(this.ToString() + " => Initialize() complete");
}
protected override void OnStartUp()
{
Print(this.ToString() + " => OnStartUp()");
Print("ZParam " + ZParam );
Print(this.ToString() + " => OnStartUp() complete");
}
protected override void OnBarUpdate()
{
Print(this.ToString() + " => OnBarUpdate()");
Print("ZParam " + ZParam );
Print(this.ToString() + " => OnBarUpdate() complete");
}
[Description("TEST Parameter")]
[GridCategory("Parameters")]
public int ZParam
{
get { return zParam; }
set { zParam = Math.Max(0, value); }
}
}
}

Comment