NexusFi: Find Your Edge


Home Menu

 





Using OnMarketData() on Historical data with a recording engine


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one gomi with 34 posts (87 thanks)
    2. looks_two aviat72 with 10 posts (2 thanks)
    3. looks_3 danjurgens with 9 posts (3 thanks)
    4. looks_4 Michael.H with 8 posts (0 thanks)
      Best Posters
    1. looks_one gomi with 2.6 thanks per post
    2. looks_two Zondor with 1 thanks per post
    3. looks_3 danjurgens with 0.3 thanks per post
    4. looks_4 aviat72 with 0.2 thanks per post
    1. trending_up 50,482 views
    2. thumb_up 104 thanks given
    3. group 28 followers
    1. forum 115 posts
    2. attach_file 23 attachments




 
Search this Thread

Using OnMarketData() on Historical data with a recording engine

  #11 (permalink)
 
cclsys's Avatar
 cclsys 
Sydney, NS
 
Experience: Intermediate
Platform: Ninja
Broker: Zen-Fire
Trading: TF,S,GC
Posts: 605 since Nov 2009
Thanks Given: 248
Thanks Received: 393

Gomi or anyone else. I have tried to apply the Recorder to EdsVolPriceBars but it won't accept the GomOnMarketUpdate so I am stumped. It runs as is (without it inserted) but doesn't record.

The relevant line (I think) is:

"
protected override void OnMarketData(MarketDataEventArgs e)

"

I have tried putting in:
"
protected override void GomOnMarketData(MarketDataEventArgs e)
"
to no avail.

Any suggestions?

Of old the skilled first made themselves invincible to await the enemy's vincibility.
Invincibility lies in oneself. Vincibility lies in the enemy.
Thus the skilled can make themselves invincible.
They cannot cause the enemy's vincibility.
Thus it is said: 'Victory can be known; it cannot be made.'
Attached Files
Elite Membership required to download: EDSVolPriceAsh.zip
Visit my NexusFi Trade Journal Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
Better Renko Gaps
The Elite Circle
The space time continuum and the dynamics of a financial …
Emini and Emicro Index
Futures True Range Report
The Elite Circle
My NT8 Volume Profile Split by Asian/Euro/Open
NinjaTrader
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Get funded firms 2023/2024 - Any recommendations or word …
61 thanks
Funded Trader platforms
39 thanks
NexusFi site changelog and issues/problem reporting
26 thanks
The Program
18 thanks
GFIs1 1 DAX trade per day journal
18 thanks
  #12 (permalink)
 gomi 
Paris
Market Wizard
 
Experience: None
Platform: NinjaTrader
Posts: 1,270 since Oct 2009
Thanks Given: 282
Thanks Received: 4,505

Method signature is different : it's

protected virtual void GomOnMarketData(TickTypeEnum tickType,double price,int volume,bool firstTickOfBar)

ticktypeenum is
{ BelowBid,AtBid,BetweenBidAsk,AtAsk,AboveAsk,Unknown}

Started this thread Reply With Quote
  #13 (permalink)
 
cclsys's Avatar
 cclsys 
Sydney, NS
 
Experience: Intermediate
Platform: Ninja
Broker: Zen-Fire
Trading: TF,S,GC
Posts: 605 since Nov 2009
Thanks Given: 248
Thanks Received: 393


Thanks.

(wow. what a fast response!)

But what do I do with TickTypeEnum. Where does it go?

Of old the skilled first made themselves invincible to await the enemy's vincibility.
Invincibility lies in oneself. Vincibility lies in the enemy.
Thus the skilled can make themselves invincible.
They cannot cause the enemy's vincibility.
Thus it is said: 'Victory can be known; it cannot be made.'
Visit my NexusFi Trade Journal Reply With Quote
  #14 (permalink)
 gomi 
Paris
Market Wizard
 
Experience: None
Platform: NinjaTrader
Posts: 1,270 since Oct 2009
Thanks Given: 282
Thanks Received: 4,505

you have to do your bid/ask stuff with it.

example :

 
Code
int delta=0;
            
if ((tickType==TickTypeEnum.BelowBid)||(tickType==TickTypeEnum.AtBid))
     delta =-volume;
else if ((tickType==TickTypeEnum.AboveAsk)||(tickType==TickTypeEnum.AtAsk))
      delta=volume;

Started this thread Reply With Quote
  #15 (permalink)
 
cclsys's Avatar
 cclsys 
Sydney, NS
 
Experience: Intermediate
Platform: Ninja
Broker: Zen-Fire
Trading: TF,S,GC
Posts: 605 since Nov 2009
Thanks Given: 248
Thanks Received: 393

Thanks, Gomi. I'll see if I can work that sort of thing into the existing code, but I think it's going to be beyond my paygrade since his code is for a different enum altogether and I doubt I'll be able to transliterate it all.

Have had a real hard time with the recording engine in general with your indies. Sometimes it seems to work and others it doesn't but I haven't been sharp enough to notice what the difference in my settings is between one and t'other. I hate losing the plots if/when I make a change to a chart.

Of old the skilled first made themselves invincible to await the enemy's vincibility.
Invincibility lies in oneself. Vincibility lies in the enemy.
Thus the skilled can make themselves invincible.
They cannot cause the enemy's vincibility.
Thus it is said: 'Victory can be known; it cannot be made.'
Visit my NexusFi Trade Journal Reply With Quote
  #16 (permalink)
ptd26
Portland, Oregon
 
Posts: 27 since Jan 2010
Thanks Given: 3
Thanks Received: 2

Is there an indicator that can be run on historical data which simply dumps every tick into a text file? Basically looking for a way to extract the market data outside of Ninja's proprietary logging format. If so, what's the granularity/resolution of the timestamps on the ticks? Are the ticks raw of aggregated?

Reply With Quote
  #17 (permalink)
 gomi 
Paris
Market Wizard
 
Experience: None
Platform: NinjaTrader
Posts: 1,270 since Oct 2009
Thanks Given: 282
Thanks Received: 4,505

You must be sure you have "Recording OK".
And remember Gompackage1.1 is very more robust to "changes to the chart"



cclsys View Post
Thanks, Gomi. I'll see if I can work that sort of thing into the existing code, but I think it's going to be beyond my paygrade since his code is for a different enum altogether and I doubt I'll be able to transliterate it all.

Have had a real hard time with the recording engine in general with your indies. Sometimes it seems to work and others it doesn't but I haven't been sharp enough to notice what the difference in my settings is between one and t'other. I hate losing the plots if/when I make a change to a chart.


Started this thread Reply With Quote
  #18 (permalink)
 
cclsys's Avatar
 cclsys 
Sydney, NS
 
Experience: Intermediate
Platform: Ninja
Broker: Zen-Fire
Trading: TF,S,GC
Posts: 605 since Nov 2009
Thanks Given: 248
Thanks Received: 393

Gomi, thanks for reply. Just want to make something clear: your work on those indies was exceptional. The fact that I can't play with certain aspects might be personally frustrating, but I do not expect you to be able to provide customer service for them! That said, if anyone else wants to get EDS pricevolume bars 'Gomified' (i.e. recordable), feel free! Definitely beyond my pay grade programming-wise.

As to the recording, Gomi, I have package 1.1 but it seems to elude me the recording business. It's no big deal. Because I am running 32 bit OS it seems that using these indies for more than a few (2-3) hours is not advisable anyway because of memory/processing problems so I have reluctantly phased out of loading them and am back to more simple CalconClose indies which are less stress on the system (but which also seem to start overtaxing NT after 4-6 hours). One day when I grow up and have 24 GIG ram.....

Of old the skilled first made themselves invincible to await the enemy's vincibility.
Invincibility lies in oneself. Vincibility lies in the enemy.
Thus the skilled can make themselves invincible.
They cannot cause the enemy's vincibility.
Thus it is said: 'Victory can be known; it cannot be made.'
Visit my NexusFi Trade Journal Reply With Quote
  #19 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,396 since Jun 2009
Thanks Given: 33,172
Thanks Received: 101,536

I'm just now having some time to start working with this.

I have a question.

We can use this for backtesting yes? So for instance, if I normally want to do a MarketIfTouch scenario and had to use OnMarketData(), I can now use your method, and provided the recorded data is present on my system, I can recreate the proper events even during a backtest, yes?

If so, I need to setup another VM and start recording a bunch of instruments using GomRecorder... so that in a year I can use this

Mike

We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on Twitter Visit my NexusFi Trade Journal Reply With Quote
  #20 (permalink)
 subterfuge 
uk
 
Experience: Intermediate
Platform: ninja
Broker: amp
Trading: ES
Posts: 179 since Aug 2009


Hi Gom. I've seen a few screenshots of people using 'gomvolumeladder'. I cant seem to find it though. Is it in the ninjatrader thread you linked to in your OP somewhere? thanks

Reply With Quote




Last Updated on March 6, 2011


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts