Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Please help me with drawline for ninja 7

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Please help me with drawline for ninja 7

    Hi

    I have a ninja 6.5 indicator and i would like to use in ninja 7 but it wont compile on the drawline on line 107 of the code

    here is the code can someone please help mod it to work on ninja 7?

    Code:
    #region Using declarations
    using System;
    using System.Diagnostics;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.ComponentModel;
    using System.Xml.Serialization;
    using NinjaTrader.Cbi;
    using NinjaTrader.Data;
    using NinjaTrader.Gui.Chart;
    #endregion
    
    // This namespace holds all indicators and is required. Do not change it.
    namespace NinjaTrader.Indicator
    {
        /// <summary>
        /// Enter the description of your new custom indicator here
        /// </summary>
        [Description("Enter the description of your new custom indicator here")]
        [Gui.Design.DisplayName("a")]
        public class jjvaluecharts : Indicator
        {
            #region Variables
            // Wizard generated variables
            // User defined variables (add any user defined variables below)
            #endregion
    
            /// <summary>
            /// This method is used to configure the indicator and is called once before any bar data is loaded.
            /// </summary>
            protected override void Initialize()
            {
                Add(new Plot(Color.FromKnownColor(KnownColor.White), PlotStyle.Dot, "Hi"));
                Add(new Plot(Color.FromKnownColor(KnownColor.Red), PlotStyle.Dot, "Lo"));
                
    			Add(new Line(Color.FromKnownColor(KnownColor.Red), 8, "Top"));
                Add(new Line(Color.FromKnownColor(KnownColor.Red), -8, "Bottom"));
    			Add(new Line(Color.FromKnownColor(KnownColor.Blue), 4, "MidTop"));
                Add(new Line(Color.FromKnownColor(KnownColor.Blue), -4, "MidBottom"));
    			
                CalculateOnBarClose	= false;
                Overlay				= false;
                PriceTypeSupported	= false;
    			DrawOnPricePanel = false;
            }
    		/// <summary>
            /// This method is used to configure the indicator and is called once before any bar data is loaded.
            /// </summary>
    		private double VolatilityUnit() 
    		{ 
        		return AverageRange() * .2;
    		}
    		/// <summary>
            /// This method is used to configure the indicator and is called once before any bar data is loaded.
            /// </summary>
    		private double AverageRange() 
    		{ 
        		double AvgHi = SMA(High, 5)[0]; 
    			double AvgLo = SMA(Low, 5)[0]; 
    			return AvgHi - AvgLo; 
    			
    		}
    		/// <summary>
            /// This method is used to configure the indicator and is called once before any bar data is loaded.
            /// </summary>
    		private double AverageMedian() 
    		{ 
        		double AvgHi = SMA(High, 5)[0]; 
    	        double AvgLo = SMA(Low, 5)[0]; 
    			return (AvgHi + AvgLo) / 2; 
    		}
    		/// <summary>
            /// This method is used to configure the indicator and is called once before any bar data is loaded.
            /// </summary>
    		private double RelativeHi() 
    		{ 
        		return  (High[0] - AverageMedian()) ; 
    		}
    		/// <summary>
            /// This method is used to configure the indicator and is called once before any bar data is loaded.
            /// </summary>
    		private double RelativeLo() 
    		{ 
        		return  (Low[0] - AverageMedian()) ; 
    		}
    		private double ValueHi()
    		{
    			return RelativeHi() / VolatilityUnit();
    		}
    		private double ValueLo()
    		{
    			return RelativeLo() / VolatilityUnit();
    		}
    		
    	    
    		/// <summary>
            /// Called on each bar update event (incoming tick)
            /// </summary>
            protected override void OnBarUpdate()
            {
                // Use this method for calculating your indicator values. Assign a value to each
                // plot below by replacing 'Close[0]' with your own formula.
              				
    		  
    			Hi.Set(ValueHi());
                Lo.Set(ValueLo());
            	DrawLine("Tag1" + CurrentBar, 0, ValueHi(), 0, ValueLo(), Color.White, DashStyle.Solid,4);
    
    
    		}	
    
            #region Properties
            [Browsable(false)]	// this line prevents the data series from being displayed in the indicator properties dialog, do not remove
            [XmlIgnore()]		// this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove
            public DataSeries Hi
            {
                get { return Values[0]; }
            }
    
            [Browsable(false)]	// this line prevents the data series from being displayed in the indicator properties dialog, do not remove
            [XmlIgnore()]		// this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove
            public DataSeries Lo
            {
                get { return Values[1]; }
            }
    
            #endregion
        }
    }
    
    #region NinjaScript generated code. Neither change nor remove.
    // This namespace holds all indicators and is required. Do not change it.
    namespace NinjaTrader.Indicator
    {
        public partial class Indicator : IndicatorBase
        {
            private jjvaluecharts[] cachejjvaluecharts = null;
    
            private static jjvaluecharts checkjjvaluecharts = new jjvaluecharts();
    
            /// <summary>
            /// Enter the description of your new custom indicator here
            /// </summary>
            /// <returns></returns>
            public jjvaluecharts jjvaluecharts()
            {
                return jjvaluecharts(Input);
            }
    
            /// <summary>
            /// Enter the description of your new custom indicator here
            /// </summary>
            /// <returns></returns>
            public jjvaluecharts jjvaluecharts(Data.IDataSeries input)
            {
                if (cachejjvaluecharts != null)
                    for (int idx = 0; idx < cachejjvaluecharts.Length; idx++)
                        if (cachejjvaluecharts[idx].EqualsInput(input))
                            return cachejjvaluecharts[idx];
    
                lock (checkjjvaluecharts)
                {
                    if (cachejjvaluecharts != null)
                        for (int idx = 0; idx < cachejjvaluecharts.Length; idx++)
                            if (cachejjvaluecharts[idx].EqualsInput(input))
                                return cachejjvaluecharts[idx];
    
                    jjvaluecharts indicator = new jjvaluecharts();
                    indicator.BarsRequired = BarsRequired;
                    indicator.CalculateOnBarClose = CalculateOnBarClose;
    #if NT7
                    indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256;
                    indicator.MaximumBarsLookBack = MaximumBarsLookBack;
    #endif
                    indicator.Input = input;
                    Indicators.Add(indicator);
                    indicator.SetUp();
    
                    jjvaluecharts[] tmp = new jjvaluecharts[cachejjvaluecharts == null ? 1 : cachejjvaluecharts.Length + 1];
                    if (cachejjvaluecharts != null)
                        cachejjvaluecharts.CopyTo(tmp, 0);
                    tmp[tmp.Length - 1] = indicator;
                    cachejjvaluecharts = tmp;
                    return indicator;
                }
            }
        }
    }
    
    // This namespace holds all market analyzer column definitions and is required. Do not change it.
    namespace NinjaTrader.MarketAnalyzer
    {
        public partial class Column : ColumnBase
        {
            /// <summary>
            /// Enter the description of your new custom indicator here
            /// </summary>
            /// <returns></returns>
            [Gui.Design.WizardCondition("Indicator")]
            public Indicator.jjvaluecharts jjvaluecharts()
            {
                return _indicator.jjvaluecharts(Input);
            }
    
            /// <summary>
            /// Enter the description of your new custom indicator here
            /// </summary>
            /// <returns></returns>
            public Indicator.jjvaluecharts jjvaluecharts(Data.IDataSeries input)
            {
                return _indicator.jjvaluecharts(input);
            }
        }
    }
    
    // This namespace holds all strategies and is required. Do not change it.
    namespace NinjaTrader.Strategy
    {
        public partial class Strategy : StrategyBase
        {
            /// <summary>
            /// Enter the description of your new custom indicator here
            /// </summary>
            /// <returns></returns>
            [Gui.Design.WizardCondition("Indicator")]
            public Indicator.jjvaluecharts jjvaluecharts()
            {
                return _indicator.jjvaluecharts(Input);
            }
    
            /// <summary>
            /// Enter the description of your new custom indicator here
            /// </summary>
            /// <returns></returns>
            public Indicator.jjvaluecharts jjvaluecharts(Data.IDataSeries input)
            {
                if (InInitialize && input == null)
                    throw new ArgumentException("You only can access an indicator with the default input/bar series from within the 'Initialize()' method");
    
                return _indicator.jjvaluecharts(input);
            }
        }
    }
    #endregion
    This is the line of code erroring

    DrawLine("Tag1" + CurrentBar, 0, ValueHi(), 0, ValueLo(), Color.White, DashStyle.Solid,4);



    Many Thanks

    Chris
    Last edited by kraziekris; 02-15-2012, 04:49 AM.

    #2
    Welcome to our forums, the Draw method would now contain an autoScale bool as second parameter - http://www.ninjatrader.com/support/h...7/drawline.htm

    If you add this in the code, it should compile well on NT7 as well.

    Comment


      #3
      Thanks for the help it worked perfectly

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by Geovanny Suaza, 02-11-2026, 06:32 PM
      0 responses
      661 views
      0 likes
      Last Post Geovanny Suaza  
      Started by Geovanny Suaza, 02-11-2026, 05:51 PM
      0 responses
      375 views
      1 like
      Last Post Geovanny Suaza  
      Started by Mindset, 02-09-2026, 11:44 AM
      0 responses
      110 views
      0 likes
      Last Post Mindset
      by Mindset
       
      Started by Geovanny Suaza, 02-02-2026, 12:30 PM
      0 responses
      574 views
      1 like
      Last Post Geovanny Suaza  
      Started by RFrosty, 01-28-2026, 06:49 PM
      0 responses
      580 views
      1 like
      Last Post RFrosty
      by RFrosty
       
      Working...
      X