Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Tape Reading using Time & Sales colors during high volume hits

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

    Tape Reading using Time & Sales colors during high volume hits

    I was running a replay of the ZN 06-13 contract comparing a 500 volume chart, Time & Sales, and DOM and noticed the following (see pic 1):

    1. a large block of 5,000+ lots hit the market all filled at 195 within the same second 08:45:03 on 8may2013
    2. the inside market on the DOM did not move off 200 Ask / 195 Bid
    3. the prints on the Time & Sales were mainly green meaning the Ask had to drop to 195...it did not...visibly anyway

    So, I had my code output from OnMarketData(MarketDataEventArgs e) and noticed hits on LAST, ASK and BID. (see pic 2)

    Questions:

    A. The DOM must be filtered since if it kept up with the OnMarketData hits the CPU would over heat and catch fire and/or Ninja would constantly freeze trying to keep up with the plots. So how is the DOM filtered assuming the T&S prints hitting the Bid are correct? i.e. assuming the inside market did shift and the DOM is filtered.

    B.The T&S must be filtered since it is solid green followed by solid red while the OnMarketData hits shift rapidly between Bid, Ask and Last constantly. So how is it filtered? i.e. what had to happen for the majority of the prints to be solid green then the last several change to solid red?

    C. For my purposes I would like to assume the DOM is correct, that the Inside Market did not shift and all the volume hit the Bid and all the T&S prints should be red. However most of them are green indicating strength not weakness. For traders Tape Reading using the T&S print colors this could be misleading at times of heavy volume. Could you please explain exactly how the T&S print colors are determined in this instance?

    D. Can this whole issue be attributed to the fact that very large volume hit one price all within 1 second? In which case should we consciously filter out the T&S print colors in similar very high volume situations?
    Attached Files
    Last edited by ATI user; 06-13-2013, 04:47 AM.

    #2
    Hi ATI user,

    Thanks for your note.

    I am writing up a comprehensive response for you and will be responding in short while.

    Thank you for your patience.
    Chelsea B.NinjaTrader Customer Service

    Comment


      #3
      Hi ATI user,

      Thanks for your patience.

      The SuperDOM uses level 2 data while the Time & Sales window uses level 1 data. Level 2 data is almost always filtered by the provider. This will be a descrepancy between the two windows.

      With Kinetick you will receive about 5 to 6 updates of level 2 data per second while the level 1 data is unfiltered.

      The Time & Sales window is unfiltered data.

      The last price is the price of the last trade, either bid or ask, and is determined by the broker.

      Because level 2 is unfiltered and level 1 is not, the Time & Sales window will be correct while the SuperDOM window will be very close.

      The colors of the time and sales will reflect if the trade was above or below the ask or bid price or equal to. To see which colors reflect which type of price right click the Time & Sales window and select Properties... The fore-color will be the color of the text while the back color will be the background.

      Also, yes, a very large amount of volume will make these kind of differences much more noticeable.


      Please let me know if this information does not resolve your inquiry.
      Chelsea B.NinjaTrader Customer Service

      Comment


        #4
        Thanks Chelsea

        I should have specified 'filtered by Ninja for display' as separate from filtered by the data provider.

        For example, if you look at the output from OnMarketData you will see that the hits alternate continuously between the Bid and Ask yet the Time & Sales prints do not. The T&S window in the pic shows the last 80 hits with the most current 20 or so being at the top and red and the prior 60 or so being green and at the botom. These colors do not match the actual hits on bid/ask shown in the output window. i.e. the most current OnMarketData hits are printed at the bottom of the Output Window and show only the last 5 on the Ask, then 1 on the Bid, then 2 on the Ask,then 3 on the Bid, etc. So clearly the T&S must be filtered for display purposes by Ninja as they do not match the OnMarketData hits from the provider right?

        Perhaps better questions would have been:

        1. is the OnMarketData information Level I and always correct? Answer from documentation is: 'The OnMarketData() method is called and guaranteed to be in the correct sequence for every change in level one market data for the underlying instrument.'

        2. since T&S is also Level I, how are T&S prints filtered since they do not match the OnMarketData i.e. they are being grouped....how? Why so many attributed to the Ask/green when an Ask of 195 does not match the Level II? There must be a filter of some kind to group them in favor of one or the other?

        3. can the Order Book/DOM/Level II data really be filtered that much by the data provider that it does not budge while 60+ ticks hit the Ask which had to have dropped from 200 to 195. Interesting that we are not seeing the actual inside market in Level II. I suspect it would be too hard to follow otherwise.

        My confusion is this: If the data provider filters Level II (for some good reason) so the DOM stays fixed at 200 Ask / 195 Bid for the whole 5,000+ lots over hundreds of ticks, then why is the T&S not filtered (for the same good reason) and attribute all the hits to the Bid as red prints? There must be a good reason for them to be predominantly green and I just wondered what that reason is as it affects tape reading.
        Last edited by ATI user; 06-13-2013, 04:48 AM.

        Comment


          #5
          Chelsea

          This is interesting and might shed some light on the issue.

          I had my code count and print the Bid/Ask hits for the 3 seconds in question. See pic.

          Reading from the bottom the total Ask hits were 903 while the total Bid hits were 2497.

          So the majority of hits (ALL at 195) were on the Bid and the majority of prints should be red if filtering based solely on number of trades and not considering the volume of each hit. Right? So the T&S print filter is not based on hits. Perhaps time and/or volume?

          I find it Interesting that there could be 903 hits on the Ask at 195 without the provider moving the Ask down from 200 to 195 on the DOM. They must filter by the milliseconds spent at a price before changing the plot and the market did not spend enough time at Ask 195 to warrant moving the plot.
          Attached Files
          Last edited by ATI user; 06-10-2013, 04:52 PM.

          Comment


            #6
            Hello ATI user,

            The Time & Sales window does not show the Bid or Ask prices. It will only show the Last price (of trades) and the color will indicate if this is above, at, or below the ask or bid.

            I have also created a short indicator script that prints the last price to the output window. (if e.MarketDateType == MarketDataType.Last) Print(e.ToString());

            The instrument I am testing this on is TSLA as this is a lower volume instrument. While there is a tiny delay, the data is matching perfectly.

            I have also tested this with a few quicker moving instruments such as the ES and this is also matching perfectly.

            With the DOM window I have open the last price (in yellow) does seem to switch to whatever is printing in the T&S window immediately without delay (on the ES). While I do know that this data is highly filtered, it still seems to be spot on and I cannot find any discrepancies.

            If you believe your data is much different than this, please take a short video of the comparison.

            You can do this with free software called Jing from TechSmith.
            http://www.techsmith.com/download/jing/
            Last edited by NinjaTrader_ChelseaB; 06-11-2013, 09:04 AM.
            Chelsea B.NinjaTrader Customer Service

            Comment


              #7
              Thanks Chelsea

              Are you saying T&S prints only hits on Last?

              Did you test the ZN 06-13 for 3 seconds at 8:45:00 on 8 may 2013 with your code? I would be interested in those results.

              Will test further also
              Last edited by ATI user; 06-13-2013, 04:51 AM.

              Comment


                #8
                Hi ATI user,

                I did mean that the Time & Sales window prints hits on just the Last data and not the Bid or Ask.

                You can confirm this by printing the Last in an indicator and comparing this to the Time & Sales window.

                I have also done a comparison with the ZN 06-13 and have found these to be in sync.


                Also, do keep in mind that the output window will append to the bottom while the Time & Sales window prepends at the top.
                Last edited by NinjaTrader_ChelseaB; 06-11-2013, 10:32 AM.
                Chelsea B.NinjaTrader Customer Service

                Comment


                  #9
                  Thanks Chelsea... that clears it up

                  I added this code:

                  protected override void OnMarketData(MarketDataEventArgs e)
                  {
                  if ( CurrentBar < 50 ) return;
                  OMDcntr++;
                  if (e.MarketDataType == MarketDataType.Last){ lastTrade = e.Price;
                  if ( e.Price == lastAsk ) { asks = asks+e.Volume; Print(OMDcntr+" LAST ASK @ "+e.Price+" vol "+e.Volume+" asks " +asks +" " +e.Time ); }
                  else if ( e.Price == lastBid ) { bids = bids+e.Volume; Print(OMDcntr+" LAST BID @ "+e.Price+" vol "+e.Volume+" bids " +bids +" " +e.Time ); }
                  }
                  else if (e.MarketDataType == MarketDataType.Ask) { lastAsk = e.Price; Print(OMDcntr+" ***** ASK @ "+e.Price+" vol "+e.Volume+" " +e.Time ); }
                  else if (e.MarketDataType == MarketDataType.Bid) { lastBid = e.Price; Print(OMDcntr+" ***** BID @ "+e.Price+" vol "+e.Volume+" " +e.Time ); }
                  }

                  which produced the attached results where in the output window:

                  - the last line shows a total of 6670 OnMarketData updates in the 3 seconds ..actually all in the last second
                  - the last line shows the final Ask price at 132.625 which is 132'200 for 4286 lots offered...which matches DOM
                  - six lines up from the bottom, OMDcntr 6665, shows the final Bid price at 132.609375 which is 132'195 (the price at which all trades were filled) for 173 lots bid... which matches the DOM
                  - at the top, OMDcntr 6569, shows the Ask at 132.609375 or 132'195 and
                  the next line, OMDcntr 6570, show the Bid at 132.59375 or 132'190 ...so...the inside market did drop due to the heavy volume hitting all in 1 second and the next line, OMDcntr 6571, shows a hit (LAST) at the lowered Ask at 195.

                  Had to see all this to believe it. The other 2 attachments show the same info i.e. lowered inside market starting at OMDcntr 6359. Prior to that all the hits were on the Bid/red prints for a total volume up to that point of 4328. The total volume for the one second was 5366 so most of it hit the Bid and most of the prints would have been red... if you could see them that fast.

                  Tape reading based on the color here then does indicate that the inside market did drop on the heavy volume and then got hammered back up. Then the final red prints plus price action show the market held. Time to buy.
                  Attached Files
                  Last edited by ATI user; 06-14-2013, 12:44 AM.

                  Comment

                  Latest Posts

                  Collapse

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