MavilimW는 트레이딩뷰 오픈 소스로 ‘KivancOzbilgic‘ 라는 유저가 공개하였습니다.

트레이딩뷰: https://kr.tradingview.com/script/IAssyObN-MavilimW/
유저 설명 요약 및 번역
MavilimW는 다양한 피보나치 수를 기반으로 부드럽게 가중 이동 평균을 조합하여 계산됩니다. 장기적인 트레이딩에서 훌륭한 지지와 저항 역할을 하며, 추세 확인에 유용합니다.
업데이트 사항
MavilimW 지표는 이제 두 가지 색상을 가집니다.
– 파란색: 상승 추세 신호
빨간색: 하락 추세 신호첫 번째와 두 번째 매개변수를 조정하여 지표의 민감도를 변경할 수 있습니다.
설정에서 “이전 버전 표시(Show previous version)” 옵션을 활성화하면 기존 버전을 추가할 수 있습니다.
두 매개변수를 변경하면 지표가 자동으로 피보나치 수열을 계산합니다.
참고 사항
첫 번째 변수는 두 번째 변수보다 작거나 같아야 합니다.
– 예시: (0,1), (1,1), (1,2), (2,3), (5,5) 등변수를 증가시키면 매매 신호가 줄어들지만, 지지선 또는 저항선으로 활용하기 유리해집니다.
변수를 줄이면 매매 신호가 더욱 민감해지며, 이에 따라 지표 색상이 자주 변경됩니다.
MavilimW 구현
값을 구하고 트레이딩뷰 차트의 plot 색은 up / down / flat으로 구분하겠습니다.
import pandas as pd
import ccxt
import pinetopy as pp
# Binance Futures, BTCUSDT, 1h
bnb = ccxt.binance({'options': { 'defaultType': 'future' }})
ohlcv = bnb.fetch_ohlcv(symbol="BTC/USDT", timeframe="1h", limit=500)
df = pd.DataFrame(ohlcv, columns=['time', 'open', 'high', 'low', 'close', 'volume'])
df['time'] = pp.kst(df['time'])
# TradingView Default Settings
def main(df, fmal=3, smal=5):
tmal = fmal + smal
Fmal = smal + tmal
Ftmal = tmal + Fmal
Smal = Fmal + Ftmal
m1 = pp.wma(df['close'], length=fmal)
m2 = pp.wma(m1, length=smal)
m3 = pp.wma(m2, length=tmal)
m4 = pp.wma(m3, length=Fmal)
m5 = pp.wma(m4, length=Ftmal)
mavw = pp.wma(m5, length=Smal)
df['mavw'] = mavw
df['mavw_color'] = df['mavw'].diff().apply(lambda x: 'up' if x > 0 else 'down' if x < 0 else 'flat')
return df
print(main(df))
Check
트레이딩뷰 차트와 비교

