using static NinjaTrader.NinjaScript.Indicators.TheVwap_Intraday.Util.PeriodIterator;
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
TheVwap_Intraday.Util.PeriodIterator
Collapse
X
-
TheVwap_Intraday.Util.PeriodIterator
Why do I keep getting this "using" phrase after compiling in my strategies?
Code:Tags: None
-
It comes up under the using at the top.
Code: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; //using static NinjaTrader.NinjaScript.Indicators.TheVwap_Intraday.Util.PeriodIterator; //using static NinjaTrader.NinjaScript.Indicators.TheVwap_Intraday.Util.PeriodIterator;
Comment
-
Hello designer01,
It looks like that would be based on how that indicator is coded. The type PeriodIterator is being referenced. To prevent that from happening the script which has PeriodIterator in it would need to be edited so that type is exposed correctly for whatever use case that is being used for.
Comment
-
This is the full code, I am not sure where the PeriodIterator is being referenced. If I comment the using lines as shown the code compiles and works fine. This has happened with other strategies as well. Weird!
Code:#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; //using static NinjaTrader.NinjaScript.Indicators.TheVwap_Intraday.Util.PeriodIterator; //using static NinjaTrader.NinjaScript.Indicators.TheVwap_Intraday.Util.PeriodIterator; #endregion //This namespace holds Strategies in this folder and is required. Do not change it. namespace NinjaTrader.NinjaScript.Strategies { public class FTS230711LongShortButtonATR : Strategy { private bool longButtonClicked; private bool shortButtonClicked; private System.Windows.Controls.Button longButton; private System.Windows.Controls.Button shortButton; private System.Windows.Controls.Grid myGrid; //-----------------------------------ATRTrailingSTOP---------------------------------------------------------------------------------------\\ private ATRTrailingStop ATRTrailingStopE; private ATRTrailingStop ATRTrailingStopX1; private ATRTrailingStop ATRTrailingStopX2; private bool OkToTrade; protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"based on LONGSHORTToolbarButtonsB9"; Name = "FTS230711LongShortButtonATR"; Calculate = Calculate.OnEachTick; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = true; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 20; IsOverlay = true; Period = 1; Multi = 2; PeriodX1 = 2; MultiX1 = 3; PeriodX2 = 3; MultiX2 = 4; } else if (State == State.Configure) { } else if (State == State.DataLoaded) { //ENTRY PLOTS ATRTrailingStopE = ATRTrailingStop(Close, Convert.ToInt32(Period), Multi); ATRTrailingStopE.Plots[0].Brush = Brushes.Chocolate; AddChartIndicator(ATRTrailingStopE); //EXIT PLOTS ATRTrailingStopX1 = ATRTrailingStop(Close, Convert.ToInt32(PeriodX1), MultiX1); ATRTrailingStopX1.Plots[0].Brush = Brushes.Magenta; AddChartIndicator(ATRTrailingStopX1); ATRTrailingStopX2 = ATRTrailingStop(Close, Convert.ToInt32(PeriodX2), MultiX2); ATRTrailingStopX2.Plots[0].Brush = Brushes.Red; AddChartIndicator(ATRTrailingStopX2); } else if (State == State.Historical) { if (UserControlCollection.Contains(myGrid)) return; Dispatcher.InvokeAsync((() => { myGrid = new System.Windows.Controls.Grid { Name = "MyCustomGrid", HorizontalAlignment = HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Top }; System.Windows.Controls.ColumnDefinition column1 = new System.Windows.Controls.ColumnDefinition(); System.Windows.Controls.ColumnDefinition column2 = new System.Windows.Controls.ColumnDefinition(); myGrid.ColumnDefinitions.Add(column1); myGrid.ColumnDefinitions.Add(column2); longButton = new System.Windows.Controls.Button { Name = "LongButton", Content = "LONG", Foreground = Brushes.White, Background = Brushes.Green }; shortButton = new System.Windows.Controls.Button { Name = "ShortButton", Content = "SHORT", Foreground = Brushes.Black, Background = Brushes.Red }; longButton.Click += OnButtonClick; shortButton.Click += OnButtonClick; System.Windows.Controls.Grid.SetColumn(longButton, 0); System.Windows.Controls.Grid.SetColumn(shortButton, 1); myGrid.Children.Add(longButton); myGrid.Children.Add(shortButton); UserControlCollection.Add(myGrid); })); } else if (State == State.Terminated) { Dispatcher.InvokeAsync((() => { if (myGrid != null) { if (longButton != null) { myGrid.Children.Remove(longButton); longButton.Click -= OnButtonClick; longButton = null; } if (shortButton != null) { myGrid.Children.Remove(shortButton); shortButton.Click -= OnButtonClick; shortButton = null; } } })); } } protected override void OnBarUpdate() { if (longButtonClicked && CrossAbove(Close, ATRTrailingStopE, 1)) EnterLong("ATRLE"); if (shortButtonClicked && CrossBelow(Close, ATRTrailingStopE, 1)) EnterShort("ATRSE"); if (!longButtonClicked && Position.MarketPosition == MarketPosition.Long) ExitLong(); if (!shortButtonClicked && Position.MarketPosition == MarketPosition.Short) ExitShort(); //------------------------ATR EXITS LOGIC-------------------------------------------------------------------------------------\\ if (IsFirstTickOfBar) OkToTrade = true; if ((CrossBelow(Close, ATRTrailingStopX1, 1)) && (MarketPosition.Long == MarketPosition.Long) && OkToTrade) { ExitLong(Convert.ToInt32(Position.Quantity / 2), @"LX1", @"ATRLE"); OkToTrade = false; } if ((CrossBelow(Close, ATRTrailingStopX2, 1)) && (MarketPosition.Long == MarketPosition.Long)) { ExitLong(Convert.ToInt32(Position.Quantity), @"LX2", @"ATRLE"); } if (IsFirstTickOfBar) OkToTrade = true; if ((CrossAbove(Close, ATRTrailingStopX1, 1)) && (MarketPosition.Short == MarketPosition.Short) && OkToTrade) { ExitShort(Convert.ToInt32(Position.Quantity / 2), @"SX1", @"ATRSE"); OkToTrade = false; } if ((CrossAbove(Close, ATRTrailingStopX2, 1)) && (MarketPosition.Short == MarketPosition.Short)) { ExitShort(Convert.ToInt32(Position.Quantity), @"SX2", @"ATRSE"); } } private void OnButtonClick(object sender, RoutedEventArgs rea) { System.Windows.Controls.Button button = sender as System.Windows.Controls.Button; if (button == longButton && button.Name == "LongButton" && button.Content == "LONG") { button.Content = "Exit L"; button.Name = "ExitLongButton"; longButtonClicked = true; return; } if (button == shortButton && button.Name == "ShortButton" && button.Content == "SHORT") { button.Content = "Exit S"; button.Name = "ExitShortButton"; shortButtonClicked = true; return; } if (button == longButton && button.Name == "ExitLongButton" && button.Content == "Exit L") { button.Content = "LONG"; button.Name = "LongButton"; longButtonClicked = false; return; } if (button == shortButton && button.Name == "ExitShortButton" && button.Content == "Exit S") { button.Content = "SHORT"; button.Name = "ShortButton"; shortButtonClicked = false; return; } } #region Properties [NinjaScriptProperty] [Display(Name = "Period", Order = 1, GroupName = "Parameters")] public double Period { get; set; } [NinjaScriptProperty] [Display(Name = "Multi", Order = 2, GroupName = "Parameters")] public double Multi { get; set; } [NinjaScriptProperty] [Display(Name = "PeriodX1", Order = 3, GroupName = "Parameters")] public double PeriodX1 { get; set; } [NinjaScriptProperty] [Display(Name = "MultiX1", Order = 4, GroupName = "Parameters")] public double MultiX1 { get; set; } [NinjaScriptProperty] [Display(Name = "PeriodX2", Order = 5, GroupName = "Parameters")] public double PeriodX2 { get; set; } [NinjaScriptProperty] [Display(Name = "MultiX2", Order = 6, GroupName = "Parameters")] public double MultiX2 { get; set; } #endregion } }
Comment
-
Hello designer01,
The code being referenced in the using statement is part of the TheVwap_Intraday indicator, you would need to review how that indicator is coded in this situation. If extra using statements are being added to the strategy and they are coming from that indiciator you would have to review that indicators code to better understand why that's happening.
Comment
-
Latest Posts
Collapse
| Topics | Statistics | Last Post | ||
|---|---|---|---|---|
|
Started by NullPointStrategies, Yesterday, 05:17 AM
|
0 responses
53 views
0 likes
|
Last Post
|
||
|
Started by argusthome, 03-08-2026, 10:06 AM
|
0 responses
130 views
0 likes
|
Last Post
by argusthome
03-08-2026, 10:06 AM
|
||
|
Started by NabilKhattabi, 03-06-2026, 11:18 AM
|
0 responses
70 views
0 likes
|
Last Post
|
||
|
Started by Deep42, 03-06-2026, 12:28 AM
|
0 responses
44 views
0 likes
|
Last Post
by Deep42
03-06-2026, 12:28 AM
|
||
|
Started by TheRealMorford, 03-05-2026, 06:15 PM
|
0 responses
49 views
0 likes
|
Last Post
|

Comment