Also a few questions related.
If the primary chart is minute bars and part of the code looks at Day data say SMA(30 days bars) will it poll for 30 days worth of day bars from Kinetick or is it expecting that 30 days of minute data be preloaded on strategy run?
Should I expect any differences in say SMA(3 day bars) versus SMA(1170 minute bars)? "390 minutes a day x 3 days = 1170"
#region Using declarations using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; using System.Windows.Media; using System.Xml.Serialization; using NinjaTrader.Cbi; using NinjaTrader.Gui; using NinjaTrader.Gui.Chart; using NinjaTrader.Gui.SuperDom; using NinjaTrader.Gui.Tools; using NinjaTrader.Data; using NinjaTrader.NinjaScript; using NinjaTrader.Core.FloatingPoint; using NinjaTrader.NinjaScript.Indicators; using NinjaTrader.NinjaScript.DrawingTools; #endregion //This namespace holds Strategies in this folder and is required. Do not change it. namespace NinjaTrader.NinjaScript.Strategies { public class TestBed : Strategy { protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"Enter the description for your new custom Strategy here."; Name = "TestBed"; Calculate = Calculate.OnBarClose; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = false; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.Infinite; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.IgnoreAllErrors; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 0; DaysToLoad = 10; // Disable this property for performance gains in Strategy Analyzer optimizations // See the Help Guide for additional information IsInstantiatedOnEachOptimizationIteration = true; } else if (State == State.Configure) { AddDataSeries(BarsPeriodType.Day, 1); } else if (State == State.DataLoaded) { // AddDataSeries(BarsPeriodType.Day, 1); } } protected override void OnBarUpdate() { // if (CurrentBars[0] <= BarsRequiredToTrade ) // Print("Not Enough Bars"); // return; //Print(SMA(Close, 1170)[0]); //Print(SMA(Close, 3)[0]); // Print(Closes[0][0]); // Print(" : "); // Print(Closes[1][0]); Print(CurrentBars[0] + " : " + Closes[0][0]); Print("---"); Print(CurrentBars[1] + " : " + Closes[1][0]); Print("###########"); } } }
Thanks in advance,
Comment