Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Is Order Flow Volume Profile now accessible in NinjaScript?

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

    #16
    I'm considering a switch to NinjaTrader, and access to volume profile data is critical for my use. This thread makes it clear that a developer cannot call something like GetPOC(lastBar) to get the price level of the last bar's point of control, but the NinjaScript documentation suggests it's rather easy to recreate a volume profile for strategy development using documented properties and methods.

    Specifically, all price levels in a bar could be gathered for use by adding each price from high to low in a List<double>, then foreach (double price in List<double>) {GetTotalVolumeForPrice(price)}. At this point, the price and volume can be group as KeyValuePair<double, double>. These can then be added to a Dictionary<double, double>, or perhaps more usefully a List< KeyValuePair<double, double>>, so the pairs can be ordered by price, thus allowing the indexing of the list to correspond to the relative high/low relationship of the prices.

    From this point, you can find the POC by grabbing the Key (price) with the highest Value (volume). It takes a bit more work to recreate the value area, but it can be done from the noted list.

    Is there any reason this won’t work?

    As long as the above approach works, then NinjaTrader should be more than adequate for my volume profile dependent development needs, while still using documented properties and methods.

    Thanks!

    Comment


      #17
      Any updates on this, it has been years since the request, and unlocking the volume profile plots to be used in strategies does not seem like a huge implementation.

      Comment


        #18
        Hello Rivenoak,

        Thanks for your notes and welcome to the NinjaTrader Forums.

        There are no updates to this feature request at this time.

        As with all feature requests, interest is tracked before implementation is considered, so we cannot offer an ETA or promise of fulfillment. If implemented, it will be noted in the Release Notes page of the Help Guide.

        Release Notes — https://ninjatrader.com/support/help...ease_notes.htm
        <span class="name">Brandon H.</span><span class="title">NinjaTrader Customer Service</span><iframe name="sig" id="sigFrame" src="/support/forum/core/clientscript/Signature/signature.php" frameborder="0" border="0" cellspacing="0" style="border-style: none;width: 100%; height: 120px;"></iframe>

        Comment


          #19
          This is pathetic to be honest. It’s not like every ninjatrader user has access to Orderflow Volume Profile, but only those of us who paid a hefty price only to have value area and poc plots not available. It’s a joke. Request after request has been received and yet years go by. Perhaps the issue must be raised with customer support and scripting support teams, not on these forums.
          Last edited by Nyman; 07-03-2024, 06:57 PM.

          Comment


            #20
            Hi NT team, any news about this request?
            Considering all the updates the platform had during these years, I wondering if there is a technical or 'political' limitation in making volume profile available on a script...

            Comment


              #21
              Originally posted by NinjaTrader_ChelseaB View Post
              This request is being tracked with ID # SFT-3402.
              +1

              Please add my vote.

              Comment


                #22
                Most of the complexity in the OrderFlowVolumeProfile is in the rendering and other nicities like being able to plot it over <n> bars, track delta vs standard, heatmap, etc (all things that are good for discretionary trading). But if you're looking to capture the data as a way to implement some other indicator or to use in a strategy, you could take the non-orderflow version and modify it to include the POC (max volume on the day) and value area. Something like this:

                Code:
                        private void CalculateValueArea(Dictionary<double, VolumeInfoItem> volumeData)
                        {
                            var sortedVolumes = volumeData.Select(kvp => new { Price = kvp.Key, Volume = kvp.Value.up + kvp.Value.down + kvp.Value.neutral })
                                                          .OrderByDescending(v => v.Volume)
                                                          .ToList();
                
                            double totalVolume = sortedVolumes.Sum(v => v.Volume);
                            double cumulativeVolume = 0;
                            double valueAreaPercentage = 0.7;
                
                            pointOfControl = sortedVolumes.First().Price;
                
                            valueAreaHigh = 0;
                            valueAreaLow = 0;
                
                            foreach (var v in sortedVolumes)
                            {
                                cumulativeVolume += v.Volume;
                                double cumulativePercentage = cumulativeVolume / totalVolume;
                
                                if (valueAreaLow == 0 && cumulativePercentage >= (1 - valueAreaPercentage) / 2)
                                    valueAreaLow = v.Price;
                
                                if (cumulativePercentage >= 1 - (1 - valueAreaPercentage) / 2)
                                {
                                    valueAreaHigh = v.Price;
                                    break;
                                }
                            }
                        }​
                Just an idea and would work in a pinch until NTgives us access to the Orderflow version.

                Comment


                  #23
                  I was looking at trying to get the value area for each bar. Got tired of waiting on Ninja to implement the feature so I just created it myself. https://github.com/WaleeTheRobot/ord...ase/Volumes.cs

                  Comment


                    #24
                    Sería genial que NinjaTrader pudiera trabajar y desarrollar de manera más flexible todo lo relacionado con el Flujo de Órdenes, y estar más a la vanguardia con estas herramientas, ya que esto es lo que cada vez tiene más demanda en el campo del trading.

                    Comment

                    Latest Posts

                    Collapse

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