VIP Only, please do not distribute outside of the Elite Circle.
Mike's version, posted in June of 2009, was downloaded almost 700 times!
It colors the volume bars based on a sophisticated linear regression analysis without using bid ask volume data. It corresponds well with Delta Momentum generated from GomRecorder buy/sell volume.
I applied Richard's optimization method from his article, aboot the right way to call external indicators, at MoveTheMarkets.com. (eh?)
This greatly improves the performance, so much so that in NT7 it can run with CalculateOnBarClose = false. However, DO NOT run it this way. CoBC must be true for it to calculate correctly... for now.
VIP Only, please do not distribute outside of the Elite Circle. It's based on Mike's Version 2.02 from February. This plots the same as Mike's except for two differences.
Quick Start Modification causes value of CMA to rapidly converge to the correct value within a few bars of startup.
The method of calling the EMA's was changed for greater efficiency. This causes initial loading to be much faster, and resource use while indicator runs to be much lower. Thanks to Richard of MoveTheMarkets.com for his excellent article about this subject.
To see the envelope bands, chart must go back at least one day. Bands begin to display on the second day.
As in original version, all band colors are hard coded and are best for a chart with a dark background.
VIP Only, please do not distribute outside of the Elite Circle.
This an optimization of the December 2009 BMTDivergence Indicator. The code has been optimized by predefining the instances of the external indicators that are used.
The indicator works a little different than websouth's implementation, because he was using the displacement chart feature which puts lines behind (historical) price. Within the indicator, I just painted the line using historical data, but it still plots real-time.
At any rate, it is a very interesting indicator. Sometimes it is a thing of beauty, others the visual aesthetics are not appealing but that usually means chop. If the indicator looks like shit then the price action is probably shit, too.
All colors are fully configurable, as is the shading, and opacity. You can also control the historical period rate.
Attached are a few screens plus the indicator. It's the top panel stuff.
A real time only version of this indicator was posted on the Ninjatrader forums by Dave S. in February. Naturally I couldn't resist the temptation to make it work with the GomRecorder.
The bars are colored blue for positive deltas and red for negative deltas. The saturation is proportional to the ratio of delta to total volume. Lighter color bars have lower deltas, and white bars have deltas near zero.
The trades that are counted can be filtered by the Minimum and Maximum Trade Size settings.
It seems to work well on Renko charts, where you can see the balance of power shift at congested areas that become reversals.
The upper plot is the total number of shares or contracts offered for sale in the Level 2 order book. The lower plot is the total number of shares or contracts bid to buy in the Level 2 Order Book. The yellow plot is the bids minus the offers.
Maxrows is the user setting that controls how many rows of the order book are counted. In panel 2 we have the totals for all ten of the bid and all ten of the ask rows. In panel 3, with Maxrows set at 5, we see the totals for the 5 inside rows of bid and ask.
This will work in realtime or market replay mode. Changing any chart settings deletes existing plots, and there is no backfill. This limitation is because of the way Ninjatrader stores data. I started working on a DOMRecorder indicator to correct this. May take a while.
Thanks ZTrade for the idea of this indicator, and for the original implementation which worked fine in NT6.5 but had problems because of undocumented changes in NT7.
Instances of all external MA's that are used by this indicator are pre-instantiated and the instances are defined before use.
Calls to the external MIN and MAX indicators have been replaced by calls to new internal private functions that give the minimum and maximum values.
The calls to those functions can only be made on the first tick of each new bar, and then ONLY when the maximum or minimum value of the applicable series is known to have changed. This eliminates a great deal of unnecessary loop processing.
Special thanks to Richard of MoveTheMarkets.com for the optimization strategies, at least SOME of which should be used whenever an external indicator is called from a Ninjacript INDICATOR or STRATEGY... it's a Paradigm Shifter.
This version should work on NT6.5 or NT7, but I have not tested it on NT6.5.
Trading Suite Developed by Zondor and ZTrade101. Makes extensive use of the GomRecorder so once again, merci beaucoup, Gomi !!
(Note: When a trade occurs at or above the ask it's a "buy", and when at or below the bid, it's a "sell".) Package contents:
BetterBuySellVolume: Based on Barry Taylor's Better Volume concept, but instead of using upticks and downticks, it gets buy and sell volumes from the GomRecorder. Use with calculate on bar close = false and watch it evaluate each bar in real time, often changing its mind right up until the bar completes. Equivolume mode must be used for charts with Constant Volume intervals. May load very slowly on charts with more than a few hundred bars back. X=climax (local maximum of product of buy volume or sell volume times range), u=Up, D=Down, C=Churn, Lo=Low Volume. Set markers = True to mark the bars with these legends right on the Price Panel. There are various different ways of detecting the criteria. I hope you will look at the code and let me know what you think!
This one has a lot of potential for improvement. The criteria detection algorithms could be refined. Additional conditions, such as volume patterns and stopping volume, could be tested for. The method of storing condition status in a string is clunky and can be streamlined. Please share your ideas so that we can make this MORE Better.
TickMoneyFlowOscillator Using GomRecorder data, calculates the product of buy volume and price, or sell volume and price, adding or subtracting the product from a cumulative total. Then an MA of the total is subtracted from the total to make it oscillate. The color is based on whether the cumulative total, not the oscillator, is rising or falling. I like to overlay this on the price panel, with the price scale on the right and the TMFO scale on the left. Sometimes this gives nice clues about which way things will go out of a sideways congestion zone.
TradeSizeDistribution Using GomRecorder data, looks at each incoming trade and sorts its volume into one of several "buckets" based on whether the trade is a buy (plots above zero) or a sell (plots below zero). Then the trades on each side of zero are grouped and summed within 4 size ranges (small, medium, large, extra large) and grouped together. The breakpoints for the size groups are the lower volume limit... etc user settings which you must set based on the way your instrument trades. A medium size trade in the ES would be an extra large trade in the YM, etc.. You have the option of either displaying the VOLUME of trades within each size range, or the NUMBER OF TRADES within each size range!
DomBandHybrid is a persistent version of ZTrade's Dom bands indicator that achieves data persistence with a data recorder. The new ZondorRecorder (based on the GomRecorder, of course!) is customized to record LEVEL 2 data. When run in real time, the Level 2 data come directly from the OnMarketDepth Method. This avoids the errors that the GomRecorder is subject to under certain conditions (because of Ninja Trader's coarse time stamping). If the chart is changed or refreshed, the previous bars in a real time only indicator would disappear. But in this version, they are reloaded from the ZondorRecorder; then from that point forward until the next refresh, all data will come directly from the OnMarketDepth Method. This indicator generates run time errors, but they are handled, and appear in the Output Window as Trapped Exceptions. Therefore they do not crash the program. Would certainly appreciate if anyone can help me diagnose the cause of the errors.
JMA7MC is a version of the JMA moving average with true multi color plotting of a single plot using the PlotColors Method. That method does not exist in NT6.5.
The BMT CollectiveMA and Envelope Expansion were modified to force the Collective MA to rapidly converge upon the price series. However when setting these up, you need to go back at least one previous day, or they will not plot anything.
See discussion about recording in Binary vs Flat for GOM & Zondor Recorders.
Instructions for the ZondorRecorder: This is a customized version of the GomRecorder for LEVEL 2 data. The recording and playback work almost the same. The ZondorRecorder stores data in files prefixed with DOMBANDS, so a typical file name would be DOMBANDSCL-05-10_binary.dat. The DOMBANDS prefix ensures that these files will not have the same names as files made by the GomRecorder. By default the files will be placed in the My Documents folder. If you want to store them somewhere else, create a Windows Environment Variable with the Name ZONDORFOLDER and the Value being the valid path to your designated storage folder. ( Refer to Lines 207 and 236 of the .cs file.)
An optimized, ultra fast loading version using optimization techniques from the article on MoveTheMarkets, as referenced in the Optimize C# thread of the Forums.
Version 1.4 uploaded on May 30 should work with NT6.5 as well as NT7. Tested out OK here, please send me a PM if any problems.
Adapted from Blau's Momentum/Direction/Divergence by zoltran (Wes S.) and optimized by Zondor (ZondorŪ)
Here are the "rules" for using this.. take them with a grain of salt! Never rely wholly on indicators, nor on a single time frame!
Enter or hold position only when slope of ECO2New3 Signal line has the same direction as the trend
Stand aside when slope of ECO2New3 Signal Line is in the opposite direction of trend
Enter or exit position when ECO2New3 and its Signal Line cross
The magenta dot shows when the ECO2New3 is 'inside' its signal line, indicating failing momentum.
September 22nd, 2011 11:42 AM Tiberius I found this indie did not plot correcting (math,code) in fast markets. Seems like a great indie, but my faith has dimin
June 12th, 2016 11:31 AM dilbert618 Thank you Zondor
September 26th, 2015 08:07 AM PharmDoc Great work
February 12th, 2013 07:03 PM OpalDragon Epically awesome sir... Thank you very very much! Would love the option for the little diamonds to appear right on to
p of the bars on the chart...
with out any left scale - just diamonds on the chart
all I would need is to know that there is divergence it is so just diamonds appearing on top of the bar would be gr
eat -- but it is freakin awesome!
November 20th, 2010 03:42 AM MasterSeer Thanks So Much for your great contribution to my profitable trading!
September 24th, 2011 09:12 AM visionone Nice work. Has anyone built a strategy around this indicator? I am new to NT and interested in trying to backtest a stra
tegy using this indicator. Appreciate any suggestions or pointers.
September 7th, 2011 05:46 AM dbnaegele Nice work--thanks!
March 7th, 2011 02:47 PM kevinhenjum Really useful indicator.
November 21st, 2010 04:29 PM Trafford Nice indicator - used in conjunction with say Delta Momentum indicator this works very well, price, and net Buy and Sell
October 18th, 2018 11:53 AM marcelo203 Thanks very good indicator.
December 29th, 2014 11:48 AM jlmurcia Thanks for this visual indicator, particularly helpful to spot price reversals in support/resistance areas.
August 25th, 2014 11:48 AM OpalDragon pretty awesome Zondor -- but I think we can make it better if we combine this with other studies or systems!
Great Work Zondor. <<< Wanted to edit my original comment because it could be misconstrued >>> These bars/modifications
are freakin awesome..
April 18th, 2012 01:44 PM sigmatrader Does the Trade Size filter work on this code? I've tried changing the Maximum Trade Size and Minimum Trade Size and see
no difference in the color bars. I understand that the code is based on the delta_ratio of (buyvolume-sellvolume)/(buy
volume+sellvolume). I've formatted the dataseries with black up bars and black downbars and then applied theBuy/Sell co
lor Bars indicator with the defaults of max size 1000 and min size 1. Then I tried increasing min size from 1 up to 100
0 and did not see any changes in the color bar shading. I also tried leaving the min size at 1 and decreasing the max s
ize from 1000 down to 1 and again no change in the color bar shading. Any ideas?