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

Session Volume in Ninjascript

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

  • NinjaTrader_PaulH
    replied
    Hello madankumars,

    Thanks for your reply.

    Your code appears correct and I see about the same values. I would have expected the values to be closer to the daily volume value shown so we will look closer at this.

    To answer your original question, you can access the same DailyVolume value through OnMarketData(). Here is an example:

    protected override void OnMarketData(MarketDataEventArgs marketDataUpdate)
    {
    if (marketDataUpdate.MarketDataType == Data.MarketDataType.DailyVolume)
    Print ("Daily Volume: "+marketDataUpdate.Volume);
    }

    reference: http://ninjatrader.com/support/helpG...aeventargs.htm

    Leave a comment:


  • madankumars
    replied
    I tried what you said but the numbers are not adding up.

    see below for sample code. I compared the output with the NQ Level 2 Window. the number is off by almost 30,000 during the middle of the session. why? the L2 window shows more than what I can get out of the code, starting from IsFirstBarOfSession.



    public class SessionVolume : Indicator
    {
    //class member variable
    private double _volume = 0;

    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    {
    Calculate = Calculate.OnBarClose;
    }
    }

    protected override void OnBarUpdate()
    {
    if (Bars.IsFirstBarOfSession)
    {
    _volume = 0;
    }

    _volume += Volume[0];

    Print(_volume);
    }
    }

    Leave a comment:


  • NinjaTrader_PaulH
    replied
    Hello madankumars,

    Thanks for your post and welcome to the NinjaTrader forums.

    You can use the Volume per bar and accumulate the volume over whatever period you prefer. If you want to accumulate over an instruments session (trading hours) you can use the property Bars.IsFirstBarOfSession to reset a variable you create as the accumulator and from then on can add each bars Volume[0] to the variable.

    References:

    Leave a comment:


  • madankumars
    started a topic Session Volume in Ninjascript

    Session Volume in Ninjascript

    How do I get/compute the session volume in ninjascript?

    Please see attached for what I am referring to.

    When I open the L2 window in a given session, the number does not start from 0. Where does Ninjatrader get this number and how do I access this from code.

    Thanks
    Attached Files

Latest Posts

Collapse

Topics Statistics Last Post
Started by r68cervera, Today, 05:29 AM
0 responses
2 views
0 likes
Last Post r68cervera  
Started by geddyisodin, Today, 05:20 AM
0 responses
3 views
0 likes
Last Post geddyisodin  
Started by JonesJoker, 04-22-2024, 12:23 PM
6 responses
33 views
0 likes
Last Post JonesJoker  
Started by GussJ, 03-04-2020, 03:11 PM
12 responses
3,239 views
0 likes
Last Post Leafcutter  
Started by AveryFlynn, Today, 04:57 AM
0 responses
6 views
0 likes
Last Post AveryFlynn  
Working...
X