Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

How to enter vertical line in chart output for Strategy Analyzer

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

    How to enter vertical line in chart output for Strategy Analyzer

    I'm trying to add a vertical line everyday that is being analyzed at a specific time. I've yet to make anything display and assuming I'm handling the time input incorrectly?

    Code:
    Draw.VerticalLine(this, "tag1", 64500, Brushes.Green)
    Thanks!

    #2
    Hello Dragon989,

    Thank you for your note.

    The following would draw a vertical line on the most recent current bar, 0.
    Draw.VerticalLine(this, "tag1",0, Brushes.Green);

    When you're passing 64500 its drawing a line 645000 bars Ago.

    If you wanted a line drawn at a specific time each day, say 9AM, you could use the following,

    if (Times[0][0].TimeOfDay == new TimeSpan(08,00, 0))
    Draw.VerticalLine(this, "tag1"+CurrentBar, 0, Brushes.Green);

    Notice I amend "Tag1" with the current bar, so the same line is not redrawn on each call but a new line is created.

    See draw.vertical line section of our HG:


    Please let us know if you need further assistance.
    Attached Files
    Alan P.NinjaTrader Customer Service

    Comment


      #3
      Hello, for some reason with my ninja trader 8 code, no matter what Draw.VerticleLine or Draw.Line is called, it only draws a single verticle line on the last bar of the chart. It doesn't draw any other lines. So if there is a condition met then draw a verticle line. It draws one time even when the condition is met. Always on the very last bar on the chart.

      Draw.Line("My vertical line2" + CurrentBar, 0, Color.Cyan, DashStyle.Dash, 3);

      Draw.Line(this, "tag1", false, 0, 1000, 0, 1001, Brushes.LimeGreen, DashStyleHelper.Dot, 2);

      if (Times[0][0].TimeOfDay == new TimeSpan(08,00, 0))
      Draw.VerticalLine(this, "tag1"+CurrentBar, 0, Brushes.Green);

      Draw.VerticalLine(this, "someOtherfib", k, Brushes.Blue);

      Draw.VerticalLine(this, "someOtherfib", CurrentBar, Brushes.Blue);

      Any thoughts as to why this would happen.
      My only idea is that it may be related to:

      if (BarsInProgress != 0)
      return;
      Last edited by krimkrim; 03-27-2020, 09:05 PM.

      Comment


        #4
        Looks like you may be using the name "tag1" for each line, so you are only getting one line. Change the name to something like ("tag" + CurrentBar) to get unique line names.

        Comment


          #5
          Yes, thank you Zigfried! That fixed it.
          I used: Draw.VerticalLine(this, "tag1"+CurrentBar, 0, Brushes.Brown); //works excellent on NT8

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by chartchart, 05-19-2021, 04:14 PM
          3 responses
          577 views
          1 like
          Last Post NinjaTrader_Gaby  
          Started by bsbisme, Yesterday, 02:08 PM
          1 response
          15 views
          0 likes
          Last Post NinjaTrader_Gaby  
          Started by prdecast, Today, 06:07 AM
          0 responses
          3 views
          0 likes
          Last Post prdecast  
          Started by i019945nj, 12-14-2023, 06:41 AM
          3 responses
          60 views
          0 likes
          Last Post i019945nj  
          Started by TraderBCL, Today, 04:38 AM
          2 responses
          18 views
          0 likes
          Last Post TraderBCL  
          Working...
          X