
이 전략은 이동 평균 기술을 주요 거래 신호로 사용하며, 하이컨 형 지표가 시장 추세 반전을 감지하고, 단기 가격 동력을 포착하는 전략과 결합한다. 전략은 구스타보 브라누의 하이컨 일률 전략을 최적화하여, 중장 기능을 제거하여, 지연 없는 신호 출력을 달성한다.
하이컨의 종전 가격 nAMAn을 계산하여 가격의 주선으로 .
하이켄 종전 가격의 빠른 이동 평균 fma와 느린 이동 평균 sma를 계산한다.
fma 위를 스마를 밟으면 구매 신호를 생성하고, fma 아래를 스마를 밟으면 판매 신호를 생성한다.
이 전략은 원래의 전략에서 리패키지 기능을 제거하고, 실시간 거래 신호를 생성하여 재측정 데이터의 부정확성을 방지한다.
헤이컨 형 지표와 결합하면 시장의 전환점을 더 정확하게 판단할 수 있다.
이중 평균 조합을 적용하여 가짜 돌파구를 효과적으로 필터링 할 수 있습니다.
지연 없는 신호 출력, 하드 디스크 성능 안정.
매개 변수 최적화 유연성, 다양한 품종에 맞게 조정할 수 있다.
전략의 논리는 간단하고 명확하며, 구현을 이해하기 쉽습니다.
자동화 된 거래 전략으로 구성하여 인적 조작의 위험을 줄일 수 있습니다.
하이컨은 가격 변동 시장에서 좋지 않은 성적을 거뒀다.
이중 평행 거래 전략은 가짜 신호를 더 많이 생성할 수 있다.
평균 변수가 잘못 설정되면 트렌드를 놓치거나 회귀를 증가시킬 수 있습니다.
실 디스크에는 거래 비용이 있고, 이는 순이익에 영향을 미칩니다.
단편적 손실을 통제하기 위해 엄격한 손해 방지 방법이 필요합니다.
기계 거래 전략에는 회수 위험도 있고, 자금 관리를 잘 해야 한다.
대응 위험 관리 조치:
변동률 지표와 함께 흔들림 영역을 피하십시오.
필터링 조건을 추가하여 거래 신호의 품질을 보장합니다.
매개 변수 테스트를 최적화하고, 적절한 평행선 조합을 선택한다.
거래 빈도를 조정하여 거래 비용의 영향을 줄이십시오.
합리적인 Stop Loss을 설정하여 단편적 손실을 통제하십시오.
투자자금 관리를 최적화하고 포지션 규모를 엄격히 통제합니다.
양평선 변수 조합을 최적화하여 신호 품질을 향상시킨다.
트렌드 필터링을 추가하여 흔들림 영역을 피하십시오.
트렌드 신뢰성을 보장하기 위해 교류량 지표를 결합합니다.
동적 스톱로스 및 추적 스톱로스를 설정하여 수익 수집을 최적화하십시오.
자본 관리 모듈을 통합하여 포지션 규모를 제어합니다.
알고리즘 트레이딩 모듈을 추가하여 완전 자동화를 구현한다.
이 전략은 하이컨 일률적 트렌드 판단과 쌍평률적 조합 필터링 기술을 통합하여 간단한 실용적인 단기 트렌드 추적 전략을 구현한다. 전략 신호는 실시간으로 신뢰할 수 있으며 실장 성능이 좋다. 매개 변수 최적화, 위트 컨트롤 조치 설정 및 알고리즘 거래 모듈 확장으로 신뢰할 수있는 완전히 자동화 된 거래 전략으로 최적화 할 수 있습니다.
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//Heikin/Kaufman by Gustavo v5
// strategy('Heikin Ashi EMA v5 no repaint ', shorttitle='Heikin Ashi EMA v5 no repaint', overlay=true, max_bars_back=500, default_qty_value=1000, initial_capital=100000, currency=currency.EUR)
// Settings - H/K
res1 = input.timeframe(title='Heikin Ashi EMA Time Frame', defval='D')
test = input(0, 'Heikin Ashi EMA Shift')
sloma = input(20, 'Slow EMA Period')
nAMA = hlc3
//Kaufman MA
Length = input.int(5, minval=1)
xPrice = input(hlc3)
xvnoise = math.abs(xPrice - xPrice[1])
Fastend = input.float(2.5, step=.5)
Slowend = input(20)
nfastend = 2 / (Fastend + 1)
nslowend = 2 / (Slowend + 1)
nsignal = math.abs(xPrice - xPrice[Length])
nnoise = math.sum(xvnoise, Length)
nefratio = nnoise != 0 ? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMAn = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
//Heikin Ashi Open/Close Price
ha_t = ticker.heikinashi(syminfo.tickerid)
ha_close = request.security(ha_t, timeframe.period, nAMAn)
mha_close = request.security(ha_t, res1, hlc3)
//Moving Average
fma = ta.ema(mha_close[test], 1)
sma = ta.ema(ha_close, sloma)
plot(fma, title='MA', color=color.new(color.black, 0), linewidth=2, style=plot.style_line)
plot(sma, title='SMA', color=color.new(color.red, 0), linewidth=2, style=plot.style_line)
//Strategy
golong = ta.crossover(fma, sma)
goshort = ta.crossunder(fma, sma)
strategy.entry('Buy', strategy.long, when=golong)
strategy.entry('Sell', strategy.short,when=goshort)