Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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.DrawingTools;
- #endregion
- //This namespace holds Indicators in this folder and is required. Do not change it.
- namespace NinjaTrader.NinjaScript.Indicators
- {
- public class HighMinusOpen1 : Indicator
- {
- private PriorDayOHLC PriorDayOHLC1;
- protected override void OnStateChange()
- {
- if (State == State.SetDefaults)
- {
- Description = @"Enter the description for your new custom Indicator here.";
- Name = "HighMinusOpen1";
- Calculate = Calculate.OnBarClose;
- IsOverlay = false;
- DisplayInDataBox = true;
- DrawOnPricePanel = true;
- DrawHorizontalGridLines = true;
- DrawVerticalGridLines = true;
- PaintPriceMarkers = true;
- ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right;
- //Disable this property if your indicator requires custom values that cumulate with each new market data event.
- //See Help Guide for additional information.
- IsSuspendedWhileInactive = true;
- AddPlot(Brushes.White, "PriorOpen");
- AddPlot(Brushes.Lime, "PriorHigh");
- AddPlot(Brushes.Red, "PriorLow");
- AddPlot(Brushes.Pink, "PriorClose");
- AddPlot(Brushes.Cyan, "OpenMinusClose");
- }
- else if (State == State.Configure)
- {
- }
- else if (State == State.DataLoaded)
- {
- PriorDayOHLC1 = PriorDayOHLC(Close);
- }
- }
- protected override void OnBarUpdate()
- {
- if (BarsInProgress != 0)
- return;
- if (CurrentBars[0] < 1)
- return;
- // Set 1
- Print(Time[0] +
- " " + "Open Value: " + Convert.ToString(PriorDayOHLC1.PriorOpen[0]) +
- " " + "High Value: " + Convert.ToString(PriorDayOHLC1.PriorHigh[0]) +
- " " + "Low Value: " + Convert.ToString(PriorDayOHLC1.PriorLow[0]) +
- " " + "Close Value: " + Convert.ToString(PriorDayOHLC1.PriorClose[0]));
- {
- }
- if (Times[0][0].DayOfWeek != DayOfWeek.Monday)
- {
- Values[0][0] = PriorDayOHLC1.PriorOpen[0];
- Values[1][0] = PriorDayOHLC1.PriorHigh[0];
- Values[2][0] = PriorDayOHLC1.PriorLow[0];
- Values[3][0] = PriorDayOHLC1.PriorClose[0];
- //Values[4][0] = PriorDayOHLC1.PriorOpen[0] - (PriorDayOHLC1.PriorClose[0]);
- Values[4][0] = Values[0][0] - (Values[3][0]);
- }
- else
- {
- Values[0][0] = PriorDayOHLC1.PriorOpen[1];
- Values[1][0] = PriorDayOHLC1.PriorHigh[1];
- Values[2][0] = PriorDayOHLC1.PriorLow[1];
- Values[3][0] = PriorDayOHLC1.PriorClose[1];
- //Values[4][0] = PriorDayOHLC1.PriorOpen[0] - (PriorDayOHLC1.PriorClose[0]);
- Values[4][0] = Values[0][0] - (Values[3][0]);
- }
- }
- #region Properties
- [Browsable(false)]
- [XmlIgnore]
- public Series<double> PriorOpen
- {
- get { return Values[0]; }
- }
- [Browsable(false)]
- [XmlIgnore]
- public Series<double> PriorHigh
- {
- get { return Values[1]; }
- }
- [Browsable(false)]
- [XmlIgnore]
- public Series<double> PriorLow
- {
- get { return Values[2]; }
- }
- [Browsable(false)]
- [XmlIgnore]
- public Series<double> PriorClose
- {
- get { return Values[3]; }
- }
- [Browsable(false)]
- [XmlIgnore]
- public Series<double> OpenMinusClose
- {
- get { return Values[4]; }
- }
- #endregion
- }
- }
- #region NinjaScript generated code. Neither change nor remove.
- namespace NinjaTrader.NinjaScript.Indicators
- {
- public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
- {
- private HighMinusOpen1[] cacheHighMinusOpen1;
- public HighMinusOpen1 HighMinusOpen1()
- {
- return HighMinusOpen1(Input);
- }
- public HighMinusOpen1 HighMinusOpen1(ISeries<double> input)
- {
- if (cacheHighMinusOpen1 != null)
- for (int idx = 0; idx < cacheHighMinusOpen1.Length; idx++)
- if (cacheHighMinusOpen1[idx] != null && cacheHighMinusOpen1[idx].EqualsInput(input))
- return cacheHighMinusOpen1[idx];
- return CacheIndicator<HighMinusOpen1>(new HighMinusOpen1(), input, ref cacheHighMinusOpen1);
- }
- }
- }
- namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
- {
- public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
- {
- public Indicators.HighMinusOpen1 HighMinusOpen1()
- {
- return indicator.HighMinusOpen1(Input);
- }
- public Indicators.HighMinusOpen1 HighMinusOpen1(ISeries<double> input )
- {
- return indicator.HighMinusOpen1(input);
- }
- }
- }
- namespace NinjaTrader.NinjaScript.Strategies
- {
- public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
- {
- public Indicators.HighMinusOpen1 HighMinusOpen1()
- {
- return indicator.HighMinusOpen1(Input);
- }
- public Indicators.HighMinusOpen1 HighMinusOpen1(ISeries<double> input )
- {
- return indicator.HighMinusOpen1(input);
- }
- }
- }
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement