Ninjatrader 7 Code

Discussion in 'Automated Trading' started by Spectre2007, May 3, 2017.

  1. Code:
    #region Using declarations
    using System;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Xml.Serialization;
    using NinjaTrader.Cbi;
    using NinjaTrader.Data;
    using NinjaTrader.Indicator;
    using NinjaTrader.Gui.Chart;
    using NinjaTrader.Strategy;
    #endregion
    // This namespace holds all strategies and is required. Do not change it.
    namespace NinjaTrader.Strategy
    {
        /// <summary>
        /// This strategy tries to maintain position on the direction of the price indication.
        /// </summary>
        [Description("This strategy tries to maintain position on the direction of the price indication.")]
        public class Line : Strategy
        {
            #region Variables
            // Wizard generated variables
            private double pricepivot = 1920.00;
      private int starttime = 83000;
      private int stoptime = 155500;
      private int startdate = 20160412;
      private int stopdate = 20160413;
      private int tickprofit = 16;
      private int protectivestop = 8;// Default setting for Pricepivot
            // User defined variables (add any user defined variables below)
            #endregion
            /// <summary>
            /// This method is used to configure the strategy and is called once before any strategy method is called.
            /// </summary>
            protected override void Initialize()
            {
                SetProfitTarget("", CalculationMode.Ticks, tickprofit);
                SetStopLoss("", CalculationMode.Ticks, protectivestop, false);
                CalculateOnBarClose = false;
            }
            /// <summary>
            /// Called on each bar update event (incoming tick)
            /// </summary>
            protected override void OnBarUpdate()
            {
       if (ToDay(Time[0])>= startdate && ToDay(Time[0]) <= stopdate)
      {
       if ((ToTime(Time[0]) >= starttime && ToTime(Time[0]) <= stoptime))
             {
                // Condition set 1
                if (CrossAbove(Close, Pricepivot, 1))
                {
                    EnterLong(DefaultQuantity, "long");
                }
                // Condition set 2
                if (CrossBelow(Close, Pricepivot, 1))
                {
                    EnterShort(DefaultQuantity, "short");
                }
             }
      }
         }
      #region Properties
      [Description("")]
            [GridCategory("Parameters")]
           
      public int Tickprofit
            {
                get { return tickprofit; }
                set { tickprofit = Math.Max(1, value); }
      }
      #endregion
       
      #region Properties
      [Description("")]
            [GridCategory("Parameters")]
           
      public int Protectivestop
            {
                get { return protectivestop; }
                set { protectivestop = Math.Max(1, value); }
      }
      #endregion
      #region Properties
      [Description("")]
            [GridCategory("Parameters")]
           
      public int Startdate
            {
                get { return startdate; }
                set { startdate = Math.Max(1, value); }
      }
      #endregion
      #region Properties
      [Description("")]
            [GridCategory("Parameters")]
           
      public int Stoptdate
            {
                get { return stopdate; }
                set { stopdate = Math.Max(1, value); }
      }
      #endregion
            #region Properties
            [Description("")]
            [GridCategory("Parameters")]
           
      public double Pricepivot
            {
                get { return pricepivot; }
                set { pricepivot = Math.Max(1, value); }
      }
      #endregion
      #region Properties
            [Description("")]
            [GridCategory("Parameters")]
      public int Starttime
      {
             get { return starttime;}
       set { starttime = Math.Max(1, value); }
      }
      #endregion
      #region Properties
            [Description("")]
            [GridCategory("Parameters")]
      public int Stoptime
      {
       get { return stoptime; }
       set { stoptime = Math.Max(1, value); }
      }
            #endregion
        }
    }
     
    Last edited by a moderator: May 3, 2017
  2. You input the pivot level, at STD intraday that fits your criteria. Or can be used to news trade.
     
  3. the above code is the simplest code,.. works on pretty much any momentous news event. You don't need to know the direction.. just the impending vol.