[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Chandelier exit



PureBytes Links

Trading Reference Links

The exit system you use is at least as important as the entry 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 descibed more fully in the Trader's Toolkit section at Chuck
LeBeau's site  --  http://traderclub.com/  Here is the MetaStock code:

{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