# Vervoort Heiken-Ashi LongTerm Candlestick Oscillator [LazyBear]

24373 visualizzazioni
HACOLT (Heikin Ashi Candles Oscillator Long Term) is a technical indicator designed by Sylvain Vervoort. It is based on Mr.Vervoort's other indicator, HACO (Heikin-Ashi Candles Oscillator - posted here: https://www.tradingview.com/v/UyhY8FuQ/).

Optimized for long-term trading, HACOLT shows three levels: -1, 0 and 1. These levels suggest "an open short position", "no open position", and "an open long position", respectively. Passing from a certain level to another is viewed as a trading signal:
- Rising from -1 or 0 to 1 suggests a Long Entry and Short exit;
- Falling from 1 to 0 or -1 suggests a Long Exit;
- Falling from 1 or 0 to -1 indicates a Short Entry.

Fits in nicely with any trading setup as a confirmation indicator

- https://tlc.thinkorswim.com/center/chart...
- http://www.motivewave.com/studies/heikin...

List of my other indicators:
- Chart:
```//
// @author LazyBear
// List of all my indicators:
//
study("Vervoort LongTerm Heiken-Ashi Candlestick Oscillator [LazyBear]", shorttitle="HACOLT_LB")
length = input(defval=55, title="TEMA Period")
emaLength = input(defval=60, title="EMA Period")
candleSizeFactor = input(defval=1.1, title="Candle size factor")
overlayMode=input(false)
calc_tema(src, length) =>
ema1 = ema(src, length)
ema2 = ema(ema1, length)
ema3 = ema(ema2, length)
3 * (ema1 - ema2) + ema3

haOpen = nz((haOpen[1] + ohlc4) / 2, ohlc4)
haClose = (haOpen + max(high, haOpen) + min(low, haOpen) + ohlc4) / 4
thaClose = calc_tema(haClose, length)
thl2 = calc_tema(hl2, length)
haCloseSmooth = 2 * thaClose - calc_tema(thaClose, length)
hl2Smooth = 2 * thl2 - calc_tema(thl2, length)
shortCandle = abs(close - open) < ((high - low) * candleSizeFactor)
keepn1 = ((haClose >= haOpen) and (haClose[1] >= haOpen[1])) or (close >= haClose) or (high > high[1]) or (low > low[1]) or (hl2Smooth >= haCloseSmooth)
keepall1 = keepn1 or (keepn1[1] and (close >= open) or (close >= close[1]))
keep13 = shortCandle and (high >= low[1])
utr = keepall1 or (keepall1[1] and keep13)
keepn2 = (haClose < haOpen) and (haClose[1] < haOpen[1]) or (hl2Smooth < haCloseSmooth)
keep23 = shortCandle and (low <= high[1])
keepall2 = keepn2 or (keepn2[1] and (close < open) or (close < close[1]))
dtr = keepall2 or (keepall2[1] and keep23)
upw = dtr == 0 and dtr[1] and utr
dnw = utr == 0 and utr[1] and dtr
upwWithOffset = upw != dnw ? upw : nz(upwWithOffset[1])

buySig = upw or (not dnw and (na(upwWithOffset) ? 0 : upwWithOffset))
ltSellSig = close < ema(close, emaLength)
neutralSig = buySig or (ltSellSig ? 0 : nz(neutralSig[1]))
hacolt = buySig ? 1 : neutralSig ? 0 : -1
plot(not overlayMode ? hacolt : na, style=columns, color=hacolt>0?green:hacolt<0?red:blue, title="HACOLT")
barcolor(overlayMode?hacolt>0?green:hacolt<0?red:blue:na)
```
List of my free indicators: http://bit.ly/1LQaPK8
List of my indicators at Appstore: http://blog.tradingview.com/?p=970

## Commenti

Great Code Again...Congrats for winning Indicator of the week!!!

Big Time People Get Big Time Results...And LazyBear....You are the definition of a Big Time Coder!!!!
Rispondi
ChrisMoody
Indicator of the week? lol...thanks for letting me know Chris.

Now, I have something to show my wife for all the time I am spending on TV :)
Rispondi
Great indicator.
But Can i use thuis script to turn to mql4?
Rispondi
Hi Chris,
I tried to copy your code into a strategy code version 3 but have undeclared identifier error for HaOpen, HaClose, upwWithOffset and neturalSig.
I have tried to use the following and managed to solve it for HaOpen, HaClose and neutralSig. However, I am still getting propble with upwWithOffset stating it is bool series.
HaOpen = 0.0
If it is not too much trouble, can you advise how to change your code so that it can use with version 3?
Thanks
Rispondi
Awesome. It's definitely both a interesting and a lagging indicator. Showing signals where most other indicators show something else:

Rispondi
ChartArt
3 different always opposing signals :)

Rispondi
ChartArt
The so called lag is actually good, makes you buy on a pullback if you're smart.
Rispondi
IvanLabrie
It's not that every example looked as good as these obvious pullback chances.
Rispondi
ChartArt
I see you are still on your quest for that holy-grail setup. :)
Rispondi
LazyBear
Oh, yes. I am. And with each new indicator which I'm testing and comparing to others I'm coming closer to my goal :P That's one small step for (a) man; one giant leap for 'that holy-grail setup' :)