Advertisement
Guest User

https://ninjatrader.com/support/helpGuides/nt8/?exposing_indicator_values_that.htm

a guest
Jul 23rd, 2021
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.83 KB | None | 0 0
  1. //
  2. // Copyright (C) 2015, NinjaTrader LLC <www.ninjatrader.com>.
  3. // NinjaTrader reserves the right to modify or overwrite this NinjaScript component with each release.
  4. //
  5. #region Using declarations
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel;
  9. using System.ComponentModel.DataAnnotations;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using System.Windows;
  14. using System.Windows.Input;
  15. using System.Windows.Media;
  16. using System.Xml.Serialization;
  17. using NinjaTrader.Cbi;
  18. using NinjaTrader.Gui;
  19. using NinjaTrader.Gui.Chart;
  20. using NinjaTrader.Gui.SuperDom;
  21. using NinjaTrader.Data;
  22. using NinjaTrader.NinjaScript;
  23. using NinjaTrader.Core.FloatingPoint;
  24. using NinjaTrader.NinjaScript.Indicators;
  25. using NinjaTrader.NinjaScript.DrawingTools;
  26. #endregion
  27.  
  28. //This namespace holds Strategies in this folder and is required. Do not change it.
  29. namespace NinjaTrader.NinjaScript.Strategies
  30. {
  31.     public class SampleBoolSeriesStrategy : Strategy
  32.     {
  33.         protected override void OnStateChange()
  34.         {
  35.             if (State == State.SetDefaults)
  36.             {
  37.                 Description                 = @"Sample strategy demonstrating how to call an exposed BoolSeries object";
  38.                 Name                        = "SampleBoolSeriesStrategy";
  39.                 Calculate                   = Calculate.OnBarClose;
  40.                 EntriesPerDirection         = 1;
  41.                 EntryHandling               = EntryHandling.AllEntries;
  42.                 IsExitOnSessionCloseStrategy= true;
  43.                 ExitOnSessionCloseSeconds   = 30;
  44.                 IsFillLimitOnTouch          = false;
  45.                 MaximumBarsLookBack         = MaximumBarsLookBack.TwoHundredFiftySix;
  46.                 OrderFillResolution         = OrderFillResolution.Standard;
  47.                 Slippage                    = 0;
  48.                 StartBehavior               = StartBehavior.WaitUntilFlat;
  49.                 TimeInForce                 = TimeInForce.Gtc;
  50.                 TraceOrders                 = false;
  51.                 RealtimeErrorHandling       = RealtimeErrorHandling.StopCancelClose;
  52.                 StopTargetHandling          = StopTargetHandling.PerEntryExecution;
  53.                 BarsRequiredToTrade         = 20;
  54.             }
  55.             else if (State == State.Configure)
  56.             {
  57.                 AddChartIndicator(MACD(12,26,9));
  58.                 AddChartIndicator(SampleBoolSeries());
  59.             }
  60.         }
  61.  
  62.         protected override void OnBarUpdate()
  63.         {
  64.             /* When our indicator gives us a bull signal we enter long. Notice that we are accessing the
  65.             public BoolSeries we made in the indicator. */
  66.             if (SampleBoolSeries().BullIndication[0])
  67.                 EnterLong();
  68.            
  69.             // When our indicator gives us a bear signal we enter short
  70.             if (SampleBoolSeries().BearIndication[0])
  71.                 EnterShort();
  72.            
  73.             /* NOTE: This strategy is based on reversals thus there are no explicit exit orders. When you
  74.             are long you will be closed and reversed into a short when the bear signal is received. The vice
  75.             versa is true if you are short. */
  76.            
  77.             /* Print our exposed variable. Because we manually kept it up-to-date it will print values that
  78.             match the bars object. */
  79.             Print(SampleBoolSeries().ExposedVariable);
  80.         }
  81.     }
  82. }
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement