모멘텀 이동 평균 교차 및 MACD 필터링 하이켄 애쉬 캔들 전략


생성 날짜: 2024-01-02 12:18:03 마지막으로 수정됨: 2024-01-02 12:18:03
복사: 0 클릭수: 932
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

모멘텀 이동 평균 교차 및 MACD 필터링 하이켄 애쉬 캔들 전략

개요

이 전략은 하이컨 애쉬 기술을 사용하여 평행선 교차 신호와 MACD 지표에 보조하여 필터링하여 트렌드 추적 전략을 구축합니다. 전략은 상반된 시간 동안의 시장 트렌드를 포착하여 평행선 교차를 사용하여 거래 신호를 생성하고 MACD 지표를 통해 가짜 신호를 필터링합니다.

전략 원칙

이 전략은 세 가지 주요 기술 지표를 사용합니다.

  1. 하이컨 애쉬 기술. 이 기술은 종점 가격을 수정하여 무 그림자 을 구성한다. 이것은 가격의 진정한 흐름을 더 명확하게 나타낼 수 있으며, 과도한 시장 소음을 필터링 할 수 있다.

  2. 지수 이동 평균선 ((EMA) ᆞ 빠른 EMA는 단기 트렌드를 잡기 위해 사용되며, 느린 EMA는 장기 트렌드 방향을 판단하기 위해 사용된다. 빠른 EMA 위쪽에서 느린 EMA를 통과하면 구매 신호가 발생하며, 빠른 EMA 아래에서 느린 EMA를 통과하면 판매 신호가 발생한다.

  3. MACD 지표. 이 지표는 빠른 느린 EMA와 결합하여 MACD 주선이 신호선보다 높을 때 호불호 신호, 주선이 신호선보다 낮을 때 하향 신호이다.

이 전략의 거래 신호는 빠른 EMA와 느린 EMA의 골드포크 사다리에서 나온다. 가짜 신호를 필터링하기 위해, 전략은 MACD 지표에 보조 판단을 도입하고, MACD 지표가 동방향 신호를 냈을 때만 최종 거래 신호를 생성합니다. 이것은 잘못된 거래의 가능성을 크게 감소시킵니다.

구체적으로, 빠른 EMA 상에서 느린 EMA ((금叉) 와 MACD 주선이 Signal 선보다 높게 나타나면 구매 신호가 발생한다. 빠른 EMA 아래에서 느린 EMA ((死叉) 와 MACD 주선이 Signal 선보다 낮게 나타나면 판매 신호가 발생한다.

이 방식은 MACD 지표와 평행선 교차를 결합하여 시장의 중요한 전환점을 효과적으로 식별하고, 시세상황을 파악할 수 있다.

전략적 이점

이 전략에는 다음과 같은 몇 가지 장점이 있습니다.

  1. 트렌드 신호를 잡는 확률이 크게 높아진다. 하이켄 애쉬 기술을 사용하면 트렌드를 더 명확하게 판단할 수 있으며, 양평선 교차 시스템이 신호를 생성하는 효과도 매우 강하며, MACD 필터링과 결합한 후 신뢰도가 높다.

  2. 철회 위험은 낮다. MACD는 보조 판단 지표로써, 어느 정도 상쇄 손실 위험을 회피하고, 평점 상쇄 손실을 효과적으로 줄일 수 있다.

  3. 조정 가능한 매개 변수: 하이컨 애쉬의 주기, 평균선 시스템의 빠른 속도, MACD의 매개 변수 등이 시장에 따라 조정될 수 있어 전략이 다른 상황에 더 잘 적응할 수 있다.

  4. 구현은 단순하고 명확하다. 하이켄 아쉬으로 표시된 가격, 일반적인 지표로 결정, 프로그래밍이 쉽고, 코드가 간결하고 이해하기 쉽다.

  5. 자본 사용 효율성이 높다. 전략적 트렌드 추적법을 채택하면, 대부분의 경우 자본이 시장의 주류 방향에 따라 작동하여 자본량을 효과적으로 활용하여 수익을 창출 할 수 있습니다.

전략적 위험

이 전략에는 다음과 같은 위험도 있습니다.

  1. 시장이 급격하게 변동할 때 큰 손실이 발생할 수 있습니다. 가격이 급격히 상승하거나 단기간에 빠르게 반전 할 때, 손해 방지 조치를 뚫고 예상 이상의 손실이 발생할 수 있습니다.

  2. MACD 필터링 오판의 가능성. MACD는 보조 지표로서도 오판을 일으킬 수 있으며, 이로 인해 전략적 오류가 발생한다.

  3. 매개 변수 설정이 너무 딱딱하다. 고정된 매개 변수 조합이 변동하는 시장에 적응할 수 없을 수도 있고, 좋은 거래 기회를 놓칠 수도 있다.

  4. 거래 빈도가 너무 높을 수 있다. 트렌드를 따라 포지션을 구축하는 방법은 거래 빈도를 증가시키고 거래 비용과 지점 손실을 증가시킬 수 있다.

위와 같은 위험을 피하고 줄이기 위해 다음과 같은 조치를 취할 수 있습니다.

  1. 스톱로스를 설정하여 단편적 손실을 제한하십시오. 또한 너무 많이 추격하지 말고, 포지션 크기를 제어하십시오.

  2. MACD의 매개 변수를 조정하여 보조 지표가 잘못된 신호를 보내는 확률을 줄일 수 있다. 또한 다른 지표를 도입하여 여러 가지 검증을 할 수 있다.

  3. 매개 변수 최적화 메커니즘을 구축한다. 기계 학습과 같은 방법을 사용하여 매개 변수 조합을 자동으로 최적화하여 전략을 더 적합하게 만듭니다.

  4. 거래 신호의 트리거 조건을 적절히 완화하여 거래의 빈도를 줄일 수 있다. 또한 거래가 트리거되기 전에 최소 가격 변동량을 설정할 수 있다.

전략 최적화

이 전략은 다음과 같은 부분에서 최적화할 수 있는 큰 여지가 있습니다.

  1. 하이켄 애쉬의 시기를 최적화한다. 더 긴 또는 더 짧은 주기를 테스트하여 시장의 흐름을 더 잘 표현하는 시기를 찾을 수 있다.

  2. 평균선 시스템의 파라미터를 조정한다. EMA의 주기적 파라미터를 수정하여 최적의 파라미터 조합을 찾는다.

  3. MACD 지표의 다중 변수 최적화. MACD의 급속한 평균선과 신호선의 변수를 조정하여 최적의 변수를 찾습니다.

  4. 전략적 위험 관리 모듈의 강화. 더 과학적인 중지 손실 및 중지 규칙을 설정하고, 포지션 제어, 자금 관리 등의 모듈도 추가할 수 있다.

  5. 더 많은 보조 지표를 추가한다. 예를 들어, KD, RSI와 같은 다른 지표를 도입하여 다중 인자 검증을 통해 신호 품질을 향상시킨다.

  6. 기계 학습 기술을 적용한다. 신경 네트워크, 유전 알고리즘과 같은 방법을 사용하여 실시간으로 전략 매개 변수를 최적화하여 전략을 더 적응시킬 수 있다.

기술 지표의 반복적 조합, 매개 변수의 지속적인 최적화, 위험 제어 모듈의 강화와 같은 방법을 통해 이 전략은 더 향상되고, 더 안정적이고, 더 효율적인 수익을 얻을 수 있습니다.

요약하다

이 전략은 하이컨 애쉬과 평평선 교차 시스템을 결합하여 시장 추세를 포착하고 MACD 지표로 보조 필터링을 수행하여 중요한 전환점을 효과적으로 식별하여 신뢰성 높은 거래 신호를 생성할 수 있습니다. 이 전략은 재측량 성능이 우수하며, 수익률이 높고, 회수 위험이 작고, 조정성이 강합니다. 또한 위험 관리에 주의를 기울이고 극단적인 상황의 충격을 방지해야합니다. 지속적인 최적화 및 개선으로 이 전략은 양적 거래 효율적인 전략이 될 잠재력을 가지고 있습니다.

전략 소스 코드
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Heikin Ashi Strategy  V1 by nachobuey

strategy("Heikin Ashi Strategy  V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame",  defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1   = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="60")
macds = input(1,title="MACD Shift")




//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)


//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )


strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)

plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)

alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")