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 manueldecastro, Yesterday, 10:26 AM
          4 responses
          16 views
          0 likes
          Last Post manueldecastro  
          Started by TraderIqbal, 10-20-2023, 10:12 AM
          2 responses
          118 views
          0 likes
          Last Post Funnywo
          by Funnywo
           
          Started by Creamers, 04-27-2024, 05:32 AM
          12 responses
          72 views
          0 likes
          Last Post Creamers  
          Started by fredericlebre, Today, 01:19 AM
          0 responses
          7 views
          0 likes
          Last Post fredericlebre  
          Started by TraderJA, Today, 12:06 AM
          0 responses
          10 views
          0 likes
          Last Post TraderJA  
          Working...
          X