back start next


[start] [1] [2] [3] [4] [ 5 ] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]


5

Trade Entry

except for the acme p sjstem, ah ofthe acme trading systems enter trades on stop orders. tj-pical swing trading sjstems wiu enter long trades on a break ofthe previous ds high plus one tick and enter short trades on abreak ofthe previous ds low minus one tick. because aprevious days high or low tends to be tested, each acme sjstem adds or subtracts a percentage ofthe atr for long and short entries, respectively. this percentage giv-es the trader further confirmation on entries and prevents a trade from being prematurely stopped out on exits.

for trade entries, the percentage ofttie atr is known as the EniryFacior, a parameter common to ah of the sjstems. the default entrjfactor is 0.25. for example, ifthe atr of a stock is 1.6 and the entrjfactor is 0.25, then along trade wiu be entered ifthe previous days high is exceeded by 1.6 x 0.25 = 0.4, and a short wiu be entered only ifthe previous dslowis exceeded by 0.4. the acme sjstems use the atr as a standard for trade entrj, trade exit, position sizing and for otherrange calculations (see table 1.5).

table 1.5. acme sjstem entrj stops

System

Buy Stop

Shortstop

acmcf

hi + (eniiyfactor * atr)

low - (entiyfactor * atr)

acmem

high + (entiyfactor • ati

low - (entiyfactor atio

acmen

high + (entryfactoratr)

low-(entiyfactoratr)

acmcp

n.a.

n.a.

acmer

rec»ojehigl. + (entiyfactor * atr)

rectanglelow - (entryfactor * ati

acme v

close + (entryfactor* atl

n.a.

the chart m figure 1.3 shows an example of a long n entrj stop. a horizontal line is placed abov-e the high ofthe 1 the percentage ofthe atr. on the fouowing d, ifthe price reaches that line, then a buy order is triggered. what ifthe stock gaps open abov-e the buj stop the fouowing d? the answer depends on the size ofthe gap and the level ofthe stop relative to the price pattem the past few bars.

lets examine tiie definition of agap more closely. a gap reflects some news in tiie maiket, tiie sector, or tiie stock itself. there may be no news at all, which mskes the gap even more significant. the key to understanding gaps is tiiat the gap price is the price what happens after the gap is the traders action point. the trader may want to define an entry condition on an intraday chart, i.e., set a

stop abov-e or below the first five-mmute bar. experiment with different chart interv-als to find the best intraday interval for gap continuations.

the code for the acme trading systems does not filter gaps for its entries, to tiie detriment of each sj-stems performance. although easjlanguage can reference the open oftomorrows bar, the end-of-day scanner cannot generate alerts for the next day because ofthe unknown open. the code can be changed to restrict gap entries by using stop umit orders; otherwise, just ignore gaps that exceed a certain percentage ofthe atr.

hikelast-daily 12/11/2001

33.500 33.000 -32.500 32.000 31,500 -31.000

29.500 -29.000 28.500

rgiirel.3.tradeentrj \

the acme trade manager defines three criteria for exiting trades:

- stop loss single-bar profit target

- multi-bar profit taiget

together, the ExiiFacior, a percentage ofthe atr, and the total number of StopBars determine a trades stop loss point. the exitfactor is similar to the entrjfactor because it is used as an offset in the stop order. the number of

stopbars indicates how many bars to consider when calculating the stop loss.

the trade manager calculates the lowest low of the last stopbars bars for long



exits and the highest high ofthe last StopBars bars for short exits. Thus, the EasjLanguage code for long exit stops is:

Semop = Lowest (Low, StopBars) - (KritFactor XATR) (1.4)

Sinulariy, the code for short exit stops is:

CoverStop =Higliesl(High, StopBars) + (ExitFactor XATR) (15)

The Profit Targets are percentages ofthe ATR determined by ProfitFactor. The Trade Manager defines two types of profit targets, a single-bar iari and a multi-bar taiget. The single-bar target looks for awide-range move on any given bar, and the multi-bar taiget looks for a wide-range move multiphed o-er a range of bars. The EasjLanguage code for the single-bar profit taiget for along position follows:

SellTaigetl = + (ProfitFactor ATR) (1.6)

The single-bar profit target for a short position is

CoverTargetl = Lo\c - (ProfitFactor X ATR) (1.7)

The default ProfitFactor is 0.9; the Trade Manager expects almost a full ATR mo-e in the trades direction. When a sell taiget is reached using a limit order, then half ofthe position is exited.

The multi-bar profit target is a double ProfitFactor move over half ofthe holding period (the \ 1 PrqfitBars). For example, ifthe holding period is five dajs, then the sell taiget is 2 X 0.9 = 180°o ofthe ATR in three dajs. The code for the multi-bar profit taiget for a long position follows:

SellTarget2 = High [PrqfitBars] + (2X ProfitFactor X ATR) (l.S)

The multi-bar profit target for a short position is:

Co\vrTargei2 = Lmr [ 1 £} - (2 X ProfitFactor X ATR) (1.9)

The complete code for the Acme Trade Manager is shown in Example 1.3: Example 1,3. Signal » Trade Manager

Acme Trade Manager: Set stops and profit targets

Inputs:

SystemlOC"),

{Position Management Parameters}

ExitFactor(0.25),

StopBars(1),

ProfitTarget(Triir),

Prn(ill.irtni(0.)),

......m.u-.(.).

l)i.)Ml.i)f;i1-.(lini-),

{Trade Logging)

LogTrades(False),

LogFileCOrders.txt");

Variables: ATR(O.O), ATRLength(20), ATRFactor(o.O), ProfitBars(0), SellStop(O.O), SellTargetl(O.O), SellTarget2(o.O), CoverStop(O.O), CoverTargetl(O.O), CoverTarget2{0.0);

ATR = Volatility(ATRLength); ATRFactor = ProfitFactor * ATR; ProfitBars = IntPortion(HoldBars/2) + 1;

SellStop = Lowest(low, StopBars) - (ExitFactor * ATR); ExitLongCAcrae LX-") Next Bar at SellStop Stop; If ProfitTarget Then Begin

SellTargetl = High + ATRFactor;

ExitLongCAcrae LX+") CurrentContracts/2 Shares Next Bar at SellTargetl Limit;

SellTarget2 = High[ProfitBars] + (2 * ATRFactor); ExitLongCAcrae LX++") CurrentContracts/2 Shares Next Bar at SellTarget2 Limit; End;

If BarsSinceEntry >= HoldBars - 1 Then ExitLongCAcme LX") Next Bar on Open;

CoverStop = Highest(High, StopBars) + (ExitFactor * ATR); ExitShortCAcme SX-") Next Bar at CoverStop Stop; If ProfitTarget Then Begin

CoverTargetl = Low - ATRFactor;

ExitShortCAcrae SX+") CurrentContracts/2 Shares Next Bar at CoverTargetl Lirait;

CoverTarget2 = low[ProfitBars] - (2 * ATRFactor); ExitShortCAcrae SX++") CurrentContracts/2 Shares Next Bar at CoverTarget2 Limit; End;

If BarsSinceEntry >= HoldBars - l Then ExitShortCAcme SX") Next Bar on Open;

{Draw Exit Targets on the Chart) If DrawTargets Then

If MarkctPosition 1 Then

fonililionl Ainn-FxilTarRrt5(SystemID, Srllblop. Si-T.iiKfll. Si-l.irc.rl/)

I Im- I I M.iiki-lliiml ..... I lliii)

I txulil lull I ( 1-) mil I.II f.cl•(¥>iHI. (i<vciM(ii,



CoverTargetl, CoverTaigetl);

{Log Trades for Spreadsheet Export}

Conditioni =AcmeLogTrades(LogTrades, LogFile, SystemID);

Figure 1.4 shows an example ofthe profit target and stop loss lev-els using the function AcmeKxiiTai-is. This fimction draws horizontal price lev-els on the chart to display the stop loss and profit targets. The stop loss is denotedbyLX -, and the multi-barprofit taiget is denotedbyLX++. The multi-barprofit target is similar to Darv-ass box theory [7], where stock prices - upwards in a series of stacked boxes with defined ranges.

Rgure 1.4 Trade Exit

The trader may wish to change the Trade Manager to implement different stop loss and profit target strategies, e.g., axit along trade on the close ifthe close is below the opsn. By cliaredng the Trade Manager, each ofthe Acme strategies can be tested with various trade exit techniques. One suestion for changing the Trade Manager is to use different profit factors for the single-bar target and the multi-bar target. For example, the trader may want a 1.2-ATR move in one day and a 2.0-ATR move in two days.

Holding

In the Trade Manager, the trailer has the option of turning off profit targets to depend only on the holding period. When selecting a holding period, the trader wants to maximize the deployment of capital before the law of diminishing returns takes hold, i.e., how fast can the trades be turned over without sacrificing

profit factor. The trader may wish to optiniize the HoMBars parameter \yver a IxTrttolio ofstods to determine the optimum holdingperiod.

Many swing-trading techniques have holding periods of three to five ds. Taylor defined a cjtle of three dajs with each day representing a Bujing Day, a Selling Day, and a Short SeU d [33]. The cycles according to sector technolcgj stocks have short cjcles of two to three ds, whUe cjcUcal stocks have cjcles lasting up to thirty dajs. An example of a 30-d cj-cle is the retail sector, where same-store sales data are released the first week of ewrj month.

1.4.3 The Trading System

So far, we have built an infrastructure tor the core ofthe Trading Model. Now, we want to focus on the trading sjstem itself As an anakgj, think ofthe Trading Model as the car and the Trading Sjstem(s) as the engine. Ifthe engine is broken, then the car is not going to move. Unless the sjstems have an edge, the Portfolio is going to stay in Park.

Trading sjstem design is difficult because a trader has to overcome reliance on canned technical analysis-some software packages make it too easj to plug in amoving av-erage crossover sjstem or a channel breakout sjstem. By tweaking parameters, a trader tries to get results that he or she wants, a dangerous form of human optimization. The main issue is that any sjstem can appear profitable in a narrowly defined time frame or on a narrowly defined portfoUo The key to any trading system is to look for consistent profitabiUty across a wide range of stocks and markets ov-er long periods oftime. Thejob ofback testing is essential to good sjstem design [30].

The first question a trader must ask about a known trading sjstem is "Ifthe sjstem is so good, then why is it published?" The answer is that the sjstem may be a decent trading sjstem, but certainly no one in his or her right mind would give aw agreat trading sjstem. Obvioualy, agreat sjstem has to be traded, not sold. This question even applies to the trading sjstems in this book. Each ofthe Acme sjstems has a historical edge and a decent profit fector, but the best trading sjstems are in the hands ofthe people making money with them. We have enhanced the Acme sjstems as a departure point for sjstems with better profit factors. Ifa trader designs a sjstem with aprofit factor of2.0, thenheorshe wiU be moti-atedtomake the sjstem even better throughaprocess ofiteration.

So how does one design atrading sjstem? Without hesitation, we claim that the best systems result from a combination ofmarket observ-ation andtotal immersion in technical analjsis. The wisdom acquired through reading, studjing, analyzing,and observing leads to an explosion of creativity-simple concepts are combined to create a great trading system or technique. A trader soon discovers that thebesisysiems are self



[start] [1] [2] [3] [4] [ 5 ] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]