|
Chandelier Exit
MetaStock Trading System
Below is the code for Chuck LeBeau's Chandelier Exit. The
Chandelier Exit is a volatility based exit (it uses average true
range) that works quite well on trend following systems. It lets
"... profits run in the direction of a trend while still offering
some protection against any reversal in trend."
The theory is quite simple, but because of the awkwardness of
defining the entry price, its implementation in MetaStock takes some
work. The theory is: exit a long position at either the highest high
since entry minus 3 ATRs, or at the highest close since entry minus
2.5 ATRs.
The exit is described more fully in the Trader's Toolkit section at
Chuck LeBeau's site --
http://traderclub.com.
| Signal Formulas |
|
{LONG EXIT}
LongEntry:= {this your
entry system, eg. Cross(CLOSE, Mov(C,20,E))};
MoneyMgmtStop:= {this is
your maximum loss, in points}; |
{DEFINE ENTRY PRICE,
WITH EXIT BEING -ENTRY PRICE AND NO TRADE BEING 0}
EntryPrice:= If(PREV <= 0,
{Trade entered today?}
If(LongEntry, CLOSE, 0),
{Trade entered before
today. Stopped today?}
If(LOW <= PREV -
MoneyMgmtStop, -PREV,
If(LOW <=
HighestSince(1,PREV=0, HIGH) - 3 * ATR(10), -PREV,
If(LOW <=
HighestSince(1,PREV=0, CLOSE) - 2.5 * ATR(10), -PREV, PREV)))); |
{EXIT IF ENTRY PRICE < 0
(MEANING EXIT)}
EntryPrice < 0 |
{SHORT EXIT}
ShortEntry:= {this your
entry system, eg. Cross(Mov(C,20,E), CLOSE)};
MoneyMgmtStop:= {this is
your maximum loss, in points}; |
{DEFINE ENTRY PRICE,
WITH EXIT BEING -ENTRY PRICE AND NO TRADE BEING 0}
EntryPrice:= If(PREV <= 0,
{Trade entered today?}
If(ShortEntry, CLOSE, 0),
{Trade entered before
today. Stopped today?}
If(HIGH >= PREV +
MoneyMgmtStop, -PREV,
If(HIGH >=
LowestSince(1,PREV=0, LOW) + 3 * ATR(10), -PREV,
If(HIGH >=
LowestSince(1,PREV=0, CLOSE) + 2.5 * ATR(10), -PREV,
PREV)))); |
{EXIT IF ENTRY PRICE < 0
(MEANING EXIT)}
EntryPrice < 0 |
|
|