Advertisement
Guest User

Untitled

a guest
Jul 19th, 2021
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.94 KB | None | 0 0
  1. #region Using declarations
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Xml.Serialization;
  13. using NinjaTrader.Cbi;
  14. using NinjaTrader.Gui;
  15. using NinjaTrader.Gui.Chart;
  16. using NinjaTrader.Gui.SuperDom;
  17. using NinjaTrader.Gui.Tools;
  18. using NinjaTrader.Data;
  19. using NinjaTrader.NinjaScript;
  20. using NinjaTrader.Core.FloatingPoint;
  21. using NinjaTrader.NinjaScript.DrawingTools;
  22. #endregion
  23.  
  24. //This namespace holds Indicators in this folder and is required. Do not change it.
  25. namespace NinjaTrader.NinjaScript.Indicators
  26. {
  27.     public class HighMinusOpen1 : Indicator
  28.     {
  29.         private PriorDayOHLC PriorDayOHLC1;
  30.        
  31.         protected override void OnStateChange()
  32.         {
  33.             if (State == State.SetDefaults)
  34.             {
  35.                 Description                                 = @"Enter the description for your new custom Indicator here.";
  36.                 Name                                        = "HighMinusOpen1";
  37.                 Calculate                                   = Calculate.OnBarClose;
  38.                 IsOverlay                                   = false;
  39.                 DisplayInDataBox                            = true;
  40.                 DrawOnPricePanel                            = true;
  41.                 DrawHorizontalGridLines                     = true;
  42.                 DrawVerticalGridLines                       = true;
  43.                 PaintPriceMarkers                           = true;
  44.                 ScaleJustification                          = NinjaTrader.Gui.Chart.ScaleJustification.Right;
  45.                 //Disable this property if your indicator requires custom values that cumulate with each new market data event.
  46.                 //See Help Guide for additional information.
  47.                 IsSuspendedWhileInactive                    = true;
  48.                 AddPlot(Brushes.White, "Diff");
  49.             }
  50.             else if (State == State.Configure)
  51.             {
  52.             }
  53.             else if (State == State.DataLoaded)
  54.             {              
  55.                 PriorDayOHLC1 = PriorDayOHLC(Close);
  56.             }
  57.         }
  58.  
  59.         protected override void OnBarUpdate()
  60.         {
  61.             if (BarsInProgress != 0)
  62.                 return;
  63.  
  64.             if (CurrentBars[0] < 1)
  65.                 return;
  66.  
  67.              // Set 1
  68.             Print(Time[0] +" " + Convert.ToString((PriorDayOHLC1.PriorOpen[0] - (PriorDayOHLC1.PriorClose[0])) ));
  69.             {
  70.             }
  71.            
  72.             if (Times[0][0].DayOfWeek != DayOfWeek.Monday)
  73.             {
  74.                 Value[0] = PriorDayOHLC1.PriorOpen[0] - (PriorDayOHLC1.PriorClose[0]);
  75.             }
  76.             else
  77.             {
  78.                 Value[0] = PriorDayOHLC1.PriorOpen[1] - (PriorDayOHLC1.PriorClose[1]);
  79.             }
  80.            
  81.         }
  82.         #region Properties
  83.         [Browsable(false)]
  84.         [XmlIgnore]
  85.         public Series<double> Diff
  86.         {
  87.         get { return Values[0]; }
  88.         }
  89.         #endregion
  90.     }
  91. }
  92.  
  93. #region NinjaScript generated code. Neither change nor remove.
  94.  
  95. namespace NinjaTrader.NinjaScript.Indicators
  96. {
  97.     public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
  98.     {
  99.         private HighMinusOpen1[] cacheHighMinusOpen1;
  100.         public HighMinusOpen1 HighMinusOpen1()
  101.         {
  102.             return HighMinusOpen1(Input);
  103.         }
  104.  
  105.         public HighMinusOpen1 HighMinusOpen1(ISeries<double> input)
  106.         {
  107.             if (cacheHighMinusOpen1 != null)
  108.                 for (int idx = 0; idx < cacheHighMinusOpen1.Length; idx++)
  109.                     if (cacheHighMinusOpen1[idx] != null &&  cacheHighMinusOpen1[idx].EqualsInput(input))
  110.                         return cacheHighMinusOpen1[idx];
  111.             return CacheIndicator<HighMinusOpen1>(new HighMinusOpen1(), input, ref cacheHighMinusOpen1);
  112.         }
  113.     }
  114. }
  115.  
  116. namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
  117. {
  118.     public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
  119.     {
  120.         public Indicators.HighMinusOpen1 HighMinusOpen1()
  121.         {
  122.             return indicator.HighMinusOpen1(Input);
  123.         }
  124.  
  125.         public Indicators.HighMinusOpen1 HighMinusOpen1(ISeries<double> input )
  126.         {
  127.             return indicator.HighMinusOpen1(input);
  128.         }
  129.     }
  130. }
  131.  
  132. namespace NinjaTrader.NinjaScript.Strategies
  133. {
  134.     public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
  135.     {
  136.         public Indicators.HighMinusOpen1 HighMinusOpen1()
  137.         {
  138.             return indicator.HighMinusOpen1(Input);
  139.         }
  140.  
  141.         public Indicators.HighMinusOpen1 HighMinusOpen1(ISeries<double> input )
  142.         {
  143.             return indicator.HighMinusOpen1(input);
  144.         }
  145.     }
  146. }
  147.  
  148. #endregion
  149.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement