public class TimeFrameTest : Strategy
{
private TRIX TRIX1;
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
.
.
.
TPeriod = 1;
}
else if (State == State.Configure)
{
AddDataSeries(Data.BarsPeriodType.Second,15);
AddDataSeries(Data.BarsPeriodType.Second,30);
AddDataSeries(Data.BarsPeriodType.Second,45);
AddDataSeries(Data.BarsPeriodType.Minute,1);
AddDataSeries(Data.BarsPeriodType.Minute,2);
AddDataSeries(Data.BarsPeriodType.Minute,3);
AddPlot(Brushes.Blue, "PlotA");
}
else if (State == State.DataLoaded)
{
TRIX1 = TRIX(Closes[TPeriod], 14, 3);
}
}
protected override void OnBarUpdate()
{
if (CurrentBars[0] < 50
|| CurrentBars[3] < 50)
return;
Values[0][0] = 10*(TRIX1[0])+49; //scaled plot to be used with
// CL 06-17 contract for testing and visualization purposes only
// This plot reverts to default price timeframe when running backtest
// when running strategy manually it plots correctly
if ((TRIX1[2] <= TRIX1[1])&&(TRIX1[1] >= TRIX1[0]))
{
EnterShort();
}
if ((TRIX1[2] >= TRIX1[1])&&(TRIX1[1] <= TRIX1[0]))
{
ExitShort();
}
}
#region Properties
[NinjaScriptProperty]
[Range(1, int.MaxValue)]
[Display(ResourceType = typeof(Custom.Resource), Name="TPeriod", Order=1, GroupName="NinjaScriptStrategyParameters")]
public int TPeriod
{ get; set; }
#endregion
Comment