Fix deploy script: add NT8.Strategies.dll to deployment pipeline
Some checks failed
Build and Test / build (push) Has been cancelled

This commit is contained in:
2026-03-22 17:28:03 -04:00
parent 2f623dc2f8
commit a2af272d73
8 changed files with 393 additions and 40 deletions

View File

@@ -24,7 +24,6 @@ namespace NinjaTrader.NinjaScript.Strategies
public class SimpleORBNT8 : NT8StrategyBase
{
[NinjaScriptProperty]
[Optimizable]
[Display(Name = "Opening Range Minutes", GroupName = "ORB Strategy", Order = 1)]
[Range(5, 120)]
public int OpeningRangeMinutes { get; set; }
@@ -35,13 +34,11 @@ namespace NinjaTrader.NinjaScript.Strategies
public double StdDevMultiplier { get; set; }
[NinjaScriptProperty]
[Optimizable]
[Display(Name = "Stop Loss Ticks", GroupName = "ORB Risk", Order = 1)]
[Range(1, 50)]
public int StopTicks { get; set; }
[NinjaScriptProperty]
[Optimizable]
[Display(Name = "Profit Target Ticks", GroupName = "ORB Risk", Order = 2)]
[Range(1, 100)]
public int TargetTicks { get; set; }
@@ -51,7 +48,7 @@ namespace NinjaTrader.NinjaScript.Strategies
if (State == State.SetDefaults)
{
Name = "Simple ORB NT8";
Description = "Opening Range Breakout with NT8 SDK integration";
Description = "v0.4.0 | 2026-03-19 | NR7+ORB factors, PortfolioRiskManager, connection recovery, live account balance";
// Daily bar series is added automatically via AddDataSeries in Configure.
@@ -139,6 +136,32 @@ namespace NinjaTrader.NinjaScript.Strategies
}
}
/// <summary>
/// Appends ORB-specific parameters to the base settings export.
/// </summary>
protected override List<string> GetStrategySettingsLines()
{
var lines = base.GetStrategySettingsLines();
// Insert ORB section before the final === END SETTINGS === line
int endIdx = lines.Count - 1;
lines.Insert(endIdx, "--- ORB Strategy ---");
lines.Insert(endIdx + 1, string.Format("OpeningRangeMinutes: {0}", OpeningRangeMinutes));
lines.Insert(endIdx + 2, string.Format("StdDevMultiplier : {0:F2}", StdDevMultiplier));
lines.Insert(endIdx + 3, string.Format("StopTicks : {0}", StopTicks));
lines.Insert(endIdx + 4, string.Format("TargetTicks : {0}", TargetTicks));
double tickDollarValue = 0.25 * 50.0;
if (Instrument != null && Instrument.MasterInstrument != null)
tickDollarValue = Instrument.MasterInstrument.TickSize * Instrument.MasterInstrument.PointValue;
lines.Insert(endIdx + 5, string.Format("StopDollars : {0:C}", StopTicks * tickDollarValue));
lines.Insert(endIdx + 6, string.Format("TargetDollars : {0:C}", TargetTicks * tickDollarValue));
lines.Insert(endIdx + 7, string.Format("RR_Ratio : {0:F2}:1", (double)TargetTicks / StopTicks));
return lines;
}
/// <summary>
/// Builds a DailyBarContext from the secondary daily bar series.
/// Returns a context with Count=0 if fewer than 2 daily bars are available.