60 lines
1.7 KiB
C#
60 lines
1.7 KiB
C#
// File: MinimalTestStrategy.cs
|
|
using System;
|
|
using NinjaTrader.Cbi;
|
|
using NinjaTrader.Data;
|
|
using NinjaTrader.NinjaScript;
|
|
using NinjaTrader.NinjaScript.Strategies;
|
|
|
|
namespace NinjaTrader.NinjaScript.Strategies
|
|
{
|
|
/// <summary>
|
|
/// Minimal test strategy to validate NT8 integration and compilation.
|
|
/// </summary>
|
|
public class MinimalTestStrategy : Strategy
|
|
{
|
|
private int _barCount;
|
|
|
|
protected override void OnStateChange()
|
|
{
|
|
if (State == State.SetDefaults)
|
|
{
|
|
Name = "Minimal Test";
|
|
Description = "Simple test strategy - logs bars only";
|
|
Calculate = Calculate.OnBarClose;
|
|
BarsRequiredToTrade = 1;
|
|
}
|
|
else if (State == State.DataLoaded)
|
|
{
|
|
_barCount = 0;
|
|
Print("[MinimalTest] Strategy initialized");
|
|
}
|
|
else if (State == State.Terminated)
|
|
{
|
|
Print(string.Format("[MinimalTest] Strategy terminated. Processed {0} bars", _barCount));
|
|
}
|
|
}
|
|
|
|
protected override void OnBarUpdate()
|
|
{
|
|
if (CurrentBar < BarsRequiredToTrade)
|
|
return;
|
|
|
|
_barCount++;
|
|
|
|
if (_barCount % 10 == 0)
|
|
{
|
|
Print(string.Format(
|
|
"[MinimalTest] Bar {0}: {1} O={2:F2} H={3:F2} L={4:F2} C={5:F2} V={6}",
|
|
CurrentBar,
|
|
Time[0].ToString("HH:mm:ss"),
|
|
Open[0],
|
|
High[0],
|
|
Low[0],
|
|
Close[0],
|
|
Volume[0]));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|