NinjaTrader Support Forum  
X

Attention!

This website will be down for maintenance from Friday May 24th at 6PM MDT until Saturday May 25th at 11AM MDT. We apologize for the inconvenience. If you need assistance during this time, please email sales@ninjatrader.com


Go Back   NinjaTrader Support Forum > NinjaScript Development Support > General Programming

General Programming General NinjaScript programming questions.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 02-15-2012, 03:46 AM   #1
kraziekris
Junior Member
 
Join Date: Jul 2011
Posts: 3
Thanks: 1
Thanked 0 times in 0 posts
Default 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 at 03:49 AM.
kraziekris is offline  
Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Is there a DrawLine() Example? dontpanic Indicator Development 4 12-16-2010 07:24 AM
Drawline dennho General Programming 2 02-24-2010 05:23 PM
DrawLine kaywai General Programming 1 02-23-2010 01:17 AM
DrawLine() dowhk Indicator Development 4 02-10-2010 09:48 AM
DrawLine Help PrTester Charting 1 02-09-2008 08:41 PM


All times are GMT -6. The time now is 11:26 AM.