Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort INDICATORS
Visual, Digital Candlesticks
Trading With The Heikin-Ashi Candlestick Oscillator This visual tool complements candlesticks that will help you enter and exit trades, resulting in higher profits per trade.
by Sylva Sylvain in Vervoo Vervoort rt
A
nalyzing a candlestick chart gives a good idea of what is going on in the market. Candlestick patterns, resistance or support from price pivots, rising or falling windows, and the use of trendlines are all excellent technical trading tools. But initiating a trade and deciding when to close it, candle after candle, remains a difficult task. It would be nice
to have a complementary visual aid when looking at a candle chart. Figure 1, a daily chart for Ford Motor Co., uses an expert function for color-coding the candlesticks. On November 21, 2006, the price falls through the uptrend line after a number of green candles. This means it’s time to close any long position and open a new short position. As long as there are red candles, we will keep the short trade open. On December 20, 2006, there is a new green candle. Drawing a downtrend line up to this point, we see that it is broken to the upside. It’s time to close the short position and open a new long position. On February 13, 2007, we have a first red candle. Drawing the uptrend line, we see that the closing price remains above
Copyright (c) Technical Analysis Inc.
Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort
the uptrend line. As a rule, we will wait for the next day. The price continues above the trendline and the candles are turning green again. On February 22, 2007, there is another red candle. Now, the uptrend line is broken, so we close the long position eventually, opening a new short position. The color-coded candlesticks make daily followup easy and relaxing. Want to know how this is done? Of course you do.
THE STARTING IDEA A good starting point is the heikin-ashi† chart. In the 3 30 6 13 20 27 4 11 18 26 3 16 22 29 5 12 20 26 November December 2007 February daily chart of Sysco Corp. in Figure 2, you can see the FIGURE 1: COLOR-CODED CANDLESTICKS. A short trade can be opened when price falls traditional candlestick chart on the top and the heikinashi chart on the bottom. Visually, the heikin-ashi through the uptrend line. The short trade is open till the downtrend line is broken to the upside. candles look very consistent. In a downtrend, we see mostly black candles with no or small upper shadows. In an 4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4; ClHa:=haC>=haOpen; uptrend, there are mostly white candles with no or small ClHa lower shadows. First, I am going to color-code the normal candle chart with We do the same for creating a red candle with this second the information from the heikin-ashi chart. A white heikinformula when the heikin-ashi closing price is smaller than ashi candle will paint the normal candlestick green and a black heikin-ashi candle will paint the normal candlestick the opening price and we link red to it. red. The result can be seen in Figure 3. To do this in MetaStock, we create an expert function and link it to the chart. In the highlights tab of the expert editor, we first introduce the formula to create a green candle when the heikin-ashi closing price is greater than or equal to the heikinashi opening price and we link a green color to a positive outcome: {green candle} haOpen:=(Ref((O+H+L+C)/4,-1)+PREV)/2; haC:=((O+H+L+C)/
{red candle} haOpen:=(Ref((O+H+L+C)/4,-1)+PREV)/2; haC:=((O+H+L+C)/ 4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4; ClHa:=haC
The execution priority is a green cand le followed by a red candle. That way, the red candle function is only executed if the green candle function has a negative outcome (not true). 34
SYSCO Corp. normal candles
34.0 33.5 33.0 32.5 32.0 31.5 31.0 30.5 30.0 29.5 29.0 28.5 28.0 27.5 27.0
33
Heikin-ashi color-coded candles
32 31 30 29 28 27
SYSCO Corp. heikin-ashi candles 10 July
17
24
31
7
August
14
21
28
5
11
September
18
25
9.1 9.0 8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0 7.9 7.8 7.7 7.6 7.5 7.4 7.3 7.2 7.1 7.0 6.9 6.8
2
33
33
32
32
31
31
30
30
29
29
28
28
27
27
9
October
FIGURE 2: THE HEIKIN-ASHI CHART. Here you see a traditional candlestick chart on the top and a heikin-ashi chart on the bottom. As you can see, the heikin-ashi chart is very consistent.
10 July
17
24
31
7
August
14
21
28
5
11
September
18
25
2
9
October
FIGURE 3: COLOR-CODING USING INFORMATION FROM HEIKIN-ASHI. A white heikin-ashi candle will paint the normal candlestick green and a black heikin-ashi candle will paint the normal candlestick red.
Copyright (c) Technical Analysis Inc.
K C O T S A T E M
Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort 17.0 16.5 16.0
NOT A PERFECT WORLD
15.5
Unfortunately, results are not always going to be as positive as what you see in the Sysco chart. In this case, there is a nice range of red candles in the downtrend and a longer series of green candles in the uptrend. Wouldn’t it be great if prices were moving like that all the time? But as we know all too well, the market is not going to move perfectly all the time. Note in Figure 4 how the colors are less consistent and much less usable for entering or exiting a trade. It is clear that in any up- or downtrend, there must be room for some price reaction. Let’s try some techniques to keep the bars as green as possible during an uptrend, with little delay at turning points. First, we can eliminate all single-day reactions by extending a previous green candle by at least one more bar. In the T WX example, this adds eight more green candles in the uptrend (Figure 5). To do this, we change the green candle and red candle formulas as follows:
15.0
{green candle} haOpen:=(Ref((O+H+L+C)/4,1)+PREV)/2; haC:=((O+H+L+C)/ 4+haOpen+Max(H,haOpen)+Min (L,haOpen))/4; ClHa:=Alert(haC>=haOpen,2); ClHa {red candle} haOpen:=(Ref((O+H+L+C)/4,1)+PREV)/2; haC:=((O+H+L+C)/
14.5 14.0 13.5 22 28
4
11
19 25
February
3
10
17 24
March
31
7
14
21
April
28
5
12
19
May
27 2
June
FIGURE 4: NOT A PERFE CT WORLD. Here, the colors are less consistent and cannot be used for entering or exiting a trade.
16.5 16.0 15.5 15.0 14.5 14.0 13.5 16.5 16.0 15.5 15.0 14.5 14.0 3
10
17
24
March
31
7
April
14
21
28
5
12
19
27
May
FIGURE 5: AS GREEN AS POSSIBLE. All single-day reactions can be eliminated by extending a previous green candle by at least one more bar.
1)))
4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4; ClHa:=Alert(haC
But a number of red candles are still left that we wou ld like to eliminate in the uptrend. The second step is to see if the new candle comes after a green candle , or if it is a white candle (close above open). If it is the latter, there is no need to chan ge the color because the bars still point in the direction of the uptrend. In Figure 6 you can see that another two red candles are eliminated by this second step. The green candle and red candle formulas have now been changed as follows: {green candle} haOpen:=(Ref((O+H+L+C)/4,-1)+PREV)/2; haC:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min (L,haOpen))/4; ClHa:=Alert(haC>=haOpen,2); ClHa OR (Ref(ClHa,-1) AND (C>=O OR C>=Ref(C,-
{red candle} haOpen:=(Ref((O+H+L+C)/4,-1)+PREV)/2; haC:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min (L,haOpen))/4; ClHa:=Alert(haC
In the third step, we will use a fast crossover system to allow a minimum price reaction while still being very fast at the turning points. We will employ the zero-lag crossover system that I introduced in my article in the S TOCKS & COMMODITIES May 2008 issue. The code can be found here (upper left) in the sidebar, “MetaStock crossover formula.” We consider an uptrend (green candle) when ZlDif is equal to or greater than zero. I am using a triple exponential moving average (TEMA) of 34 bars. You may want to make that value smaller or bigger if you want to allow less or more price reaction. At the price pivot point levels, often there are doji candles or spinning tops or bottoms with a small body compared to
Copyright (c) Technical Analysis Inc.
Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort
METASTOCK CROSSOVER FORMULA
16.5
avg:=34; haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2; haC:=((O+H+L+C)/ 4+haOpen+Max(H,haOpen)+Min(L,haOpen))/ 4; TMA1:= Tema(haC,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlHa:= TMA1 + Diff; TMA1:= Tema((H+L)/2,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlCl:= TMA1 + Diff; ZlDif:=ZlCl-ZlHa; ZlDif
16.0 15.5 15.0 14.5 14.0 16.5 16.0 15.5
15.0 the high-low price. To eliminate them, I must introduce a last step. That step is not 14.5 changing the green color when the previous candle is green and the size of the real 14.0 body is smaller than 35% of the fu ll high– low range. In addition, the high must be 17 24 31 7 14 21 28 5 12 19 27 higher than the previous low to make su re April May there is no window in between. The final FIGURE 6: DO THE BARS POINT IN TH E RIGHT DIRE CTION? We can take this one step further and eliminate result can be seen in Figure 7. more red candles in an uptrend. There are now only green candles during the entire uptrend. We get a sell signal on the first red candle. Drawing uptrend lines at this point shows a third, Initiating a trade and deciding steeper trendline that has been broken downward. This tells when to close it, candle after us it is time to sell. The complete expert formula “_Uptrend_HA” can be found in the sidebar “MetaStock and candle, remains a difficult task. the last step.” The order of execution is first the formula (green candle) and then the red candle only when the green candle is false. the “_Downtrend_HA” expert, we receive a buy signal at With the green candle uptrend expert we have a useful tool to (1). So we are now looking at the “_Uptrend_HA” candle keep us in an uptrend and detect a downward trend reversal. chart. We are combining this chart with a fast indicator like What we need next is an equally effective expert for a my S VAPO (see my article in the November 2007 issue of downtrend. For this we can simply reverse the execution STOCKS & COMMODITIES) to find out if there is a greater order and put a red candle on top of a green candle in the chance for a move up or down. In early March, we had a red selling bar at (2). Here we would expert editor. Or you can create another expert and call it hold on to the long position at least for one more day because the “_Downtrend_HA” with the same formulas to be introduce d in the expert editor, but now with an inverse execution order closing price remains well above the last support line, and — formula (red candle) first, followed by the (green candle) SVAPO is below the lower reference line, suggesting the possibility of an up move for the following bars. formula. We have an uptrend line drawn from the beginning of the Figure 8, a graphic of K BH, shows a downtrend. In the lower part of the chart, we used the expert function “_Uptrend_HA.” up move through the low at (2). We have drawn a parallel line The first red candle here is the reversal signal for going short. The through the previous top to form an uptrend channel. At the end of March, we have a second selling signal at (3). But there are upper part is the expert function “_Downtrend_HA.” We will stay short as long as there are red candles. With the first green enough reasons to hold onto the position. The price remains candle, we would close the short position and eventually open a above the uptrend line within the uptrend channel and a closing price above the last support while S VAPO is below the lower long position. Unfortunately, there is no perfect system. You may rec eive reference line, suggesting a higher chance of an up move. The next selling signal appears in the first half of April, but signals to exit a trade when it is probably better to hold onto the the price remains above the uptrend line within the uptrend trade. The idea is not to trust this system blindly. When you are faced with a reversal signal, you must use all available technical channel and a closing price above the last support. During analysis techniques to make an intelligent decision, preferably this activity, S VAPO is moving up. The price continues to move up and reaches the upper side of the trend channel, supported by more than one technique. making a top above the upper S VAPO reference line. At (5) Figure 9 illustrates the use of combined techniques. From Copyright (c) Technical Analysis Inc.
Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort 16.5 16.0 15.5 15.0 14.5 14.0
16.5
price drops through the last steeper uptrend line and we get another red selling bar. This is a good profit-taking moment. Next, selling signals appear at (6) when the closing price drops through the last support line, and at (7), when price drops out of the trend channel. If you prefer using an oscillator instead of color-coded candlesticks, you can use the heikin-ashi candlesticks oscillator (H ACO), which I will explain next.
16.0
INTRODUCING HACO 15.5 15.0 14.5 14.0 13.5 3
10
March
17 24
31
7
April
14
21
28
5
12
19
May
27 2
June
FIGURE 7: TWEAKING THE TREND EVEN FURTHER. We can go one more step further and eliminate any dojis, spinning tops or bottoms, and other similar patterns.
HACO is a digital oscillator version of the colored candlesticks. It has either a value of zero for a red candle or “1” for a green candle. The basic formula is taken from the green candle and the red candle out of the “_Uptrend_HA” expert. The MetaStock code for the H ACO can be found in the sidebar “The heikin-ashicandlestick oscillator (H ACO).” On the chart of General Electric (GE) in Figure 10, you’ll see the H ACO on the top subchart. I have colored the price chart so
METASTOCK AND THE LAST STEP ( Note: The MetaStock expe rt for an upt r end is “_Upt rend_HA”) {green candle} avg:=34; haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2; haC:=((O+H+L+C)/ 4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4; TMA1:= Tema(haC,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlHa:= TMA1 + Diff; TMA1:= Tema((H+L)/2,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlCl:= TMA1 + Diff; ZlDif:=ZlCl-ZlHa; keep1:=Alert(haC>=haOpen,2); keep2:=ZlDif>=0; keeping:=(keep1 OR keep2); keepall:=keeping OR (Ref(keeping,-1) AND (C>=O) OR C>=Ref(C,-1)); keep3:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1)); utr:=Keepall OR (Ref(keepall,-1) AND keep3); keep1:=Alert(haC
{red candle} avg:=34; haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2; haC:=((O+H+L+C)/ 4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4; TMA1:= Tema(haC,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlHa:= TMA1 + Diff; TMA1:= Tema((H+L)/2,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlCl:= TMA1 + Diff; ZlDif:=ZlCl-ZlHa; keep1:=Alert(haC>=haOpen,2); keep2:=ZlDif>=0; keeping:=(keep1 OR keep2); keepall:=keeping OR (Ref(keeping,-1) AND (C>=O) OR C>=Ref(C,-1)); keep3:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1 )); utr:=Keepall OR (Ref(keepall,-1) AND keep3); keep1:=Alert(haC
Copyright (c) Technical Analysis Inc.
Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort
55
50
45
55
50
45
2
20
26
5
12
19
26
March
2
9
16
April
FIGURE 8: DOWNTRENDS. Here you see red candle and green candle formulas. As long as there are red candles, it’s best to stay short.
5 6 7
3 4 1
2
25.5 25.0 24.5 24.0 23.5 23.0 22.5 22.0 21.5 21.0 20.5 20.0 19.5 19.0 18.5 18.0
0
SVAPO(1,3)
2008
February
March
April
May
-5
June
FIGURE 9: COMBINING TREND CHARTS WITH SVAPO. Using trend charts with a fast indicator like SVAPO adds confirmation to your buy/sell decisions.
Copyright (c) Technical Analysis Inc.
you can easily see the periods with a long position (green) and with a short position (red). HACO is not meant to be an automatic trading system, so when there is a buy or sell signal from H ACO, make sure it is confirmed by other technical analysis techniques. H ACO will certainly aid in signaling buy and sell opportunities and help you hold onto a trade, making it more profitable. In early 2004, you can probably avoid a short position in GE for just a couple of days, generating more net profit. You can change the input value in the H ACO for the zero-lag TEMA in the up and down moves. Basically, you would use the same value for both entries. If you use different values, it will work fine most of the time, but there may be some unexpected results. This is because using different up and down TEMAs will mean no synchronization between the up and down components. The behavior of H ACO is closely related to the level and speed of price change. It can be used on charts of any time frame ranging from intraday to monthly. Sylvain Vervoort lives in the Flemish part of Belgium and is a retired electronics engineer, studying and using technical analysis for more than 30 years. He is an independent trader, writer, publisher, and educator in the area of technical analysis and options. Sylvain Vervoort may be reached at his website at http://stocata.org/.
ADDITIONAL READING Mulloy, Patrick [1994]. “Smoothing Data With Less Lag,” Technical Analysis of STOCKS & COMMODITIES, Volume 12: February. Valcu, Dan [2004]. “Using The HeikinAshi Technique,” Technical Analysis of STOCKS & COMMODITIES, Volume 22: February. Vervoort, Sylvain [2008]. “The Quest For Reliable Crossovers,” Technical Analysis of STOCKS & COMMODITIES, Volume 26: May. _____ [2007]. “Short-Term Volume And Price Oscillator,” Technical Analysis of STOCKS & COMMODITIES, Volume 25: November.
Stocks & Commodities V. 26:12 (50-57): Trading With The Heikin-Ashi Candlestick Oscillator by Sylvain Vervoort
THE HEIKIN-ASHI CANDLESTICK OSCILLATOR (HACO) {HACO} avg:=Input(“Up TEMA average: “,1,100,34); avgdn:=Input(“Down TEMA Average: “,1,100,34); haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2; haC:=((O+H+L+C)/ 4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4; TMA1:= Tema(haC,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlHa:= TMA1 + Diff; TMA1:= Tema((H+L)/2,avg); TMA2:= Tema(TMA1,avg); Diff:= TMA1 - TMA2; ZlCl:= TMA1 + Diff; ZlDif:=ZlCl-ZlHa; keep1:=Alert(haC>=haOpen,2); keep2:=ZlDif>=0; keeping:=(keep1 OR keep2); keepall:=keeping OR (Ref(keeping,-1) AND (C>=O) OR C>=Ref(C,-1)); keep3:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1)); utr:=Keepall OR (Ref(keepall,-1) AND keep3);
TMA1:= Tema(haC,avgdn); TMA2:= Tema(TMA1,avgdn); Diff:= TMA1 - TMA2; ZlHa:= TMA1 + Diff; TMA1:= Tema((H+L)/2,avgdn); TMA2:= Tema(TMA1,avgdn); Diff:= TMA1 - TMA2; ZlCl:= TMA1 + Diff; ZlDif:=ZlCl-ZlHa; keep1:=Alert(haC
0.5
35.0 34.5 34.0 33.5 33.0 32.5 32.0 31.5 30.5 30.0 29.5 29.0 28.5 28.0 27.5 27.0
November
2004
February March
April
May
FIGURE 10: HA CO. The long positions are displayed in green and short positions in red.
Copyright (c) Technical Analysis Inc.
June S&C