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

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
    BertrandNinjaTrader Customer Service

    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 ScottW, Today, 06:09 PM
          1 response
          4 views
          0 likes
          Last Post NinjaTrader_Manfred  
          Started by ScottWalsh, Today, 06:52 PM
          0 responses
          3 views
          0 likes
          Last Post ScottWalsh  
          Started by ftsc2022, 10-25-2022, 12:03 PM
          5 responses
          256 views
          0 likes
          Last Post KeyonMatthews  
          Started by Board game geek, 10-29-2023, 12:00 PM
          14 responses
          244 views
          0 likes
          Last Post DJ888
          by DJ888
           
          Started by Waxavi, 04-19-2024, 02:10 AM
          4 responses
          56 views
          0 likes
          Last Post sonia0101  
          Working...
          X