TradingView
LazyBear
Nov 20, 2014 8:25 PM

Vervoort Heiken-Ashi LongTerm Candlestick Oscillator [LazyBear] 

Apple Inc.NASDAQ

描述

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: 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:
- tlc.thinkorswim.com/center/charting/studies/studies-library/G-L/HACOLT.html
- motivewave.com/studies/heikin_ashi_candles_oscillator_lt.htm

List of my other indicators:
- GDoc: docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing
- Chart: tradingview.com/v/4IneGo8h/
评论
zichridekker
Great indicator.
But Can i use thuis script to turn to mql4?
lebbins
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
ChrisMoody
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!!!!
LazyBear
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 :)
gammash
//@version=5
// @Author LazyBear
indicator('Vervoort LongTerm Heiken-Ashi Candlestick Oscillator [LazyBear]', shorttitle='MAG HACOLT_LB', timeframe = "")
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 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
3 * (ema1 - ema2) + ema3

haOpen = float(na)
haClose = float(na)

haOpen := nz((haOpen[1] + ohlc4) / 2, ohlc4)
haClose := (haOpen + math.max(high, haOpen) + math.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 = math.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 = bool(na)
upwWithOffset := upw != dnw ? upw : nz(upwWithOffset[1])

buySig = upw or not dnw and (na(upwWithOffset) ? 0 : upwWithOffset)
ltSellSig = close < ta.ema(close, emaLength)

neutralSig = bool(na)
neutralSig := buySig or (ltSellSig ? 0 : nz(neutralSig[1]))

hacolt = buySig ? 1 : neutralSig ? 0 : -1
plot(not overlayMode ? hacolt : na, style=plot.style_columns, color=hacolt > 0 ? color.green : hacolt < 0 ? color.red : color.blue, title='HACOLT')
barcolor(overlayMode ? hacolt > 0 ? color.green : hacolt < 0 ? color.red : color.blue : na)
Roborq
@gammash, were you able to bring this indicator to version=5? I copy the one you paste here but doesn't work. @LazyBear can you help us on here? Ive seen many comments saying there is no way to bring/declare a variable on the version, it works if I put Version=2 and Version=1, but cannot be convereted to Version=5
gammash
@Roborq, it was working but now something wrong with calc_tema function that I could not solve.
ChartArt
Awesome. It's definitely both a interesting and a lagging indicator. Showing signals where most other indicators show something else:

ChartArt
3 different always opposing signals :)

IvanLabrie
The so called lag is actually good, makes you buy on a pullback if you're smart.
更多