
평평한 헤이킹 크로스 전략은 헤이킹 크로스 원칙과 평평한 기술을 동시에 적용하는 양적 거래 전략이다. 이 전략은 4주기의 평균 가격을 계산하여 평평한 가격을 생성하고, 평평한 가격에 따라 헤이킹 크로스를 계산하여 거래 신호를 발산한다. 본래의 헤이킹 크로스와는 달리, 이 전략은 평평한 수를 통해 단기 시장 소음을 필터링하여 잘못된 신호를 발생하지 않도록 한다.
이 전략은 다음과 같은 원칙을 적용합니다.
헤이킹 크로스는 단기 이동 평균 상에서 또는 아래에서 장기 이동 평균을 뚫을 때 구매 또는 판매 신호를 생성한다. 이 전략에서, 단기 이동 평균은 평평한 종료 가격 ((haclose), 장기 이동 평균은 평평한 개방 가격 ((haopen) 이다.
노이즈를 필터링하기 위해, 이 전략은 4주기의 평균 가격을 사용하여 평형 가격을 계산한다. 즉:
haclose = (open + high + low + close) / 4
haopen = 이전 haopen + 현재 haclose의 평균
위와 같은 평평한 가격으로 계산된 해금 교차는 더 신뢰할 수 있는 거래 신호를 생성한다.
haclose 위에 haopen을 착용할 때 다중 머리 신호; haclose 아래 haopen을 착용할 때 공허 머리 신호。
원래의 헤이킹 크로스 전략에 비해, 평평한 헤이킹 크로스 전략은 다음과 같은 장점이 있다:
부드러운 기술은 단기 시장 소음을 필터링하여 잘못된 신호를 방지하고 신호 품질을 향상시킵니다.
4주기의 평균 가격을 사용하여 평평한 가격을 계산하여 중기 및 장기 동향을 더 잘 반영하여 더 신뢰할 수있는 거래 신호를 생성합니다.
이 전략은 헤이金交叉의 빠른交叉 특성을 결합하여 중·장기 경향의 전환점을 적시에 잡을 수 있다.
이 전략에는 몇 가지 위험도 있습니다.
시장이 급격하게 변동할 때, 평준화 기술은 일부 유효한 신호를 필터링하여 거래 기회를 놓치게 할 수 있습니다.
4주기의 평균 계산은 또한 특정 정도의 지연을 가져오며, 단선 기회를 놓칠 수도 있다.
이 전략은 거래 빈도 및 보유 기간에 대한 요구 사항이 있으며, 너무 자주 또는 너무 오랫동안 거래하는 것은 적합하지 않습니다.
위와 같은 위험은 평형 매개 변수를 적절하게 최적화하거나 다른 지표의 조합으로 해결할 수 있습니다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
평형 매개 변수를 최적화하여 평균 주기를 조정하는 것과 같은 최적의 매개 변수 조합을 찾습니다.
다른 지표들, 예를 들어, 교류량, 브린 띠 등과 결합하여 신호의 정확도를 높인다.
이동적 손실, 축소적 손실 등의 위험을 제어하기 위해 손실을 막는 전략을 추가하십시오.
자금 관리 전략을 최적화하고, 합리적인 포지션 크기와 스톱 리스를 설정하고, 단독 손실을 제어한다.
평평한 헤이킹 크로스 전략은 헤이킹 크로스 원칙과 평평한 기술을 결합하여 중장기 트렌드의 전환점을 효과적으로 탐색하고 단기 시장 소음에 방해받지 않습니다. 원래의 헤이킹 크로스 전략에 비해 평평한 처리를 통해 일부 소음을 필터링하여 더 높은 품질의 거래 신호를 생성 할 수 있습니다. 적절한 중단 및 자금 관리 수단으로 장착하면 전략은 안정적인 투자 수익을 얻을 수 있습니다. 그러나 거래자는 지연 후 누락 등의 위험을 예방하는 데 주의를 기울여야하며 전략에 대한 최적화가 필요합니다.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Heikin-Ashi Strategy", overlay=true)
// Plots Color Of Heikin-Ashi Bars while Viewing Candlestics or Bars
//Works on Candlesticks and OHLC Bars - Does now work on Heikin-Ashi bars - But I have verified its accuracy
// Created By User ChrisMoody 1-30-2014 with help from Alex in Tech Support
// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay = input(defval = 1, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 1998)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 1998)
haclose = ((open + high + low + close)/4)//[smoothing]
haopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2
heikUpColor() => haclose > haopen
heikDownColor() => haclose <= haopen
barcolor(heikUpColor() ? aqua: heikDownColor() ? red : na)
if (heikUpColor() )
strategy.entry("LONG", strategy.long, comment="LONG")
if (heikDownColor())
strategy.entry("SHORT", strategy.short, comment="SHORT")
//plot(pos, title="pos", style=line, linewidth=1, color=red )