하이킨 아시(Heikin-Ashi)는 기존의 캔들스틱 차트를 변형한 일본의 차트 분석 기법입니다. 일반적인 캔들스틱은 가격의 변동을 그대로 표시하는 반면, 하이킨 아시는 가격 변동의 흐름을 더 명확하게 파악할 수 있도록 도와줍니다. 주로 추세를 더 잘 파악하고, 차트의 노이즈를 줄이는 데 유용합니다.
하이킨 아시 차트 계산 방법
open – 하이킨 아시의 시가는 이전 하이킨 아시 캔들의 시가와 종가의 평균으로 계산됩니다.
close – 하이킨 아시의 종가는 현재 캔들의 시가, 고가, 저가, 종가의 평균입니다.
high – 하이킨 아시의 고가는 현재 캔들의 고가, 하이킨 아시 시가, 하이킨 아시 종가 중에서 가장 큰 값입니다.
low – 하이킨 아시의 저가는 현재 캔들의 저가, 하이킨 아시 시가, 하이킨 아시 종가 중에서 가장 작은 값입니다.
Heikin Ashi 구현
pip install pandas ccxt
import pandas as pd
import ccxt
# 예시) 바이낸스 선물 BTCUSDT, 1시간 봉
bnb = ccxt.binance({'options': { 'defaultType': 'future' }})
def Heikin_Ashi():
ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
df['HA_Close'] = (df['open'] + df['high'] + df['low'] + df['close']) / 4
# open
for i in range(len(df)):
if i == 0:
df['HA_Open'] = (df['open'].iloc[0] + df['close'].iloc[0]) / 2
else :
df.loc[i,'HA_Open'] = (df['HA_Open'].iloc[i-1] + df['HA_Close'].iloc[i-1]) / 2
df['HA_Open'] = df['HA_Open'].round(1) # open
df['HA_High'] = df[['high', 'HA_Open', 'HA_Close']].max(axis=1).round(1) # high
df['HA_Low'] = df[['low', 'HA_Open', 'HA_Close']].min(axis=1).round(1) # low
df['HA_Close'] = df['HA_Close'].round(1) # close
return df
print(Heikin_Ashi())
Check
트레이딩뷰 차트와 데이터를 비교해 보겠습니다.


시 – HA_Open / 고 – HA_High / 저 – HA_Low / 종 – HA_Close