MACD histogram divergence kit v10 for MetaStock
Last updated: 29/Sept/2006
                              ©Copyright 2002~2006 Jose Silva
                      The grant of this license is for personal use only.
                              No resale or repackaging allowed.
                       All kit code remains the property of Jose Silva.
                                 jose@MetaStockTools.com
              http://www.metastocktools.com/MACDH/MACDHdiverg.htm
                        Client Serial #xxx-xxxx-xxx
Please note:
Portions of this documentation have been edited-out to protect product
information, and are only fully disclosed with the purchase of the full
MACDH Divergence kit.
                             Divergence Basics
There are many methods to measure price/indicator divergence between
price and indicator. The main basic forms of divergence are:
#1 CLASSIC Divergence
A bullish divergence occurs when price makes a lower low, but the
indicator makes a higher low.
A bearish divergence occurs when price makes a higher high and the
indicator makes a lower high.
#2 HIDDEN Divergence
A bullish divergence occurs when price makes a higher low, but the
indicator makes a lower low.
A bearish divergence occurs when price makes a lower high, and the
indicator makes a higher high.
#3 MACD Histogram (MACDH) Divergence - main method used in this kit.
A bullish divergence occurs when price makes a lower high, but the
MACDH makes a higher low.
A bearish divergence occurs when price makes a higher low and the
MACDH makes a lower high.
After much testing and development, divergence method #3 was found to
give the best value signals. All other main divergence methods are
also included with this kit.
The MACDH divergence MetaStock kit reproduces (and improves on)
Dr Elder's excellent MACDH divergence entry signals.
             New: All-In-One 112 Divergence strategies
In addition to the unique MACDH Divergence signals, this kit also
identifies 112 different divergence signals, based on 14 indicators x
8 divergence types.
Indicators available
 1   -   MACD
 2   -   MACD Histogram
 3   -   Stochastic
 4   -   Stochastic Histogram
 5   -   RSI
 6   -   RSI Histogram
 7   -   Price Oscillator
 8   -   EMA
 9   -   DEMA
10   -   Linear Regression
11   -   Linear Regression Slope
12   -   Commodity Channel Index (CCI)
13   -   Momentum
14   -   Momentum Histogram
Terminology used for determining divergence types
 (Edited out - information available with the main kit);
Divergence Types
1 - Standard
     bullish: IndHiTr2 & PrcLoTr2
     bearish: IndLoPk2 & PrcHiPk2
2 - Standard Reverse
     bullish: IndHiPk2 & PrcLoPk2
     bearish: IndLoTr2 & PrcHiTr2
3 - Hidden
     bullish: IndLoTr2 & PrcHiTr2
     bearish: IndHiPk2 & PrcLoPk2
4 - Hidden Reverse
     bullish: IndLoPk2 & PrcHiPk2
     bearish: IndHiTr2 & PrcLoTr2
5 - Triple standard
     bullish: IndHiTr3 & PrcLoTr3
     bearish: IndLoPk3 & PrcHiPk3
6 - Triple standard Reverse
     bullish: IndHiPk3 & PrcLoPk3
     bearish: IndLoTr3 & PrcHiTr3
7 - Triple hidden
     bullish: IndLoTr3 & PrcHiTr3
     bearish: IndHiPk3 & PrcLoPk3
 8 - Triple hidden Reverse
      bullish: IndLoPk3 & PrcHiPk3
      bearish: IndHiTr3 & PrcLoTr3
Note
Since it was probably the excellent chart signals at
http://www.metastocktools.com/MACDH/MACDHdiverg.htm that brought your
attention to this kit in the first place, there is probably very
little need for me to emphasize the importance of using visual
confirmation of system signals in order to develop a successful
trading strategy.
Please note that these are basic *Entry* Long/Short divergence
signals only. No exits are included, thus this kit is not a full
trading system. Furthermore, these signals being of a contrarian
nature, it would be prudent to expect a large proportion of failed
signals.
A SmartStop volatility-based trailing stop is only included as a
"safety net" or capital-protection mechanism.
It is up to the individual user to develop his/her own system exits
that respond to specific market conditions suitable to his/her
trading strategy and style.
The SmartStop trailing stop should only be triggered on 10~20% of
occasions when your own exits have failed to warn about existing
conditions. If the SmartStop is triggered more frequently, then this
is probably due to inadequate/unsuitable exits.
                               Kit contents
The MetaStock MACDH divergence kit consists of the formulae shown
below.
19 EOD indicators
Divergence - MACDH Major            - Major Divergence signals indicator.
Divergence - MACDH Minor            - Minor Divergence signals indicator.
Divergence - MACDH SmartStop        - Long/Short volatility-based trailing
                                       stop.
Divergence - MACDH Position Sizing - Variable position sizing indicator.
                                     Displays suggested position size to
                                      normalize trade risk to specified
                                      % limit.
Divergence - MACDH Master Control   - Allows global changes to SmartStop
                                       and Expert from within one source.
                                      Display Master Control below price
                                       chart at all times, and refresh
                                       new charts & after any changes.
Divergence - MACDH Flags                - Long/Short trade flags, useful for
                                           combining with other trading
strategies.
Divergence - MACDH Warning Signals - Warns of an possible impending major
                                      divergence signal at the next bar.
                                     Eventually one in three warnings
                                      materialize into a major signal.
Divergence - MACDH Warning (minor) Signals - As above, for minor signals.
Divergence - MACDH Strength             - Measures the relative % strength
                                           of each MACDH divergence signal.
Divergence - MACDH Profit Long %        - Risk-normalized profit % Long
indicator
                                           using EOD divergence Long signals.
Divergence - MACDH Profit Long pa% - Annualized profit % Long indicator
                                      using EOD divergence Long signals.
Divergence - MACDH Profit Short %       - Risk-normalized profit % Short
indicator
                                           using EOD divergence Short signals.
Divergence - MACDH Profit Short pa%- Annualized profit % Short indicator
                                      using EOD divergence Short signals.
Divergence - MACDH Week's true Start & End- Signals true start of week
                                             for weekly pivots.
Divergence - MACDH Weekly MACD of Close - plots Weekly MACD on daily
charts.
Divergence - MACDH Weekly Minor         - Minor Divergence Weekly signals
                                           for daily charts.
Divergence - MACDH Pivots - daily       - Weekly pivots for daily charts.
Divergence - MACDH Pivots - weekly - Monthly pivots for daily/weekly
charts.
Divergence - Client Serial Nr           - Unique client identification serial
Nr.
14 intra-day indicators
These indicators are almost identical to the standard set above, but they
don't use the global master control indicator, and thus don't need any
chart refreshing. They reproduce identical signals.
They are an additional useful alternative when using 1/5min intraday charts
with a high rate of incoming data (which may require constant chart
refreshing), but they don't have the flexibility of changing all kit
parameters and affecting all signals, all from a single source.
 Divergence   -   intra   MACDH   Major
 Divergence   -   intra   MACDH   Minor
 Divergence   -   intra   MACDH   SmartStop
 Divergence   -   intra   MACDH   Position Sizing
 Divergence   -   intra   MACDH   Flags
 Divergence   -   intra   MACDH   Warning Signals
 Divergence   -   intra   MACDH   Warning (minor) Signals
 Divergence   -   intra   MACDH   Strength
 Divergence   -   intra   MACDH   Triple Divergence
 Divergence   -   intra   MACDH   Profit Long %
 Divergence   -   intra   MACDH   Profit Long pa%
 Divergence   -   intra   MACDH   Profit Short %
 Divergence   -   intra   MACDH   Profit Short pa%
 Divergence   -   intra   MACDH   Pivots
7 experimental MACDH divergence indicators
Divergence - MACDH X Reference           - Plots experimental MACD histogram.
Divergence - MACDH X Minor               - Plots Minor divergence signals
                                            using experimental MACD histogram.
Divergence - MACDH X Confirmation        - Plots experimental (minor EOD
                                            divergence) signals confirmation.
Divergence - MACDH X Profit Long %       - Risk-norm profit % Long indicator
using
                                            experimental divergence Long
signals.
Divergence - MACDH X Profit Long pa% - Annualized profit % Long indicator
                                        based on experimental divergence
                                        Long signals.
Divergence - MACDH X Profit Short % - Risk-norm profit % Short indicator
using
                                      experimental divergence Short
signals.
Divergence - MACDH X Profit Short pa% - Annualized profit % Short indicator
                                         based on experimental divergence
                                         Short signals.
11 All-In-One divergence indicators
Divergence - All-In-One                - Plots 112 different types of divergence
                                          signals.
Divergence - All-In-One Flags          - Long/Short trade flags, useful for
                                          combining with other trading
strategies.
Divergence - All-In-One SmartStop - Long/Short volatility-based trailing
stop.
Divergence - All-In-One Position Sizing - Variable position sizing
indicator.
                                           Displays suggested position size
to
                                            normalize trade risk to
specified
                                            % limit.
Divergence - All-In-One Master Control       - Allows global changes to
SmartStop
                                                and Expert from within one
source.
                                               Display Master Control below
price
                                              chart at all times, and refresh
                                              new charts & after any changes.
Divergence - All-In-One Master2 Control - Allows global changes to
SmartStop.
Divergence - All-In-One Exploration Control - Allows global changes to
                                               All-In-One Exploration.
Divergence - All-In-One Profit Long %      - Risk-normalized profit % Long
                                              indicator using EOD divergence
                                              Long signals.
Divergence - All-In-One Profit Long pa% - Annualized profit % Long
indicator
                                           using EOD divergence Long
signals.
Divergence - All-In-One Profit Short %     - Risk-normalized profit % Short
                                              indicator using EOD divergence
                                              Short signals.
Divergence - All-In-One Profit Short pa%- Annualized profit % Short
indicator
                                           using EOD divergence Short
signals.
3 chart Expert Advisors
Divergence - MACDH                 - Major/Minor Divergence Long/Short
                                      chart signals.
Divergence - intra MACDH           - Major/Minor Divergence Long/Short
                                      chart signals - uses the "intra"
                                      indicator set without the global
master
                                         control - suitable for 1/5min
intraday
                                         charts.
Divergence - All-In-One            - 112 types of Divergence Long/Short
                                      chart signals.
4 Explorations
Divergence MACDH                  - Major/Minor Divergence Long/Short
                                     signals, and other data.
Divergence MACDH Custom           - Major/Minor Divergence Long/Short
signals
                                        uses fully-adjustable custom MACDH.
Divergence MACDH Profit %         - Profit % Long & Short exploration.
                                     Allows ranking of % profit
performance.
Divergence All-In-One signals     - 112 types of Divergence Long/Short
signals.
10 chart templates
Divergence - MACDH                    - Chart setup with MACDH divergence
                                         chart expert signals, global master
                                         control, divergence strength &
warning
                                         indicators.
Divergence - intra MACDH              - Chart setup is the same as the
standard
                                         setup above, but using the indicator
                                         set without the global master control
                                         - suitable for 1/5min intraday
charts.
Divergence - MACDH Xperimental        - Chart setup with normal MACDH
                                         divergence chart expert signals,
                                         master control, experimental MACDH
and
                                         experimental Minor divergence
signals.
Divergence - All-In-One.mwt           - Chart setup for 112 All-In-One
Divergence
                                          signals.     See:
http://www.metastocktools.com/MACDH/96diverg.htm
Divergence - MACDH Profit.mwt           - As templates above, with added
instant
Divergence - intra MACDH Profit.mwt        profit indicators.
Divergence - MACDH X Profit.mwt
Divergence - MACDH Pivots Daily.mwt - As main templates above, with added
Divergence - MACDH Pivots Weekly.mwt   multi-colored chart pivot
indicators.
Divergence - intra MACDH Pivots.mwt
2 MetaStock Dlls
GV.dll                                - MetaStock plug-in for Master Controls.
AdvancedStop.dll                      - MetaStock plug-in for SmartStop.
                              Installation
If you have problems extracting MDsetup.exe from DvergMACDH.zip,
please try the following process:
 1) Create new folder C:\MACDH;
 2) Save attached DvergMACDH.zip to folder C:\MACDH;
 3) Right-click on DvergMACDH.zip, choose "Properties",
    and if that file is blocked, unblock it;
 4) Extract contents of DvergMACDH.zip to folder C:\MACDH;
Close MetaStock and run the MDsetup.exe setup executable,
ignoring any MetaStock error messages in the import process.
Setup will install all the above formulae into MetaStock (v8.0 and
above).
For MetaStock version 7.22 and earlier, you will need to manually
copy & paste all the necessary formulae from the enclosed
DvFormula.txt,
as well as manually copy GV.dll & AdvancedStop.dll into MetaStock's
"External Function DLLs" folder - all approx a 20min task.
A suitable earlier version of the AdvancedStop.dll necessary for the
SmartStop trailing stop, must be installed from the "External
Function DLLs" folder in this kit (AdvStop.MSv7install.exe).
When applying any kit updates, please delete existing kit indicators
within MetaStock first, to avoid conflicts with previous versions.
                             Kit usage
After installing the divergence kit, start MetaStock and open any
chart with the "Divergence - MACDH" template.
The chart arrow signals are Long/Short entry points. Large arrows
indicate Major MACDH divergence signals, and small arrows are Minor
MACDH divergence signals.
The trailing stop on the chart is a volatility-based Long/Short
trailing stop, which I call "SmartStop". It is there as a capital-
protection mechanism to compliment the trader's own trade exits, and
should not be used as the sole trade exit.
The "Divergence - MACDH Strength" indicator measures the relative %
strength of the MACDH divergence signals on the chart above it.
The "Divergence - MACDH Warning Signals" gives warning of impending
Major (large arrows) signals above. 33% of these warning signals
become real signals.
The "Divergence - MACDH Master Control" indicator allows global
control
of all the signal parameters and the trailing stop, all from one
indicator.
See http://www.metastocktools.com/MACDH/MACDHdiverg.htm
and http://www.metastocktools.com/MACDH/96diverg.htm
for more template examples.
Important:
Refresh chart immediately by choosing Refresh Data from the View menu
or the Chart Toolbar (first icon in the lower-right toolbar).
Adjust divergence type (major/minor) and SmartStop variables from
within "Divergence - MACDH Master Control", and refresh chart after
applying any changes.
This global indicator adjusts the SmartStop trailing stop and Expert
trading bands.
Prior to running the "Divergence MACDH" exploration to find
Long/Short Major/Minor divergence signals, you must:
1) Make sure both exploration & chart periods loaded match;
2) Adjust date-cutoff for non-trading stocks in filter section
    to avoid inactive stocks.
Master Control reminder:
  Make sure that the screen is refreshed each time a new chart is
  opened in MetaStock (or after any global parameter changes), so
that
  the new parameters may apply globally.
                  New: All-In-One divergence module
Charts
1) Right-click on any open chart and apply the
  "Divergence - All-In-One.mwt" template;
2) Drop down Expert Commentary:       View -> Expert Commentary;
3) Click on "Divergence - All-In-One Master Control"
   light blue indicator plot;
4) Select divergence Indicator type, Divergence type, etc;
5) Click on "Ok" and refresh chart.
For a listing of the 14 available indicators and explanation of the 8
divergence types, scroll down in the Expert Commentary window.
Exploration
The "Divergence All-In-One signals" exploration can search for Long &
Short signals for any of the available 112 divergence combinations.
The selection of parameters in the "Divergence - All-In-One
Exploration Control" indicator, controls the divergence type and
associated parameters. This indicator does not accept user inputs,
but must be edited before selecting a new divergence type.
Tools -> Indicator Builder -> double-click on the first divergence
indicator, "Divergence - All-In-One Exploration Control" -> edit
any/all of the first five parameters:
{Edit Exploration default parameters here: }
indT:=1;    {   <--   Indicator Type [1-14]}
divT:=1;    {   <--   Divergence Type [1-8]}
pds1:=21;   {   <--   Indicator periods}
pds2:=10;   {   <--   Indicator smoothing periods}
pds3:=3;    {   <--   Ind Pk/Tr breakout lookback pds}
Ok & Close to save, and run "Divergence All-In-One signals"
exploration with your newly chosen parameters.
                           Kit logic Definitions
Original MACDH peaks & troughs
(Edited out - information available with the main kit)
Alternative method MACDH peaks & troughs
The original and alternative divergence signals can be selected from
within the master control indicator.
Both original &   new methods can be compared directly by opening two
charts with the   divergence template, selecting the new method for one
(and refreshing   each chart), and displaying the two charts side by
side (Window ->   Column).
(Edited out - information available with the main kit)
Major MACDH divergence
Bullish Long entry:
  1) (Edited out - information available with the main kit);
  2) (Edited out - information available with the main kit);
  3) (Edited out - information available with the main kit).
Bearish Short entry:
  1) (Edited out - information available with the main kit);
  2) (Edited out - information available with the main kit);
  3) (Edited out - information available with the main kit).
Every major divergence signal is also a minor divergence signal.
Minor signals outnumber major signals by 2.1 to 1.
For the original divergence method, extensive research has shown that
only an average of one in 76 periods will signal a major divergence
signal (1.3% of bars), or about three major signals for each trading
year.
For the new divergence method, extensive research has shown that only
an average of one in 45 periods will signal a major divergence signal
(2.2% of bars), or about five to six major signals for each trading
year.
Major MACDH divergence warning
These signals attempt to preempt the major divergence signals as
described above, by not waiting for the latest MACDH peak/trough
to complete.
Every major divergence signal is always preceded by a warning signal
on the previous bar;
Only 33% (one in three) of these warnings eventually materialize into
a major divergence signal on the next bar.
A number of these signals close together usually indicate that a
rally
reversal is imminent. Beware of continuing strong trends.
Minor MACDH divergence
Bullish Long entry:
  1) (Edited out - information available with the main kit);
  2) (Edited out - information available with the main kit).
Bearish Short entry:
  1) (Edited out - information available with the main kit);
  2) (Edited out - information available with the main kit).
Approximately one in every three minor divergence signals, is also
a major divergence signal.
Minor signals outnumber major signals by 2.1 to 1.
For both original and new divergence methods, extensive research has
shown that only an average of one in 36 periods will signal a minor
divergence signal (2.8% of bars), or about seven minor signals for
each trading year.
                          MACD histogram
This kit uses the standard original MACD which translates very
closely to 12/26 periods for the MACD component EMA's.
Normalized MACD was thoroughly tested for use with this kit,
but the original was found to work best.
From MetaStock help:
"Most analysts (including Equis International's) say that the MACD
 indicator is "the difference between 12-day and 26-day exponential
 moving averages." However, the [original] indicator is really the
 difference between 0.15 and 0.075 exponential moving averages
 (whereas, when expressed in decimal form, the 12 and 26-day
 exponential moving averages are actually 0.153846 and 0.076923
 exponential moving averages)."
Please note that changing the user-input parameters in these signal
indicators, will not affect the chart expert signals nor the
exploration, as MetaStock references only the default settings in the
indicator.
For simplicity's sake, these parameters are not included in the
master
control indicator.
To change the default user inputs in the "Divergence - MACDH M...."
reference indicators, for example changing MACD hist periods from
9 to 21:
Edit the indicator code and change this line:
x:=Input("MACD Histogram periods",1,252,9);
to:
x:=Input("MACD Histogram periods",1,252,21);
and save.
The chart expert signals will now utilize 21 smoothing periods
for the MACD histogram.
                   Experimental MACD histogram
This setup ("Divergence - MACDH Xperimental" template) allows
experimenting with different and unusual types of MACD histogram, and
also allows comparisons of resulting experimental indicator signals
to the standard MACDH divergence signals on the chart.
Try different combinations of user inputs in the "Divergence - MACDH
X Reference" MACDH indicator, and refresh the chart after any
adjustments so that the "Divergence - MACDH X Minor" indicator may
refresh and use the new parameters.
"Divergence - MACDH X Reference" user inputs
This global indicator only affects signals in "Divergence - MACDH X
Minor" indicator. It must be plotted on its own window at all times,
and chart must be refreshed after any user input changes.
"Shorter MACD periods"
Default: 12 periods
"Longer MACD periods"
Default: 26 periods
"MACD Signal periods"
Default: 9 periods
"[1]Exp [2]Sim [3]Time [4]Tri [5]Var [6]Vol [7]Wght"
Choose between seven different types of internal MA smoothing for the
MACDH:
1 - Exponential MACD histogram
2 - Simple MACD histogram
3 - Time-series MACD histogram
4 - Triangular MACD histogram
5 - Variable MACD histogram
6 - Volume-adjusted MACD histogram
7 - Weighted MACD histogram
If a promising MACDH setup is found using this experimental setup,
the main MACDH divergence kit can then be easily converted to the new
parameters. Please refer to "Adapting the MACDH in the kit"
section below.
                    Master Control parameters
The "Divergence - MACDH Master Control" indicator allows global
changes to the divergence indicator signals, SmartStop trailing stop,
and the chart Expert signals all simultaneously from within one
source.   Chart must be refreshed after any changes.
User inputs:
"SmartStop Initial stop buffer multiplier"
Adjusts initial ATR stop buffer in the SmartStop trailing stop.
Adjust this parameter to suit your own level of risk and trading
style.
"SmartStop Trailing stop buffer multiplier"
Adjusts trailing ATR stop buffer in the SmartStop stop.
Adjust this parameter to suit your own level of risk and trading
style.
"SmartStop resets at: [1]Close, [2]Price bar"
Allows the SmartStop to reset on either the trailing stop touching
the Close (1), or any part of the price bar (2).
"Divergences: [1]Major only, [2]Minor+Major"
Choose between Major and Minor divergence signals.
This global parameter affects the SmartStop trailing stop and trade
flag indicators.
"MACDH Pk/Tr breakout lookback periods"
Choose the lookback periods to determine the MACDH Peak/Trough
definitions. A value of "3" corresponds exactly to traditional
3-bar Peak/Trough definitions. Experiment with 4 & 5 periods.
This global parameter affects all divergence indicators.
More on this function:
The MACDH Pk/Tr breakout lookback periods option offers another way
to define MACD Histogram peaks & troughs. It's another one of the
experimental options in the MACDH divergence kit.
Setting the lookback periods to "3" results in the kit using regular
MACDH peaks/troughs. This is the same as a traditional
lower/higher/lower MACDH pattern for a peak, and a
higher/lower/higher MACDH pattern for a trough. In other words, a
MACDH peak would be a bar whose highest value was yesterday out of
the last three periods, and a MACDH trough would be a bar where
yesterday's value was the lowest in the last three periods.
By changing the breakout lookback periods to "5", the peaks and
troughs are restricted to higher/lower values for the peaks/troughs
as compared to the last five periods. In other words, in this case a
MACDH peak would be a bar whose highest value was yesterday out of
the last five periods, and a MACDH trough would be a bar where
yesterday's value was the lowest in the last five periods.
As the lookback periods are increased, peak/trough definitions become
rare. Setting the lookback periods beyond "5" is not recommended, as
it changes the structure of divergence, but it may offer some
interesting signals.
"Divergence method:   [1]Original,   [2]Alternative"
Choose between original and alternative MACDH divergence signals.
This global parameter affects all divergence indicators.
Master Control usage:
The easiest way to see how the master control works is this way:
1) Right-click on the master control's gray horizontal line;
2) Change any or all of the parameters - for example, from
Major+Minor
signals to Major only;
3) Close the master control parameters box;
4) Refresh your chart with the refresh button at the bottom right
hand
side of MetaStock;
5) Watch now as the SmartStop changes from taking into account every
divergence signal, to just triggering on Major signals only.
Try & experiment with other settings.
                             SmartStop
The Long/Short SmartStop trailing stop provided with this kit
is a volatility-based trailing stop. It should be used only as a
"safety net", and should not replace well-designed trading system
exits that cater to market conditions.
The SmartStop's initial & trailing stop buffers are determined by
the underlying stock's (ATR) volatility.
Note: the SmartStop will not initialize (reset) on either the entry
bar or the next bar.
Note on the "SmartStop volatility periods" user input:
This adjusts the SmartStop volatility sampling lookback periods.
Small periodicity reacts quicker, but the SmartStop buffer is
choppier.
Large periodicity reacts slower, but the SmartStop buffer is
smoother.
Adjust this parameter to suit your own level of risk and trading
style.
Changing this parameter does not affect other Divergence kit signals,
unless the default 10 periods is changed within the indicator code.
                   Divergence - MACDH Strength
This indicator measures the relative strength of the MACDH divergence
signals. It takes relative % values between the MACDH peaks/troughs,
and displays them as a percentage on the signal bars.
Larger (positive/negative) values indicate stronger signals.
Choose between Major & Minor signals in the Master Control to toggle
between these two types of signal strength measurements.
Price and MACDH/price signal strength are also available options,
although I suspect that MACDH signal strength alone is more relevant.
                     Variable position sizing
The variable position sizing indicator displays a suggested position
size value to normalize trade risk to specified % limit.
It takes the risk based on the SmartStop initial stop, and calculates
an appropriate trade position size.
Variable position sizing involves decreasing trade size on riskier
(higher volatility) trades, and increasing it on safer (lower
volatility) trades. The result is that trade risk should
theoretically (severe price slippage may alter risk) remain the same
for all trades.
Should variable position sizing theoretically result in a similar
total profit when compared to a fixed-position size strategy? After
all, what we lose on those big (now smaller) spectacular wins, we can
gain from smaller (spectacular) losses and (now bigger) wins on the
larger, safer trades.
In reality, the final result between these two strategies can be
quite different.
By normalizing the total risk with risk-based variable position
sizing, the result is a *smoother equity curve*.
This results in less overall capital risk, and thus increases the
trader's confidence and ability to place a larger proportion of his
working capital into his trading strategy.
And larger trades in turn equates to larger profits for the same (or
lower) amount of original risk.
Below is an example of how variable position sizing can be applied to
non-leveraged trades:
StdEq$ (standard trade size): total capital / maximum number
                              of open trades / 2;
AvgLoss%:                     Average Acceptable Loss %;
Risk%:                       (Entry Price - (Volatility based
Stoploss
                              + Slippage)) / Entry Price x 100;
Variable Position Size:       StdEq$ x AvgLoss% / Risk%.
Example for a safer (less-volatile) trade:
StdEq$ = $100,000 / 10 trades; ($10,000)
AvgLoss% = 8; (8%)
EntryPrice = $10.00;
Stop = $9.50;
Expected exit price slippage = $0.05;
Risk% = ($10.00 - ($9.50 - $0.05)) / $10.00 x 100; (5.5%)
Variable Position Size = $10,000 x 8 / 5.5. ($14,545)
Example for a riskier (volatile) trade:
StdEq$ = $100,000 / 10 trades; ($10,000)
AvgLoss% = 8; (8%)
EntryPrice = $2.00;
Stop = $1.70;
Expected exit price slippage = $0.02;
Risk% = ($2.00 - ($1.70 - $0.02)) / $2.00 x 100; (16%)
Variable Position Size = $10,000 x 8 / 16. ($5,000)
By normalizing maximum trade risk (to 8% in both examples above),
a trader can manage overall capital risk in a more predictable
manner.
                      Profit % indicator set
The MACDH Divergence kit's profit % indicators have been designed as
part of a powerful system development tool. They correctly measure a
number of relevant system metrics, and can be a great aid in rapid &
valid system development.
These backtesting / system development tools are much
faster/accurate/reliable than MetaStock's System Tester, and have
risk-normalizing / annualizing functions which allow the direct
comparison of different strategies with markedly contrasting risk
profiles. Fast & powerful system development.
Money Management vs Risk Management
"Money management" is usually a label given to the fixed percentage
allocation of capital to each trade, such as the "place 2% of your
portfolio capital into each trade" general rule. If this process is
supposed to protect a trader's capital from risk, then obviously risk
needs to be added to the equation.
A fixed trade capital amount per trade (such as 2%) disregards the
fact that some trades (and trading strategies) are riskier than
others, and thus their capital needs to be reduced accordingly to
allow for this greater risk. Placing an equal % of capital into each
trade and disregarding different levels of risk, is analogous to
dividing one's wealth and placing equal amounts into each investment,
regardless of whether it is a safe interest-bearing account or a
risky lottery ticket.
The promise of "money management" is that it will protect a trader
from the risk of losing his trading capital. Not necessarily so - it
will probably just slow down the losing process.
Money Management is *not* Risk Management
Typical Money Management strategies such as fixed trade allocation,
do not take capital risk into consideration.
Risk Management is not possible without measuring actual risk, and
adjusting exposed capital to it, at both trade and strategy levels.
Risk Management or correct capital allocation, is a major component
of the risk-adjusted profit indicator set in both the URSC tool-kit
and MACDH Divergence kit.
Individual security position size is automatically determined by the
profit indicators, according to historical risk for the particular
security.
Using position size tailored to individual security risk allows 100%
of total capital allocation to any given portfolio without excessive
risk. More capital on safer trades, less on riskier trades. This is
the essence of risk-management.
                       Profit % indicators
By default, these indicators plot an instant profit % curve based on
MACDH minor Divergence Long & Short signals (Entry & Exit rules for
these indicators are system development examples - do not trade!), or
any other combination of system Entry/Exit signals you wish to add
(when adding additional entries/exits, due to a lack of available
formula space it is best to place all code in a separate indicator,
and reference its signals in your new profit indicator).
User inputs:
"[1]%Profit, [2]%DrwDwn, [3]PosSize%, [4]Signals"
Choice of following 5 plots:
 [1] historical rolling % profit curve;
 [2] profit Peak/Trough % drawdown curve *;
 [3] Historically risk-adjusted position % size **;
 [4] Clean Entry/Exit trade signals;
 [5] %Profit/maxRisk ratio.
* Risk is measured as the difference between profit curve peaks
  & troughs, and the largest historical difference is taken as the
  maximum potential risk.
  This is more straight-forward and realistic than using equity
  Standard Deviation, as in the traditional Sharpe ratio method of
  measuring risk for adjusting returns to risk. More on Sharpe ratio:
  http://www.miapavia.com/homes/ik2hlb/sr.htm
** This option displays the risk-adjusted position size %
  (100% = normal pos size). More on risk normalizing below.
"Normalize %Profit beyond x% historical Drawdown"
This option allows the profit curve to be normalized to the user's
chosen maximum historical risk of losing a trading account.
Default: 30% maximum risk.
By normalizing risk to a maximum threshold, different strategies can
be directly compared to each other. For example, by choosing the Buy
& Hold option (which can have larger profits yet with much higher
drawdowns), the divergence strategy's performance can be directly
compared to it as a benchmark for the same period of trading.
"Entry Price: [1]Open, [2]Close"
Choose to enter trade on the Open or Close. Default: [2].
"Exit Price: [1]Open, [2]Close, [0]Buy+Hold"
Choose to exit trade on Open or Close, or choose "0" to ignore all
exits and plot Buy & Hold profit curve for the equivalent trading
period. Default: [2].
"Entry/Exit Delay periods:"
Choose to delay entry & exit by one day if using the Open for entry
price. Default: [0].
"Total Transaction costs (Brokerage + Slippage) %:"
Add estimated brokerage & slippage % for realistic profit testing.
Default: 0.2% (use higher values for smaller trades than $10k).
                        Profit pa% indicators
These indicators take the output from their corresponding profit
indicators, and plot the following:
[1] Risk-normalized Profit %pa;
[2] Rolling annual (from 1st Jan) risk-normalized DrawDown %;
[3] Average trade duration in calendar Days,
     measured at each trade exit;
[4] Average % of time (% of calendar days) spent in trades;
[5] Trading backtest period in Years.
After the first year of trading, the pa% profit indicator begins to
annualize returns (i.e., average profit over 365 calendar days).
Whenever there are no active trade periods, the existing profit %
divided by an increasing non-active period results in a decrease of
the pa% average annual profit. This plots as a down-sloping line for
profits, and up-sloping line for losses.
For example, if the profit% indicator shows a profit of 40% over four
years, the profit pa% will show an annualized profit of 10%pa by the
end of that period. For a 40% loss over the same period, the profit
pa% will show an annualized profit of -10%pa by the end of that
period.
If there is a period where the stock was totally inactive (i.e.,
suspended and with no data), then the profit pa% will correctly plot
a profit pa% step up/down when the stock returns to trading after the
inactive period.
                        Profit % exploration
This exploration is an excellent system-developing tool. It quickly
determines median profitability for any universe of securities, and
allows the rapid development of profitable trading strategies.
After running the exploration:
a) Click on the column A profit % header to rank results by
profitability;
b) Select the middle profit % result, so that clicking again on the
column header (and reversing the profitability order) does not change
the position of the selected result.
Please see sysdev.htm & sysdev2.htm located in the Strategies folder
for more information on this important system-development tool.
             Duplicating/adapting the Profit indicators
            to measure different strategies' performace.
The profit indicators are quite versatile, and can be used to test
any trading strategy with valid entry/exit signals.
                          Three easy steps
1) Copy "Divergence - intra MACDH Profit Long %" and
        "Divergence - intra MACDH Profit Long pa%" indicators;
2) Rename copied "Divergence - ...(2)" indicators to your chosen
profit indicator names;
3) Edit/change & save the following code in your new profit
indicator:
Original code:
{* Entry Long* }
x:=Fml("Divergence - intra MACDH Minor");
entry:=x=1;
Change to:
{* Entry Long* }
entry:=Fml("Your Entry formula/indicator");
Original code:
{* Exit Long *}
exit:=x=-1;
Change to:
{* Exit Long *}
exit:=Fml("Your Exit formula/indicator");
Original risk-based entry position size code:
{* Variable Trade Size % formula }
VarSize:=Fml("Divergence - intra MACDH Position Sizing");
Change to:
{* Variable Trade Size % formula }
VarSize:=Fml("Your Position Sizing formula");
Or, if no Position Sizing formula available:
{* Variable Trade Size % formula }
VarSize:=0;
(All original position size will now be a fixed 100%)
                           Actual example
Let's take an actual test example - the Darvas system.
=======================
Darvas Box - Buy & Sell
=======================
---8<-----------------------------------
{ Darvas Box - Buy & Sell v1.0
©Copyright 2006 Jose Silva.
 For personal use only.
 http://www.metastocktools.com }
{ User input }
pds:=Input("Lookback periods",2,2600,100);
{ Variables }
h3:=Ref(H,-3);
l3:=Ref(L,-3);
init:=Cum(IsDefined(Ref(HHV(H,pds),-4)))=1;
{ Darvas High }
DvHi:=ValueWhen(1,init OR
 h3>=Ref(HHV(H,pds),-4) AND h3>HHV(H,3),h3);
{ New Darvas High }
NuDvHi:=Dvhi<>Ref(DvHi,-1);
{ New Darvas Low }
NuDvLo:=l3<LLV(L,3) AND DvHi>HHV(H,3);
NuDvLo:=NuDvLo AND Ref(NuDvLo,-1)<1
 AND Cum(NuDvHi)>0;
{ Darvas Low }
DvLo:=ValueWhen(1,NuDvLo,l3);
{ Darvas Box End }
DvEnd:=
 BarsSince(NuDvHi)<BarsSince(Ref(NuDvLo,-1));
DvEnd:=(DvEnd AND NuDvLo)
 OR Cum(IsDefined(DvEnd))=1;
{ Darvas Box High }
DvBoxHi:=ValueWhen(1,DvEnd,DvHi);
{ Darvas Box Low }
DvBoxLo:=ValueWhen(1,DvEnd,DvLo);
{ Darvas Possible Sell }
DvPosSell:=L<DvBoxLo AND Alert(L<DvBoxLo=0,2);
{ Darvas Sell }
exit:=BarsSince(DvEnd)<BarsSince(DvPosSell);
exit:=exit=0 AND Alert(exit,2)
 OR Cum(IsDefined(exit))=1;
{ Darvas Buy }
{ Classic Darvas: change next line to H>DvBoxHi} entry:=C>DvBoxHi
 AND BarsSince(DvEnd)<BarsSince(exit);
{ Clean signals }
init:=Cum(IsDefined(entry+exit))=1;
bin:=ValueWhen(1,entry-exit<>0 OR init,entry);
long:=bin*(Alert(bin=0,2) OR init);
short:=(bin=0)*(Alert(bin,2) OR init);
{ Plot in own window }
long-short
---8<-----------------------------------
1) Copy & Paste above "Darvas Box - Buy & Sell" indicator into
MetaStock's Indicator Builder.
2) Copy & rename the "Divergence - MACDH Profit Long %" & "Divergence
- MACDH Profit Long pa%" to "Darvas Signals Profit Long %" & "Darvas
Signals Profit Long pa%".
3) In the new "Darvas Signals Profit Long %" indicator,
Change original code line:
{* Entry Long *}
x:=Fml("Divergence - MACDH Minor");
For:
{* Entry Long *}
x:=Fml("Darvas Box - Buy & Sell");
4) In the new "Darvas Signals Profit Long pa%" indicator,
Change original code lines:
{ Reference Profit Long & trade flag }
profit:=Fml("Divergence - MACDH Profit Long %");
flag:=FmlVar("Divergence - MACDH Profit Long %","FLAG");
For:
{ Reference Profit Long & trade flag }
profit:=Fml("Darvas Signals Profit Long %");
flag:=FmlVar("Darvas Signals Profit Long %","FLAG");
5) New exploration:
Column A: %pa
Fml("Darvas Signals Profit Long pa%")
Filter
colA<>0
6) Buy & Hold testing for the same period is done by changing
original default output in "Darvas Signals Profit Long %" indicator
code:
Original (exit on Close):
ExitPrice:=Input("Exit Price:   [1]Open,   [2]Close,   [0]
Buy+Hold",0,2,2);
To Buy & Hold (no exit):
ExitPrice:=Input("Exit Price:   [1]Open,   [2]Close,   [0]
Buy+Hold",0,2,0);
Actual testing was done on 485 securities in the ASX's All
Ordinaries, backtested over a median 6.25 years of EOD data, mid-Feb
2006.
Normally, survivorship bias would present a major problem when
backtesting a current list of surviving securities, but since we'll
also be testing a risk-normalized/annualized Buy&Hold strategy for
the same period as a benchmark, any bias can be easily measured and
accounted for.
Entry & Exit was on the Close of the signal day, 0.2% was used as a
total brokerage/slippage to mirror lower transaction expenses in the
US.
Risk was normalized to a maximum 30% historical drawdown, using
backtesting methodology as explained in the Trading System
Development Tolls webpage (available from the local strategies folder
or http://www.metastocktools.com/URSC/sysdev.htm ).
Results
=======
Median (risk-normalized) net profit over the last 6 years:
Buy & Hold:   3.0%pa profit
Darvas:       1.6%pa profit
Summary
=======
No doubt a better exit may improve the Darvas system's performance,
but for the time being, it under-performs a risk-normalized Buy &
Hold strategy (for the same period) by 1.4%pa.
In other words, taking out market biases, the current Darvas system's
annual net profit is -1.4%pa.
          Adapting the MACDH oscillator within the kit
"I wish to use a fast MACD histogram (6-19-9) instead of the
original 12-26-9 MACD histogram."
The easiest solution would be to use the experimental indicator set.
For a more permanent solution, changing the standard MACD histogram
in the MACDH kit is quite easy.
For everyone of these three indicators:
   "Divergence - MACDH Major",
   "Divergence - MACDH Minor",
   "Divergence - MACDH Warning Signals",
and exploration:
   "Divergence MACDH",
Find this code located approx 32 lines from the top:
---8<------------
{ MACD histogram }
x:=MACD()-Mov(MACD(),x,E);
---8<------------
And add this new code below it:
---8<------------
{ 6-19-9 MACD histogram }
x:=Mov(C,6,E)-Mov(C,19,E);
x:=x-Mov(x,9,E);
---8<------------
Result:
---8<------------
{ MACD histogram }
x:=MACD()-Mov(MACD(),x,E);
{ 6-19-9 MACD histogram }
x:=Mov(C,6,E)-Mov(C,19,E);
x:=x-Mov(x,9,E);
---8<------------
The new 6-19-9 MACD histogram now takes precedence over the original
12-26-9 MACD histogram.
For the "Divergence MACDH Custom" exploration, simply adjust periods
in the first two lines of code of columns A~D for any other MACDH
periodicities:
6/19/9 MACDH example
--------------------
Change original code:
{ Custom 5/35/5 MACD Histogram }
x:=Mov(C,5,E)-Mov(C,35,E);
x:=x-Mov(x,5,E);
For new code:
{ Custom 6/19/9 MACD Histogram }
x:=Mov(C,6,E)-Mov(C,19,E);
x:=x-Mov(x,9,E);
  Replacing the MACDH for another oscillator within the kit
"I wish to use a RSI(14) (or other oscillators) instead of the
original MACD histogram."
This is similar to the process described above.
Again, replacing the standard MACD histogram in the MACDH kit for any
other oscillator is quite easy.
For everyone of these three indicators:
   "Divergence - MACDH Major",
   "Divergence - MACDH Minor",
   "Divergence - MACDH Warning Signals",
and exploration:
   "Divergence MACDH",
Find this code located approx 32 lines from the top:
---8<------------
{ MACD histogram }
x:=MACD()-Mov(MACD(),x,E);
method:=If(method=1,0,Mov(x,10,E));
---8<------------
And replace with this new code:
---8<------------
{ RSI(14) }
x:=RSI(14);
method:=If(method=1,50,Mov(x,10,E));
---8<------------
The new RSI(14) oscillator (with a 50 mid-line) now takes over the
original MACD histogram (with a zero mid-line).
New:
Apply the "Divergence - All-In-One" template, and choose your
indicator, parameters, and divergence type.
  Replacing an unused indicator in the All-In-One divergence
              kit with a custom indicator or data
The easiest way to introduce a new indicator or specialized data
(such as Advancers/Decliners data) into the All-In-One divergence
kit, is through the following procedure:
1) Edit "Divergence - All-In-One Master Control" indicator.
2) Replace an unused/unwanted indicator from the list of 14 within
the master control indicator code, with your own security data.
Example for replacing [12 - Commodity Channel Index (CCI)] with your
AD data:
Original indicator code:
{ CCI }
 If(indT=12,Mov(CCI(pds1),pds2,S),
New indicator code:
{ AD line }
 If(indT=12, Security("AD symbol", data path to AD data),
Then when Indicator 12 is selected in the "Divergence - All-In-One
Master Control" indicator, the All-In-One kit will look for
divergences between price and the Advancers/Decliners line.
This will produce minor signals (which includes all major signals),
as major divergence signals are only possible with the MACDH or
similar oscillator.
                            Strategies
There are some good examples available in the "Strategies" folder
within this kit.
A Google search for "divergence trading" can also generate some great
ideas on strategies, exits, stops, etc, for use with this kit.
                      Q&A, possible problems
MetaStock is renown for poor memory management.
Possible out-of-memory errors can occasionally manifest themselves as
an unusual high count in exploration rejections, or an unusually
smooth/jagged indicator plot.
If this occurs, first refresh the chart, then try shutting down
MetaStock and restarting it again.
If the problem persists, try re-booting your PC before contacting the
author at the email address below.
"When changing the loaded date range, the MACDH indicators
are changing also. Is there an explanation for this?"
The loaded periods affects the MACD/MACDH, which use EMA calculations
internally. Exponential Moving Averages use all available past data
(decreasingly all the way to the first data bar), and the MACD is
very sensitive to (amplifies) slight EMA changes.
For best results, it's best to consistently load at least 4 year's
data.
"Can you explain more on the date filter in the exploration?"
When a MetaStock Exploration is run, it explores every stock
available in that data folder(s). Some of those stocks may be
suspended, others may even be delisted, yet the exploration will keep
considering those dead stocks as if they are still trading today.
For example, if a stock last traded in 1996, and its data is still
available, a normal MetaStock exploration would consider it as still
trading today.
The date filter in the MACDH exploration forces the exploration to
ignore any stocks that have not traded since the date in the filter,
so that only active/trading stocks are searched. Without this
filter, the exploration may come up with the same dead stocks over
and over again.
The date filter can be completely disabled by encasing the "cutoff"
variable in {} brackets:
---8<-------------------
{ (Original) Exploration filter }
cutoff
AND colE>=LiqMin
AND (colC<>0 OR colD<>0)
---8<-------------------
---8<-------------------
{ (Disabled date) Exploration filter }
{cutoff
AND} colE>=LiqMin
AND (colC<>0 OR colD<>0)
---8<-------------------
How I can change the MACDH Divergence kit to look for MACDH-
RSI divergence, rather than MACDH-price divergence?
MACDH-RSI (or any other indicator combination) divergence may be an
interesting idea, but expect a lower number of divergence signals.
Since correlation between MACDH & RSI may be high at times (i.e.,
both going up & down at similar stages), there will be less
divergence to be found between the two oscillators.
To measure divergence between MACDH and RSI, the best solution is to
make a copy of the "Divergence - MACDH Major" & "Divergence - MACDH
Minor" indicators.
Rename these two copies "Divergence - MACDH-RSI Major" & "Divergence
- MACDH-RSI Minor", change part of their internal MS code, and plot
the new indicator signals below a chart - preferably with the
original MACDH-price chart expert signals to compare them to.
============================
Divergence - MACDH-RSI Major
============================
Original code within indicator:
---8<---------------------------
{ MACDH peak/trough price values }
(Edited out - information available with the main kit);
---8<---------------------------
Replace above with new code:
---8<---------------------------
{ MACDH peak/trough RSI values }
(Edited out - information available with the main kit);
---8<---------------------------
============================
Divergence - MACDH-RSI Minor
============================
Original code:
---8<---------------------------
{ MACDH peak/trough price values }
(Edited out - information available with the main kit);
---8<---------------------------
Replace above with new code:
---8<---------------------------
{ MACDH peak/trough RSI values }
(Edited out - information available with the main kit);
---8<---------------------------
The challenge is to find a good entry filter for the
divergence signals - do you have any recommendations?
It's not so much entry filters, but suitable exit conditions that
work best with the MACDH Divergence entry signals.
Look for reasons to suspect that the divergence conditions are
breaking down or have failed - exits based on lagging indicators do
not work well with contrarian entry strategies.
I would personally take all entry signals (long and/or short), and
then have additional exit conditions in place to get me out of failed
trades.
Depending on a trader's personal preferences, such as average open
trade duration, available funds, leverage used, personal risk or
profit expectations, every trader has different reasons for
considering closing an open trade. For example, a long-term investor
is likely to tolerate a lot more downside than say, an intraday
trader, and thus he/she would use different exit conditions.
Only personal experience can help with exits, as everyone has
different reasons for considering exiting an open trade.
It is worth mentioning again (and this applies to any trading
strategy) that any initial/trailing stop (such as the SmartStop that
comes with this kit) should only be used as a "safety net" - just in
case personal exit conditions have failed to detect adverse market
conditions.
Trailing stops should never replace well thought-out (and based on
personal experience) exit signals that take current adverse market
conditions into consideration.
To use an analogy, it is always best to take one's washing out of the
drying clothes line when the dark rain clouds are gathering and
threatening rain, and not when the clothes begin to get saturated by
the falling rain. ;)
                              Support
Please email me directly with any kit problems at:
jose@MetaStockTools.com
I wish you all the best in your endeavor to develop
and trade your successful strategy.
Jose Silva
http://www.metastocktools.com/MACDH/MACDHdiverg.htm
                            Disclaimer
For the purpose of the following disclaimer, the MACD Histogram
divergence MetaStock kit will here on be referred to as the
"software",
and Jose Silva as its "author".
This software is sold with the understanding that no part of it may
be copied and/or passed on to any third parties in any way or form.
You may make a copy of this software for backup purposes only.
Copies made for any other purpose are prohibited and illegal.
The author will do his best to provide updates needed by this
software in a timely manner, but will not be held responsible by
delays and/or interruptions beyond his control.
In no event shall the author be liable for any damage either direct
or
indirect, including, without limitation, damages for loss of business
profits, business interruption, loss of business information or other
losses arising out of the use of or inability to use this software.
The author is not a licensed investment advisor and so the
information
and results obtained by using this software is for educational
purposes
and of the nature of a general comment and neither purports nor
intends
to be, specific trading advice.
The information obtained from using this software should not be
considered as an offer or enticement to buy, sell or trade and is
given
without regard to any particular person's investment objectives,
financial situation and particular needs.
This software is not designed to replace your licensed financial
consultant or your stockbroker. You should seek appropriate advice
from
your broker, or licensed investment advisor, before taking any
action.
The results obtained from using this software are not indicative of,
and have no bearing on, any results, which may be attained in actual
trading.
Results of past performance are no guarantee of future performance.
It should not be assumed that you would experience results comparable
to that reflected by the results from this software. No assurance is
given that you will not incur substantial losses, nor shall the
author be held liable if losses are incurred.
http://www.metastocktools.com