LazyBear

Vervoort Heiken-Ashi LongTerm Candlestick Oscillator [LazyBear]

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

More info:
- https://tlc.thinkorswim.com/center/charting/studies/studies-library/G-L/HACOLT.html
- http://www.motivewave.com/studies/heikin_ashi_candles_oscillator_lt.htm

List of my other indicators:
- GDoc: https://docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing
- Chart:
Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear 
// List of all my indicators: 
// https://docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing
//
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)
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
HaOpen := (your definition)
If it is not too much trouble, can you advise how to change your code so that it can use with version 3?
Thanks
Reply
Blue Caution / Trend Change

Green Trend Up
Red Trend Down
Reply
This is a great free candle indicator
Reply
LazyBear PRO QuantitativeExhaustion
Thanks JR
Reply
Do you have any other momentum colored candlestick chart indicators?
Reply
Please do check out all my indicators - https://docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing - I have many other momentum indicators. Adding candle colors is easy, just let me know which one you'd like to try.
Reply
ifty78692 LazyBear
Are your indicators available for MT4?
Reply
I really like how you used the indicator box with overlay indicator. More please!
+1 Reply
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!!!!
+1 Reply
LazyBear PRO 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 :)
+4 Reply
United States
United Kingdom
India
Deutschland
France
España
Italia
Polska
Türkiye
Россия
Brasil
Indonesia
Malaysia
Việt Nam
日本
한국
简体
繁體
Home Stock Screener Forex Signal Finder Cryptocurrency Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators Website & Broker Solutions Widgets Stock Charting Library Feature Request Blog & News FAQ Help & Wiki Twitter
Profile Profile Settings Account and Billing My Support Tickets Priority Support Contact Support Ideas Published Followers Following Private Messages Chat Sign Out