Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Find out if Order filled at Bid or Ask

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

    Find out if Order filled at Bid or Ask

    I am building an orderflow chart and need to find out if the last price is filled at bid or ask.

    What is the best way to get this info?

    My confusion is that if I first obtain "Last Price" and then bid and ask info - this may not be accurate especially in securities where there is a wider spread.

    So what I need is Bid/Ask info first and then I need to know whether a trade took place at bid price or ask price or something else.

    Thanks.

    #2
    obulig, you can take a look at our Power Volume indicators code to see how the split up the trades programmatically in NinjaScript - http://www.ninjatrader-support.com/H...ndicators.html

    Comment


      #3
      Originally posted by obulig View Post
      I am building an orderflow chart and need to find out if the last price is filled at bid or ask.

      What is the best way to get this info?

      My confusion is that if I first obtain "Last Price" and then bid and ask info - this may not be accurate especially in securities where there is a wider spread.

      So what I need is Bid/Ask info first and then I need to know whether a trade took place at bid price or ask price or something else.

      Thanks.
      obulig,

      This code does that and also captures the number of contracts traded.

      protected override void OnMarketData(MarketDataEventArgs e)
      {

      if (e.MarketDataType == MarketDataType.Ask)AskPrice = e.Price;

      if (e.MarketDataType == MarketDataType.Bid)BidPrice = e.Price;

      if (e.MarketDataType == MarketDataType.Last)LastPrice = e.Price;

      if (e.MarketDataType == MarketDataType.Ask)AskVolume = e.Volume;

      if (e.MarketDataType == MarketDataType.Bid)BidVolume = e.Volume;

      if (e.MarketDataType == MarketDataType.Last)LastVolume = e.Volume;

      if (e.MarketDataType != MarketDataType.Last)return;


      if((LastPrice >= AskPrice) && (AskPrice!=0)) CurrentAskVolume = LastVolume;
      else if((LastPrice <= BidPrice) && (BidPrice!=0)) CurrentBidVolume = LastVolume;

      }

      RJay
      RJay
      NinjaTrader Ecosystem Vendor - Innovative Trading Solutions

      Comment


        #4
        Thank you Bertrand. That should help me out.

        RJay, your method is throwing lots of Ask and Bid prices. I need to spend some more time to understand how it works. Thanks for the suggestion though.

        Comment


          #5
          After some more playing around RJay yours is the only method that works accurately.

          Thank you very much.

          Comment

          Latest Posts

          Collapse

          Topics Statistics Last Post
          Started by Geovanny Suaza, 02-11-2026, 06:32 PM
          0 responses
          599 views
          0 likes
          Last Post Geovanny Suaza  
          Started by Geovanny Suaza, 02-11-2026, 05:51 PM
          0 responses
          344 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
          557 views
          1 like
          Last Post RFrosty
          by RFrosty
           
          Working...
          X