• If this is your first visit, you will have to register before you can post. To view messages, please scroll below and select the forum that you would like to visits. Questions? Be sure to check out the Forum FAQ.

Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Draw.Line Properties

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

  • jamarc
    started a topic Draw.Line Properties

    Draw.Line Properties

    I’m trying to draw a line on a chart and get it to use the attributes set under the UI that is setup by AddPlot(). I have 3 instances that I’m using, 2 of them work ok but the one using Draw.line doesn’t use the attributes …. line type, color etc set in the UI that is setup by AddPlot(). Here is the code example. Thanks for your help.




    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    {
    Description = @"My Test.";
    Name = "MyTest";
    Calculate = Calculate.OnBarClose;
    IsOverlay = true;
    DisplayInDataBox = true;
    DrawOnPricePanel = true;
    DrawHorizontalGridLines = true;
    DrawVerticalGridLines = true;
    PaintPriceMarkers = true;
    ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right;
    IsSuspendedWhileInactive = true;
    AddPlot(new Stroke(Brushes.Orange, DashStyleHelper.Dash, 4), PlotStyle.Line, "LineProperties");

    }
    else if (State == State.Configure)
    {
    }
    }

    protected override void OnBarUpdate()
    {
    if(CurrentBar < 10)
    return;

    Draw.Line(this, "AB", true, 9, High[9], 0, Low[0], true, "LineProperties");

    LineProperties[0] = 72.45; //This draws a line at the price of 68.55 and is controlled by the color, linetype etc From AddPlot

    //Values[0][0] = Median[0]; //This draws a line from the middle of each bar and is controlled by the color, linetype etc From AddPlot

    }

    #region Properties
    [Browsable(false)]
    [XmlIgnore]
    public Series<double> LineProperties
    {
    get { return Values[0]; }
    }
    #endregion

    }

  • jamarc
    replied
    Thanks Paul. Working Now

    Leave a comment:


  • NinjaTrader_PaulH
    replied
    Hello jamarc,

    Thanks for your post.

    You would need to use the correct method overload to set the line properties of color, dashstyle and width. From the help guide here: https://ninjatrader.com/support/help...?draw_line.htm ,the overload that provides those parameters is:
    Draw.Line(NinjaScriptBase owner, string tag, bool isAutoScale, int startBarsAgo, double startY, int endBarsAgo, double endY, Brush brush, DashStyleHelper dashStyle, int width)

    With reference to the help guide section here: https://ninjatrader.com/support/help...-us/?plots.htm you can obtain the plot characteristics and then use them in the above method overload. For example:

    Draw.Line(this, "AB", true, 9, High[9], 0, Low[0], Plots[0].Brush, Plots[0].DashStyleHelper, (int) Plots[0].Width);

    Leave a comment:

Latest Posts

Collapse

Topics Statistics Last Post
Started by TazoTodua, Today, 06:00 AM
0 responses
7 views
0 likes
Last Post TazoTodua  
Started by Thans1946, Today, 04:04 AM
0 responses
5 views
0 likes
Last Post Thans1946  
Started by gbux11, Today, 02:36 AM
0 responses
8 views
0 likes
Last Post gbux11
by gbux11
 
Started by fx.practic, Today, 01:47 AM
0 responses
13 views
0 likes
Last Post fx.practic  
Started by bneccv, Yesterday, 09:25 PM
0 responses
5 views
0 likes
Last Post bneccv
by bneccv
 
Working...
X