Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Draw Objects - Tick Charts

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

    Draw Objects - Tick Charts

    Please compare the attached 2 images. Please pay special notice to the "Line Draw" objects on the charts. the are not in the same place

    I saved image.. Then right clicked on the chart | Dataseries and changed from DoNotPlot To TextAndMarker and clicked ok.

    When the screen redrew my trend lines were moved by the redraw. This often happens to both RECTANGLE and LINE objects on tick charts.

    Reloading of data, exiting the application and restarting or changing your data-series properties often have this result.
    Attached Files

    #2
    mjc4118,

    I am unable to reproduce on my end. Can you please try eliminating as many variables from your setup as possible. Please try removing all indicators and unrelated objects on the chart. Are you using equidistant or non-equidistant? Do you actually have trade executions that would be plotted on the chart when you switched DoNotPlot to TextAndMarker?
    Josh P.NinjaTrader Customer Service

    Comment


      #3
      Josh.

      One thing I noticed is that only objects that I draw as the day progresses seem to be affected. In other words, If I draw objects as price is being received over my data-feed then these objects appear to be the ones that are steched along the time axis on the TICK charts when I do anything like adjust a property on my data-series or exit and restart NinjaTrader. and NOT ALL of the objects are affected.

      If I take a chart where price has already filled/ drawn the candles and scroll back into history and mark up the chart with line and rectangle objects ...then change the properties of my data-series...these objects do not seem to be affected.

      So, it seems that as the charts are progressing, if you draw objects with one anchor at or near the current candle (either behind or in front of the current bar..or even "on" the currentbar) and then one or 2 hours later after significantly more data has been received and many many more bars have been drawn... exit or restart NinjaTrader or change a property like "DoNotPlot" to "TextAndMarker" on your dataseries ...these objects are redrawn. It is posible that something is happening in the way you are setting the initial value of the anchor when the object is drawn...and Doing anything to the DataSeries properties that causes a redraw of the chart will cause it to happen...it is not directly related to "Plotting Executions" ..this is just an easy way to get the chart to create the "redraw problem" for me.

      And in response to your Specific Questions:

      1-Can you please try eliminating as many variables from your setup as possible.


      Yes. I can reproduce on a chart w/ no indicators as long as you draw the objects as price/the chart is drawing candles and you anchor objects behind or in front of the current bar..or even "on" the currentbar.

      2-Are you using equidistant or non-equidistant?

      I do not know. How do I check/change?

      3- Do you actually have trade executions that would be plotted on the chart when you switched DoNotPlot to TextAndMarker?

      Yes. I do. At the same time ..it is not "directly" related to changing the "Plot Executions" ..this is just an easy way to get the chart to create the "redraw problem" because it causes the canvas to recalculate/repaint.

      Comment


        #4
        2. You can check this by bringing up the Chart Properties by right clicking on the chart.

        Thank you for the detailed information. We will try again when markets are open.
        Josh P.NinjaTrader Customer Service

        Comment


          #5
          I have the same problem with tick chart objects (Ninja 7), (with no solution). I've taken to keeping ninja trader on at all times and redrawing everything over the weekend. Very bad problem, because its endless redrawing. Whats happening as far as I can tell, is the objects are specified when you save the workspace in terms of minutes (you can look into the xml workspace file in your /Documents/NinjaTrader 7 /workspaces) which is a wrong design decision when the object right side (on the tick charts) is in the future.

          The ninja software developers have to change the save representation so the tick chart objects are represented in their native form of ticks. (i think the right representation is the left side of the object is specified as a start time (as it is now), and then the right side is specified by a tick offset. That would work)

          Please (Ninja trader support) tell the developers to fix this as it's a show stopper for tick chart users.
          -John

          Comment


            #6
            John,

            I did not quite follow your report. First, please be sure you are on B18. Then please provide a screenshot of how exactly your object is drawn on the tick chart before shutting down NT and how exactly the object is recovered so there is no ambiguity. Thank you.
            Josh P.NinjaTrader Customer Service

            Comment


              #7
              The latest beta still has the same problem. It may or may not be less pronounced..will let you know after a few days.

              I restarted yesterday and about 33% of my RECTANGLE objects MANUALLY drawn on the price panel were drawn into the future...

              Objects that were drawn programatically using the Draw...() functions do not seem to be affected by this issue. Manually drawn objects still ocasionally show the same behavior as initially reported.

              Comment


                #8
                mjc4118,

                Please pay special attention to the actual object's timestamps. Objects anchor points are determined by exact timestamps and they are redrawn on wherever that timestamp may be. Just closing and restarting NT should not change the object's anchor point's timestamps. Please see if you are seeing it actually change on your end.
                Josh P.NinjaTrader Customer Service

                Comment


                  #9
                  This is not an intermittent problem that requires a complex debuging report. It happens EVERY time. You must be able to reproduce it.

                  A: draw an ellipse or rectangle on the tick chart with right side in the future.
                  take careful note of how wide it is (measure it with the ruler tool)
                  B: save workspace and shutdown NT7
                  C: let time pass (the more time, the more distorted the object will be)
                  D: restart

                  Notice the ellipse/rectangle is the wrong size.


                  As I've said, this is not simply a bug, this is a design error. You can't save a tick object as specified by ending time in minutes. You need a correct representation. (start time, + tick offset perhaps)

                  here is the xml fragment for an ellipse drawn on a tick chart, its improper that the elipse is specified by start and end time. This is ill defined when the ellipse right side (or both sides) are in the future.

                  <ChartObject3>
                  <ClassName>NinjaTrader.Gui.Chart.ChartEllipse</ClassName>
                  <ChartObject>
                  <ChartEllipse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                  <AutoScale>false</AutoScale>
                  <AddGlobalAsDefault>false</AddGlobalAsDefault>
                  <CreatedOnBar>-1</CreatedOnBar>
                  <CreatedOnTime>1800-01-01T00:00:00</CreatedOnTime>
                  <InstrumentOnCopyPaste>0;TF 09-10</InstrumentOnCopyPaste>
                  <LastSeen>2010-07-12T00:23:07.973-04:00</LastSeen>
                  <Locked>false</Locked>
                  <Panel>0</Panel>
                  <Persist>true</Persist>
                  <ScaleJustification>Right</ScaleJustification>
                  <Selectable>true</Selectable>
                  <SeparateZOrder>false</SeparateZOrder>
                  <Y>615.42250288489583</Y>
                  <Tag>388</Tag>
                  <Time>2010-07-08T05:01:00</Time>
                  <VisibleOnInstrument>TF 09-10</VisibleOnInstrument>
                  <ZOrder>30579</ZOrder>
                  <AreaOpacity>0</AreaOpacity>
                  <BackColorSerialize>n:Blue</BackColorSerialize>
                  <EndTime>2010-07-08T11:44:00</EndTime>
                  <EndY>592.55381682587915</EndY>
                  <PenSerializable>
                  <Color>n:Blue</Color>
                  <DashStyle>Solid</DashStyle>
                  <Width>1</Width>
                  </PenSerializable>
                  <StartTime>2010-07-08T05:01:00</StartTime>
                  <StartY>615.42250288489583</StartY>
                  </ChartEllipse>
                  </ChartObject>
                  </ChartObject3>

                  Notice the elipse is specified by start/end time. This is an improper representation.

                  Tell your programmers to change the save representation.

                  Comment


                    #10
                    kinderlich,

                    1. Objects are not stored with ending times in minutes. Objects are stored with the timestamp of wherever the anchor point is. Whether that is down to the seconds or only down to the minute depends on the chart and where you draw it.

                    2. Trying to draw into the future on a tick chart comes with behavior that needs to be understood. First is how the future x-axis timeline is generated. There is no way NT can predict how the incoming ticks will build bars and as such it can only guess what the timeline will look like and extrapolate timestamps at various intervals for the x-axis going forward. As such, drawing objects into the future will give the object's anchor points timestamps that are theoretical timestamps. As the tick data really comes in now this changes the x-axis timeline to its real timestamps and as such your objects may appear to shift and reposition itself in relation to the real timestamp.

                    This is expected behavior and correct representation of how all draw objects work in NT. Objects are required to be tagged by timestamps on anchor points as there is no way to tie it to actual # of bars the object spans. For instance, when you use a non-equidistant chart, there is no way to assume how many bars will take up 1 inch of space to assign it to that many bars.

                    For your case if you want the object to remain the same you would need to use a non-equidistant chart where the x-axis timeline spacing is hard set and would not change. Tick charts on equidistant spacing have equal spacing between bars, but to create that equal spacing means using an uneven timeline and that is the limitation you are running into.
                    Josh P.NinjaTrader Customer Service

                    Comment


                      #11
                      Josh.

                      I understand all that you have said about anchor points etc and appreciate your perspective and the requirements. BUT you are missing his point.

                      In his original post he is telling you to EXIT NINJA TRADER and "Later" restart it and when you look at the charts the objects are the wrong size. .... BETTER STATED the objects are NOT ANCHORED to the CORRECT ANCHOR POINTS.

                      While with the latest beta this has significantly improved it is NOT resolved. Often I open my charts and see that my drawing objects have MOVED. Since you are associating the TICK and VOLUME bars with a start time and end time, you are anchoring to "something" related in time. Well, if those bars are not moving then why are the drawing objects. These drawing objects are not moving by one or two candles, but by many many candles that often represent over 20 minutes, 1, 2 even 4 hours in time from the "original" anchor "time" for the original anchor point. This Obviosly is incorrect. If they are anchored in time as you say, then the rectangle x and y coordinates should save and remember the CORRECT TIME when you exit and restart the charts. This is STILL not always the case, ESPECIALLY if you are drawing objects on the charts as the candles are being built when the market is open!

                      Comment


                        #12
                        mjc4118,

                        No point has been missed. The objects never change anchor points. The perceived change is due to the x-axis generation.

                        1. Draw the object into the future on a tick chart with equidistant bar spacing
                        2. x-axis into the future is approximated
                        3. Object assumes an x-axis timestamp for the anchor point in the future
                        4. As data populates in and surpasses where the object is on the chart it populates in the correct x-axis
                        5. The correct x-axis may not necessarily correspond with the object's timestamp, but the object will not move at this point in time. Basically you will have an object saying its timestamp is 10:30AM, but is actually being plotted on a bar with timestamp 10:20AM. This happens because there were more bars then predicted populating the space into the future you drew. As NT is running, the object will not move, but the anchor point is still 10:30AM.
                        6. As you now restart NT, the object is recovered based on those anchor point timestamps. The true 10:30AM bar is a different bar than 10:20AM and you end up with the object on the correct bar based on timestamp.

                        The suggestion to use non-equidistant bar spacing still stands.
                        Josh P.NinjaTrader Customer Service

                        Comment


                          #13
                          Originally posted by NinjaTrader_Josh View Post
                          mjc4118,

                          No point has been missed. The objects never change anchor points. The perceived change is due to the x-axis generation.
                          .....
                          5. The correct x-axis may not necessarily correspond with the object's timestamp, but the object will not move at this point in time.
                          ....
                          The suggestion to use non-equidistant bar spacing still stands.
                          Josh -
                          Please bear with me on this... I am uploading a chart from today.
                          On that chart 2 rectangle objects have been significantly skewed by NinjaTrader due to this time stamp/anchor point issue.

                          The First Rectangle object was drawn starting at 11:14 and ending at 11:18 on a 250 tick chart. (RED RECTANGLE) ALL BARS had already been CLOSED when this object was applied. I was NOT drawing into the future.

                          The second object was drawn (GREEN RECTANGLE) starting at 12:19 and ending at 12:23. All bar objects were closed and 4 or 5 bars BEYOND the last bar where this object had been drawn were also closed.

                          At approx 3:00 PM I disconnected from Zen-fire. At approx 11:00 PM I reconnected. The chart reloaded and the Right most anchor of rectangle object one was MOVED to 13:23 PM from its original anchor time of 12:19 PM

                          The right most anchor for rectangle object # 2 was MOVED to 16:56 from its original 12:23...and I say moved because I drew on CLOSED bars that SHOULD have already had correct X Axis generation completed and there are about 75 or so bars drawn BETWEEN where I originally anchored the object and where it REDREW.

                          So I strongly suggest that you or someone take a look at how you are generating your X-axis anchor points because to the end user it is buggy and inconsistent in many cases. All of my candles still appear the same as they were. .. but my rectangles do not.
                          I understand this may not be simple and you may have issues reproducing, but it is real and it is wrong. Behavior like demonstrated cannot be explained away as what we should expect by design. There is a 2 hour time differental in the original and redrawn anchor points and 70 plus candles, all with an x axis point for each candle in between.

                          Also your suggestion to use non-equidistant bar spacing is simply not realistic... For traders who trade TICK and VOLUME charts. My signals simply do not appear on time charts and it would be impossible to use my methods on anything time based.

                          I have actually taken the time to develop an indicator to draw lines on my chart for me because manually drawn lines are 100% useless on tick and Volume charts in ninja trader 7. When you close a chart and open it and all of your trend lines have MOVED then there are significant issues with their validity. And while you claim they have not moved, the visual result is the same as them being moved.

                          And in the case demonstrated, when the start and stop time of each bar where the 2 rectangles were drawn were KNOWN by ninja trader as they were closed bars, then they were either moved or the WRONG ANCHOR VALUE was stored.

                          I spent 20 years developing software and have learned one simple truth -> one solution does not fit all cases, and in the case of trying to anchor TICK CHART trend lines and objects on a time based X axis then it is the case of trying to put a round peg in a square hole. Realistically it is not a big stretch to allow an object to be anchored in TIME or BAR VALUE. If applying objects on charts w/ multiple time frames then use the time value. If using Tick chart w/ only tick bars or volume based chart w/ only volume based objects then use the bar value. Probably not the answer any coder at Ninja wants to hear but it is probably the best solution because so far the round peg does not fit in the square hole.

                          Short of that, unless there was a bug of some sort or a "flaw in the logic" that is being applied, Then I would not see the results captured in my screen shot.

                          Also in the screensot I have drawn 2 BLUE arrows at the points where the rectangle objects were originally anchored. Considering that results like these are a daily occurance, I find it hard to believe that this could not be reproduced on your side. This is more than simple slipage. It is 70 + bars! So I find it hard for it to be explained away as "by design"

                          Thanks for your consideration.
                          Mark
                          Attached Files

                          Comment


                            #14
                            mjc4118,

                            If what you are saying about anchor timestamps actually changing to a different timestamp is true then that would simply be a bug. I will only be focusing on the red rectangle as this is the only one not drawing into the future at this point in time. I will need information on the following:

                            - Is this object actually a manually drawn object? NinjaScript objects can be changed by NinjaScript code. Please eliminate this factor and be sure this is a manually drawn object to begin with.
                            - What exactly was the timestamp for both anchor points shown for the object as you double click on it to bring up the Draw Object Properties after you draw the object?
                            - What exactly was the timestamp for both anchor points as you disconnected?
                            - If you shutdown NT and restarted NT, what exactly were the timestamps as the chart was recovered on NT startup?
                            - After you reconnect, what exactly were the timestamps shown in the properties dialogue for the anchor points?
                            - Was this a global draw object?
                            - Do you have a draw object template for rectangles in use?
                            Josh P.NinjaTrader Customer Service

                            Comment


                              #15
                              Originally posted by NinjaTrader_Josh View Post
                              mjc4118,

                              - Is this object actually a manually drawn object? NinjaScript objects can be changed by NinjaScript code. Please eliminate this factor and be sure this is a manually drawn object to begin with.
                              Yes. It was MANUALLY drawn, not drawn or altered by code

                              Originally posted by NinjaTrader_Josh View Post
                              mjc4118,

                              - What exactly was the timestamp for both anchor points shown for the object as you double click on it to bring up the Draw Object Properties after you draw the object?

                              - What exactly was the timestamp for both anchor points as you disconnected?
                              The chart has since been modified and I cannot tell you what these original values were. I am willing to try to monitor it in the future. Is there any way I can save before/after by copying my workspace files?

                              Originally posted by NinjaTrader_Josh View Post

                              - If you shutdown NT and restarted NT, what exactly were the timestamps as the chart was recovered on NT startup?

                              - After you reconnect, what exactly were the timestamps shown in the properties dialogue for the anchor points?
                              I did not shut down. I re-connected. Although this does occur in both cases. I did happen to me again today. I will attempt to track the times etc by taking a screenshot of the draw objects data properties if i can between trades

                              Originally posted by NinjaTrader_Josh View Post

                              - Was this a global draw object?
                              No


                              Originally posted by NinjaTrader_Josh View Post

                              - Do you have a draw object template for rectangles in use?
                              I have changed the color on the draw rectangle object and clicked "Set Default" to save my rectangle preferences

                              Comment

                              Latest Posts

                              Collapse

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