How to use volume in your trading - Traders Hideout | futures io social day trading
futures io futures trading


How to use volume in your trading
Updated: Views / Replies:171,293 / 677
Created: by cunparis Attachments:203

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors – all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you don’t need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Reply
 203  
 
Thread Tools Search this Thread
 

How to use volume in your trading

  #381 (permalink)
Elite Member
Portland Oregon, United States
 
Futures Experience: Beginner
Platform: Ninjatrader®
Broker/Data: CQG, Kinetick
Favorite Futures: Gameplay Klownbine® Trading of Globex
 
Zondor's Avatar
 
Posts: 1,327 since Jul 2009
Thanks: 1,246 given, 2,635 received


cunparis View Post
I read that too. But I already have Ninja & Tradestation and I hesitate to add Investor RT & IQFeed......
Ninja really needs to improve on this. I heard for NT 7.0 the bid ask isn't usable, I don't remember the details but it's disappointing. This is actually one of the only reasons I keep tradestation..

There is a thread on the Ninjatrader forums about problems people are having with the DTNIQ datafeed: connection lost, Ninjatrader freezing, etc. So going to DTNIQ is not the greatest idea right now.

I am not sure what you mean about bid/ask data in Ninjatrader 7. All of the GOMCD indicators work fine.

Indicators that use Level 2 data from OnMarketDepth() store the data in lists. In NT6.5 you can insert rows into a list without having previously explicitly created those rows. In NT7, if you try to insert a row into a position number higher than the row.Count (the number of rows in the list), or if you try to read data from such a row, you will get a runtime error.

Adding a simple one shot routine to create the required number of rows solves the problem. I posted a code sample: https://futures.io/traders-hideout/634-how-use-volume-your-trading-post23086.html#post23086

Reply With Quote
 
  #382 (permalink)
Trade with the flow
Paris, France
 
Futures Experience: Advanced
Platform: Market Delta & Ninjatrader
Favorite Futures: ES
 
cunparis's Avatar
 
Posts: 2,563 since Jun 2009
Thanks: 1,157 given, 2,030 received


Zondor View Post
There is a thread on the Ninjatrader forums about problems people are having with the DTNIQ datafeed: connection lost, Ninjatrader freezing, etc. So going to DTNIQ is not the greatest idea right now.

I am not sure what you mean about bid/ask data in Ninjatrader 7. All of the GOMCD indicators work fine.

Indicators that use Level 2 data from OnMarketDepth() store the data in lists. In NT6.5 you can insert rows into a list without having previously explicitly created those rows. In NT7, if you try to insert a row into a position number higher than the row.Count (the number of rows in the list), or if you try to read data from such a row, you will get a runtime error.

Adding a simple one shot routine to create the required number of rows solves the problem. I posted a code sample: https://futures.io/traders-hideout/634-how-use-volume-your-trading-post23086.html#post23086

From what I see in Fulcrum Trader's youtube videos, he is using Investor RT for charting and Ninja for trade exectuions & the DOM. This is exactly what I do with Tradestation. Tradestation sucks for executions, I've ran some automated trading on both and I get 2-3 ticks slippage on tradestation and on Ninja I get zero. This is trading CL during liquid hours using stop market orders. So I have no confidence in tradestation. I love the ininja dom and will only execute trades with ninja. So if investor RT crashes or anything else, you can just restart it and backfill the historical CD data that was missing. With GOM CD, I do not believe this is possible.

With NT 7, I'm not sure you can use historical bid/ask data and backfill it. If this is not correct I'd love to know because that would remove any advantage of investor RT. I will ask in the GOM thread.

Reply With Quote
 
  #383 (permalink)
Elite Member
Portland Oregon, United States
 
Futures Experience: Beginner
Platform: Ninjatrader®
Broker/Data: CQG, Kinetick
Favorite Futures: Gameplay Klownbine® Trading of Globex
 
Zondor's Avatar
 
Posts: 1,327 since Jul 2009
Thanks: 1,246 given, 2,635 received



cunparis View Post
With NT 7, I'm not sure you can use historical bid/ask data and backfill it. If this is not correct I'd love to know because that would remove any advantage of investor RT. I will ask in the GOM thread.

You cannot recover historical bid ask data from a data provider but you can record it locally. Then you will have it available for future use.

To record bid ask data you need to have the GomRecorderIndicator running, with the Write Data parameter set to true. You also need to have previously set up a folder called GomFolder in which the data will be stored, and a Windows Environment Variable (an OS setting) containing the path to the GomFolder.

You need to have a separate GomRecorder running for each instrument for which you wish to record bid ask data.

The GomRecorder Indicator writes the bid ask data to a file in the GomFolder, and the other Gom indicators, which are subclasses of GomRecorder, use it to recover the data from the GomFolder. (Since the other indicators are subclasses of the GomRecorder they also allow you to record the data by setting their Write Data parameter to True, without having to run a separate instance of GomRecorder.)

So, for those time periods when you are connected to a data feed and meet the other conditions above, you will have historical bid ask data. There is a thread explaining this on the Ninjatrader forums, search for GOMCD. I think the thread is called Buy/Sell volume.

It's a little awkward but once it is set up, it works very well.

Reply With Quote
 
  #384 (permalink)
Trade with the flow
Paris, France
 
Futures Experience: Advanced
Platform: Market Delta & Ninjatrader
Favorite Futures: ES
 
cunparis's Avatar
 
Posts: 2,563 since Jun 2009
Thanks: 1,157 given, 2,030 received


Zondor View Post
It's a little awkward but once it is set up, it works very well.

Mine keeps having problems recording, I'll reread the directions and try again. frustrating as heck when it doesn't record properly and for $x per month i prefer to avoid the hassle!

Reply With Quote
 
  #385 (permalink)
Elite Member
Portland Oregon, United States
 
Futures Experience: Beginner
Platform: Ninjatrader®
Broker/Data: CQG, Kinetick
Favorite Futures: Gameplay Klownbine® Trading of Globex
 
Zondor's Avatar
 
Posts: 1,327 since Jul 2009
Thanks: 1,246 given, 2,635 received

Mistake in code for OnMarketDepth() for Ninatrader 7

A few days ago I posted an OnMarketDepth() module modified to work with Ninatrader 7. Please note the correction below. There was one line where I was mistakenly casting e.price as an integer. That causes a lot of problems for instruments whose prices have digits after the decimal points so please don't do it, Putting that in there was a mistake. Sorry for any inconvenience.

Took me a while to notice it because I was doing all my testing on an instrument that actually does have integer pricing.



Zondor View Post
T


//=============================================================================================
//These Lists need to have been declared as variables in the variables region:
//private List<LadderRow> askRows = new List<LadderRow>();
//private List<LadderRow> bidRows = new List<LadderRow>();


protected override void OnMarketDepth(MarketDepthEventArgs e)
{
// try, catch will handle any runtime errors, preventing the program from crashing
try{ // this { is the start of the area that is being monitored for errors
// there may be runtime errors when this starts up in NT7
{

List<LadderRow> rows = null;

// Checks to see if the Market Data is of the Ask type
if (e.MarketDataType == MarketDataType.Ask)
rows = askRows;

// Checks to see if the Market Data is of the Bid type
else if (e.MarketDataType == MarketDataType.Bid)
rows = bidRows;

if (rows == null)
return;

#if NT7 // This switch will prevent the bracketed code from being compiled in NT6.5.
// In NT7, MUST explcitly create list rows before inserting into them, to prevent runtime error
{ // Could also have used the Add method but this is more fun.
if(rows.Count<5) //Create as many rows as you will need for your Level II data. I don't think you can get more than 20 rows of Level 2 data, so 22 rows should be enough.
{ int idx =0;
for (idx = 0; idx < 22/2; idx++)
{ //insert placeholder objects of type LadderRowrows into the list
askRows.Insert(idx, new LadderRow((int)0,(int) 0, ""));
bidRows.Insert(idx, new LadderRow((int)0,(int) 0, ""));
}
}
}
#endif
// In NT7, insertion will fail if there is not already an empty row to insert into


// Checks to see if the action taken by the Ask data was an insertion into the ladder
if (e.Operation == Operation.Insert)
{
//there was a mistake in the next line. The casting of e.price as an integer
//is a mistake that will cause a lot of problems

// was: rows.Insert(e.Position, new LadderRow((int)e.Price,(int) e.Volume, e.MarketMaker));
// should be
rows.Insert(e.Position, new LadderRow(e.Price,e.Volume, e.MarketMaker));
Print("Rowcount, DOM_Bands7 = "+rows.Count);
}
/* Checks to see if the action taken by the Ask data was a removal of itself from the ladder
Note: Due to the multi threaded architecture of the NT core, race conditions could occur
-> check if e.Position is within valid range */
else if (e.Operation == Operation.Remove && e.Position < rows.Count)
rows.RemoveAt(e.Position);

/* Checks to see if the action taken by the Ask data was to update of data already on the ladder
Note: Due to the multi threaded architecture of the NT core, race conditions could occur
-> check if e.Position is within valid range */
else if (e.Operation == Operation.Update && e.Position < rows.Count)
{
rows[e.Position].MarketMaker = e.MarketMaker;
rows[e.Position].Price = e.Price;
rows[e.Position].Volume =(int) e.Volume;
}

// Calling ChartControl.Refresh() will cause the Level II data to update real-time. Adding
// this delay routine will prevent CPU utilization from going through the roof. Setting a
// really high value will effectly delay the update until the next tick arrives which could
// be a really long time is the market is really slow. This may or may not matter to some.




}
} //This is the end of the region that is being monitored for runtime errors
catch (Exception ex){
// Following is what we do if there is an error, sure beats crashing the indicator
Print("Trapped exception in DOM_Bands.OnMarketDepth(): " + ex.Message);
return; //prevents the indicator from crashing
}
}
private class LadderRow //for futures there is no Market Maker, but we can still use this to populate the lists
{
public string MarketMaker; // relevant for stocks only
public double Price;
public int Volume;

public LadderRow(double myPrice, int myVolume, string myMarketMaker)
{
MarketMaker = myMarketMaker;
Price = myPrice;
Volume = myVolume;
}
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==


Reply With Quote
 
  #386 (permalink)
Elite Member
SE-Asia
 
Futures Experience: Intermediate
Platform: NinjaTrader
Broker/Data: Amp
Favorite Futures: ES
 
Posts: 141 since Jun 2009
Thanks: 57 given, 114 received


Zondor View Post
A few days ago I posted an OnMarketDepth() module modified to work with Ninatrader 7. Please note the correction below. There was one line where I was mistakenly casting e.price as an integer. That causes a lot of problems for instruments whose prices have digits after the decimal points so please don't do it, Putting that in there was a mistake. Sorry for any inconvenience.

Took me a while to notice it because I was doing all my testing on an instrument that actually does have integer pricing.

I found a simple example in the NT Forum (Lot less Code) and this was the one I used in 6.5, but for NT7 caused some performance problems.

Attached Files
Register to download File Type: cs DepthReferenceSample.cs (7.5 KB, 29 views)
Reply With Quote
 
  #387 (permalink)
Elite Member
Portland Oregon, United States
 
Futures Experience: Beginner
Platform: Ninjatrader®
Broker/Data: CQG, Kinetick
Favorite Futures: Gameplay Klownbine® Trading of Globex
 
Zondor's Avatar
 
Posts: 1,327 since Jul 2009
Thanks: 1,246 given, 2,635 received

Simpler market depth event handler


Prtester View Post
I found a simple example in the NT Forum (Lot less Code) and this was the one I used in 6.5, but for NT7 caused some performance problems.


Thanks for that post. I will look into it further and see if I can get it to work in NT7. What kind of performance problems: Does it crash completely? Use too many resources? etc.

The main reason there is less code is that this only accumulates the total depth and does not keep track of what is going on at each level.

Reply With Quote
 
  #388 (permalink)
Elite Member
London
 
Futures Experience: None
Platform: MC & Ninja mainly
 
Posts: 130 since Jan 2010
Thanks: 3 given, 47 received

Apparently IQfeed (and possibly others) now provide 24 hours historic bid ask data. This makes a huge difference to approaches that rely on vol@bid/ask to guage order flow. It is simply not robust to rely on 24/7 availability of the PC collecting the data. Hopefully we are coming to an age where this sort of analysis can be done much more painlessly. Of course you need tools that can read this and the ability to build a bar tick by tick even from historic data. I hope NT 7.0 doesn't drop the ball on this.

Reply With Quote
 
  #389 (permalink)
Trade with the flow
Paris, France
 
Futures Experience: Advanced
Platform: Market Delta & Ninjatrader
Favorite Futures: ES
 
cunparis's Avatar
 
Posts: 2,563 since Jun 2009
Thanks: 1,157 given, 2,030 received


NickA View Post
Apparently IQfeed (and possibly others) now provide 24 hours historic bid ask data. This makes a huge difference to approaches that rely on vol@bid/ask to guage order flow. It is simply not robust to rely on 24/7 availability of the PC collecting the data. Hopefully we are coming to an age where this sort of analysis can be done much more painlessly. Of course you need tools that can read this and the ability to build a bar tick by tick even from historic data. I hope NT 7.0 doesn't drop the ball on this.

NT7 did drop the ball. Completely. NT7 doesn't store the bid/ask with the data. You can get bid/ask but it's not synchronized with the data.

i'm currently using investor RT for my volume work. If you look at its data format you'll see bid & ask on each line of data. NT doesn't do this and the bid/ask information is lost.

Reply With Quote
 
  #390 (permalink)
Site Administrator
Manta, Ecuador
 
Futures Experience: Advanced
Platform: My own custom solution
Favorite Futures: E-mini ES S&P 500
 
Big Mike's Avatar
 
Posts: 46,238 since Jun 2009
Thanks: 29,350 given, 83,219 received



cunparis View Post
NT7 doesn't store the bid/ask with the data. You can get bid/ask but it's not synchronized with the data.

Can you point to where you are getting this info, or provide an example?

Mike

Due to time constraints, please do not PM me if your question can be resolved or answered on the forum.

Need help?
1) Stop changing things. No new indicators, charts, or methods. Be consistent with what is in front of you first.
2) Start a journal and post to it daily with the trades you made to show your strengths and weaknesses.
3) Set goals for yourself to reach daily. Make them about how you trade, not how much money you make.
4) Accept responsibility for your actions. Stop looking elsewhere to explain away poor performance.
5) Where to start as a trader? Watch this webinar and read this thread for hundreds of questions and answers.
6)
Help using the forum? Watch this video to learn general tips on using the site.

If you want
to support our community, become an Elite Member.

Reply With Quote

Reply



futures io > > > How to use volume in your trading

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)

Linda Bradford Raschke: Reading The Tape

Elite only

Adam Grimes: TBA

Elite only

NinjaTrader: TBA

January

Ran Aroussi: TBA

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Cumulative Delta Volume Trading Big Mike The Elite Circle 980 December 10th, 2017 07:17 AM
volume trading indicator tony2604 Traders Hideout 10 March 17th, 2011 03:34 PM
Volume trading - fictive scenario trendisyourfriend The Elite Circle 6 December 16th, 2010 05:16 PM
Price & Volume Trading Journal ZTR Trading Journals 117 February 21st, 2010 04:02 AM
Multi Volume/Time Frame Trading wh The Elite Circle 7 September 15th, 2009 05:55 PM


All times are GMT -4. The time now is 12:18 PM.

Copyright © 2017 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts
Page generated 2017-12-12 in 0.17 seconds with 20 queries on phoenix via your IP 54.145.16.43