// File: MinimalTestStrategy.cs using System; using NinjaTrader.Cbi; using NinjaTrader.Data; using NinjaTrader.NinjaScript; using NinjaTrader.NinjaScript.Strategies; namespace NinjaTrader.NinjaScript.Strategies { /// /// Minimal test strategy to validate NT8 integration and compilation. /// 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])); } } } }