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

Bug: OnMarketData volume details wrong

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

    Bug: OnMarketData volume details wrong

    Hi,
    I'm trying to get the volume traded at the last tick. I'm getting wrong volume randomly for down ticks (observation so far). It's a sequence number instead of actual volume. Please let me know if there's a better and accurate way to get volume traded at last tick.

    double last;
    protected override void OnMarketData(MarketDataEventArgs e)
    {
    if (e.Price > last) {
    Print("Up " + e.Volume);
    }
    else if (e.Price < last){
    Print ("Down " + e.Volume);
    }
    last = e.Price;
    }

    Output:

    Down 24
    Down 322030
    Up 2
    Down 322032
    Up 2
    Down 322034
    Up 18
    Up 44
    Down 11
    Up 45
    Down 11
    Up 44
    Down 1
    Down 322035
    Up 11
    Up 45
    Down 16
    Up 44
    Down 17
    Up 43
    Down 24
    Up 41
    Down 26
    Up 39
    Down 27
    Up 36
    Down 35
    Up 35
    Down 38
    Up 1
    Down 322036
    Up 6
    Down 322042
    Up 3
    Down 322045
    Up 1
    Down 322046
    Up 1
    Down 322047
    Up 1
    Down 322048
    Up 1
    Down 322049
    Up 1
    Down 322050
    Up 1
    Down 322051
    Up 2
    Down 322053
    Up 2
    Down 322055
    Up 39
    Down 1
    Up 37
    Down 25
    Up 36
    Down 35


    #2
    Hello vkana,

    Thanks for your post.

    The script is looking at all MarketDataUpdate events. Do you wish to track Last ticks only, or Bid and Asks as well?

    You can check if(e.MarketDataType == MarketDataType.Last) in OnMarketData to only look at Last ticks. I believe this is what you are trying to accomplish.

    You may also print out the full string in OnMarketData to see everything that gets processed in the method to better understand how it works. I have also included documentation links below.

    Print(e.ToString());

    OnMarketData - https://ninjatrader.com/support/help...marketdata.htm

    MarketDataEventArgs - https://ninjatrader.com/support/help...aeventargs.htm

    We look forward to assisting.
    JimNinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by cmtjoancolmenero, Yesterday, 03:58 PM
    2 responses
    19 views
    0 likes
    Last Post cmtjoancolmenero  
    Started by Stanfillirenfro, Today, 07:23 AM
    0 responses
    2 views
    0 likes
    Last Post Stanfillirenfro  
    Started by olisav57, Yesterday, 07:39 PM
    1 response
    9 views
    0 likes
    Last Post NinjaTrader_ChelseaB  
    Started by cocoescala, 10-12-2018, 11:02 PM
    7 responses
    942 views
    0 likes
    Last Post Jquiroz1975  
    Started by oviejo, Today, 12:28 AM
    1 response
    11 views
    0 likes
    Last Post NinjaTrader_Gaby  
    Working...
    X