NexusFi: Find Your Edge


Home Menu

 





FootPrintV2 Chart for NT8


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one mk77ch with 71 posts (323 thanks)
    2. looks_two trymph with 32 posts (29 thanks)
    3. looks_3 zt379 with 22 posts (16 thanks)
    4. looks_4 brettji with 20 posts (17 thanks)
      Best Posters
    1. looks_one mk77ch with 4.5 thanks per post
    2. looks_two trymph with 0.9 thanks per post
    3. looks_3 brettji with 0.9 thanks per post
    4. looks_4 zt379 with 0.7 thanks per post
    1. trending_up 610,382 views
    2. thumb_up 499 thanks given
    3. group 176 followers
    1. forum 352 posts
    2. attach_file 140 attachments




 
Search this Thread
  #261 (permalink)
 akso73 
toronto
 
Experience: Beginner
Platform: NinjaTrader
Broker: Amp Futures/Zen-Fire)
Trading: ES
Posts: 18 since Apr 2010
Thanks Given: 6
Thanks Received: 4


mk77ch View Post
I've contacted them and it looks like they paid a "verified NinjaTrader vendor" to code the indicators for them. They've got all the documents/receipts showing they have paid somebody for this.
The "problem" is not GorillaFutures but some shady programmer/vendor.

All the best,
Mike

Mike,

This is the best indicator! I felt the exact same re Gorilla Futures, but since you clarified it, I get it!

I have been using your indicator very successfully - thank you and have been an Elite member for 15+ years!!!

With volatility of the past week, this was NT's response when I inquired about the delta between my DOM and the charts, specifically calling out Footprint V2...

"High volatility days, with the pricing changing fast, generate a lot more data for that indicator (and the platform) to process. In this scenario, the indicator cannot process the unusual amount of data causing the chart to delay or freeze. That is why the SuperDOM window is not delayed, as you are not running that indicator there."


Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Rubios Good News Within Hours and the 30-Day Math: Why H …
Prediction Markets & Event Contracts
US Prop Firms Race Inside the CFTC Perimeter -- Tradeify …
Funded Trading Evaluation Firms
Trump Media to sell instant access to market-moving soci …
Traders Hideout
Iran Fired a Missile at Israel Last Night. The $8M June …
Prediction Markets & Event Contracts
I Have a Thing Called Iran -- Trump Stays in DC as Airsp …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
NexusFi site changelog and issues/problem reporting
1 thanks
Darmok and Jalad at Tanagra
1 thanks
  #262 (permalink)
 morpheus0 
los angeles
 
Experience: Master
Platform: NinjaTrader
Broker: Rithmic
Trading: Futures
Frequency: Daily
Posts: 9 since Jun 2023
Thanks Given: 5
Thanks Received: 3


mk77ch View Post
I've contacted them and it looks like they paid a "verified NinjaTrader vendor" to code the indicators for them. They've got all the documents/receipts showing they have paid somebody for this.
The "problem" is not GorillaFutures but some shady programmer/vendor.

All the best,
Mike

Hey Mike -- How about some tick aggregation? What do you think that would take? For charts like NQ I think this will make it better and easier to read. For footprint Number mode.


Follow me on X Reply With Quote
  #263 (permalink)
 morpheus0 
los angeles
 
Experience: Master
Platform: NinjaTrader
Broker: Rithmic
Trading: Futures
Frequency: Daily
Posts: 9 since Jun 2023
Thanks Given: 5
Thanks Received: 3



morpheus0 View Post
Hey Mike -- How about some tick aggregation? What do you think that would take? For charts like NQ I think this will make it better and easier to read. For footprint Number mode.


HTML Code:
public ConcurrentDictionary<double, RowItem> aggregateByTicks( NinjaScriptBase ninja, int size ) {
				ConcurrentDictionary<double, RowItem> aggregatedRowItems = new ConcurrentDictionary<double, RowItem>();
		
				double rowCount = this.rowItems.Count / size;
				
				RowItem currentItem = null;
				
				List< KeyValuePair<double, RowItem> > currentBatch = new List< KeyValuePair<double, RowItem> >();
		 
				var sorted = this.rowItems.OrderByDescending( x => x.Key );
				 
				var i=0;
				var count = sorted.Count();
				var itemsProcessed = 0;
				
				foreach(KeyValuePair<double, RowItem> ri in sorted)
				{  
					++i;
					currentBatch.Add( ri );
					
					if( currentBatch.Count == size || i == count ) {
						 
						double closeAvg = ninja.Instrument.MasterInstrument.RoundToTickSize( currentBatch.Average( x=> x.Key ) );
						double ask = currentBatch.Sum( x=> x.Value.ask ) ;
						double bid = currentBatch.Sum( x=> x.Value.bid ) ;
						double vol = currentBatch.Sum( x=> x.Value.vol );
						
						currentBatch.OrderBy(x => x.Key);  
						itemsProcessed += currentBatch.Count;
						
						currentBatch.Clear();
						
						aggregatedRowItems.GetOrAdd( closeAvg, new RowItem(vol, ask, bid ) ); 
					}  
				}
				 
				
				return aggregatedRowItems;
			}
Here's some code to aggregate ticks - useful for NQ/YM -- a setting of 4 ticks per close should perform decently. Makes it so the text size doesnt get so small on these instruments.


Follow me on X Reply With Quote
Thanked by:
  #264 (permalink)
 
casey44's Avatar
 casey44 
Louisville KY
 
Experience: Beginner
Platform: NT8
Trading: micros
Frequency: Daily
Duration: Minutes
Posts: 275 since Jan 2010
Thanks Given: 4,142
Thanks Received: 328


morpheus0 View Post
HTML Code:
public ConcurrentDictionary<double, RowItem> aggregateByTicks( NinjaScriptBase ninja, int size ) {
				ConcurrentDictionary<double, RowItem> aggregatedRowItems = new ConcurrentDictionary<double, RowItem>();
		
				double rowCount = this.rowItems.Count / size;
				
				RowItem currentItem = null;
				
				List< KeyValuePair<double, RowItem> > currentBatch = new List< KeyValuePair<double, RowItem> >();
		 
				var sorted = this.rowItems.OrderByDescending( x => x.Key );
				 
				var i=0;
				var count = sorted.Count();
				var itemsProcessed = 0;
				
				foreach(KeyValuePair<double, RowItem> ri in sorted)
				{  
					++i;
					currentBatch.Add( ri );
					
					if( currentBatch.Count == size || i == count ) {
						 
						double closeAvg = ninja.Instrument.MasterInstrument.RoundToTickSize( currentBatch.Average( x=> x.Key ) );
						double ask = currentBatch.Sum( x=> x.Value.ask ) ;
						double bid = currentBatch.Sum( x=> x.Value.bid ) ;
						double vol = currentBatch.Sum( x=> x.Value.vol );
						
						currentBatch.OrderBy(x => x.Key);  
						itemsProcessed += currentBatch.Count;
						
						currentBatch.Clear();
						
						aggregatedRowItems.GetOrAdd( closeAvg, new RowItem(vol, ask, bid ) ); 
					}  
				}
				 
				
				return aggregatedRowItems;
			}
Here's some code to aggregate ticks - useful for NQ/YM -- a setting of 4 ticks per close should perform decently. Makes it so the text size doesnt get so small on these instruments.

Great point, ex here's an MNQ snapshot with 4t and 2t compression, easier to see significant volumes, never mind the 1t dom
4t n 2t


Visit my NexusFi Trade Journal Reply With Quote
  #265 (permalink)
 morpheus0 
los angeles
 
Experience: Master
Platform: NinjaTrader
Broker: Rithmic
Trading: Futures
Frequency: Daily
Posts: 9 since Jun 2023
Thanks Given: 5
Thanks Received: 3


casey44 View Post
Great point, ex here's an MNQ snapshot with 4t and 2t compression, easier to see significant volumes, never mind the 1t dom
4t n 2t

Oh ok - so this is using the code I posted? Or is this something else.

Im using this not on the DOM but the footprint candlesticks.

Example:

HTML Code:
private void drawFootPrint(ChartControl chartControl, ChartScale chartScale)
		....

var agreggatedRowItems = currBarItem.aggregateByTicks(this, 4);
				
foreach(KeyValuePair<double, NinjaTrader.NinjaScript.Indicators.Infinity.BarData.RowItem> ri in agreggatedRowItems)
{

}


Follow me on X Reply With Quote
  #266 (permalink)
 
casey44's Avatar
 casey44 
Louisville KY
 
Experience: Beginner
Platform: NT8
Trading: micros
Frequency: Daily
Duration: Minutes
Posts: 275 since Jan 2010
Thanks Given: 4,142
Thanks Received: 328


morpheus0 View Post
Oh ok - so this is using the code I posted? Or is this something else.

Im using this not on the DOM but the footprint candlesticks.

Example:

HTML Code:
private void drawFootPrint(ChartControl chartControl, ChartScale chartScale)
		....

var agreggatedRowItems = currBarItem.aggregateByTicks(this, 4);
				
foreach(KeyValuePair<double, NinjaTrader.NinjaScript.Indicators.Infinity.BarData.RowItem> ri in agreggatedRowItems)
{

}

Jigsaw dom, just thought a visual ex might underline the value of your request for the footprint


Visit my NexusFi Trade Journal Reply With Quote
  #267 (permalink)
 RobWa 
Seattle, WA
 
Platform: NinjaTrader8
Trading: Futures
Frequency: Daily
Duration: Minutes
Posts: 73 since May 2024
Thanks Given: 15
Thanks Received: 50


morpheus0 View Post
Hey Mike -- How about some tick aggregation? What do you think that would take? For charts like NQ I think this will make it better and easier to read. For footprint Number mode.

I love this indicator, but have found it nearly unusable for this reason. I ended up buying a footprint chart indicator that has tick aggregation in it as well as 1000 other settings I thought I would like but never use. The volume profile on Mike's is awesome, and the tape stream is great. Unfortunately I can't layer the two indicators on the same chart, so end up running a separate 1 min chart with the footprint turned off for it and the one I paid for on a different chart tab.


Reply With Quote
  #268 (permalink)
 Dezroch 
Toronto, Ontario
 
Experience: Beginner
Platform: Tv, bookmap, NT
Trading: Futures
Frequency: Every few days
Duration: Hours
Posts: 6 since Jun 2023
Thanks Given: 2
Thanks Received: 0

Hi Mike thank you so much for this footprint indicator, I've used it for a while now and have had no issues, but recently with regards to historical data I've been getting holes in the footprint as shown in the image. I've already cleared the cache, any ideas what I could do to fix this? Thanks.



Untitled


Reply With Quote
  #269 (permalink)
 morpheus0 
los angeles
 
Experience: Master
Platform: NinjaTrader
Broker: Rithmic
Trading: Futures
Frequency: Daily
Posts: 9 since Jun 2023
Thanks Given: 5
Thanks Received: 3


RobWa View Post
I love this indicator, but have found it nearly unusable for this reason. I ended up buying a footprint chart indicator that has tick aggregation in it as well as 1000 other settings I thought I would like but never use. The volume profile on Mike's is awesome, and the tape stream is great. Unfortunately I can't layer the two indicators on the same chart, so end up running a separate 1 min chart with the footprint turned off for it and the one I paid for on a different chart tab.

Ok - so basically you need to force the textsize to a specific size - he implemented some auto sizing. But if you fix the text height/and aggregate ticks it is usable. The other footprint charts do not autosize the text it appears.


Follow me on X Reply With Quote
  #270 (permalink)
 RobWa 
Seattle, WA
 
Platform: NinjaTrader8
Trading: Futures
Frequency: Daily
Duration: Minutes
Posts: 73 since May 2024
Thanks Given: 15
Thanks Received: 50



morpheus0 View Post
Ok - so basically you need to force the textsize to a specific size - he implemented some auto sizing. But if you fix the text height/and aggregate ticks it is usable. The other footprint charts do not autosize the text it appears.

yes, text size was how it started, but once i figured out I could aggregate ticks on the other I use it allowed me to use the footprint on MNQ 1 Min charts. In the one I'm using, I can set the font and color for just about anything I can see on the chart to what I like. The autoscale is a good thought, just needs to have an option to turn off if one wants. Another feature I use is a Vertical Liquidity and Resting Liquidity feature. Actually, I also really like having the delta data under each candle too. :S


Reply With Quote




Last Updated on June 16, 2026


© 2026 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 - Downloads - Top
no new posts