더블 이동 평균 교차 거래 추세 추종 전략


생성 날짜: 2024-01-05 15:32:06 마지막으로 수정됨: 2024-01-05 15:32:06
복사: 1 클릭수: 677
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

더블 이동 평균 교차 거래 추세 추종 전략

개요

쌍평평선 교차 거래 전략은 트렌드 추적 전략이다. 그것은 빠른 이동 평균 (MACD) 과 느린 이동 평균의 교차를 구매 및 판매 신호로 사용합니다. 빠른 이동 평균이 아래에서 느린 이동 평균을 스캔 할 때 구매 신호를 생성; 빠른 이동 평균이 위에서 아래로 느린 이동 평균을 스캔 할 때 판매 신호를 생성한다.

전략 원칙

이 전략은 MACD 지표에 기초한다. MACD 지표는 가격의 동적 변화를 반영하는 두 가지 다른 변수의 이동 평균의 차이다. 구체적으로, 빠른 이동 평균 (설정된 변수는 12 일선) 을 빼고 느린 이동 평균 (설정된 변수는 26 일선) 을 얻는 차이는 MACD 기둥이라고 한다. 흔들림을 없애기 위해 MACD 지표에는 DEA 선 또는 신호 선이 도입되며, 일반적으로 MACD의 9 일 중화 이동 평균이다.

MACD 기둥이 DEA 선을 아래로 돌파하여 긍정적 영역에 진입하면, 단기 평균선 위에 장기 평균선을 닦아주는 것을 나타내며, 주가 트렌드가 상승으로 전환되어 구매 신호를 발생시킨다. MACD가 DEA 선을 위쪽으로 내려가며, 마이너스 영역에 진입하면, 단기 평균선 아래에 장기 평균선을 닦아주는 것을 나타내며, 주가 트렌드가 하향으로 전환되어 판매 신호를 발생시킨다.

이 전략은 MACD 기둥과 DEA 선의 교차를 이용하여 구매와 판매의 시간을 판단하는 것이다. MACD 기둥 위에 DEA 선을 때 구매하고, 아래에 DEA 선을 때 판매한다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. captured 가격 동향의 변화를 순차적으로 파악할 수 있다.
  2. 간단하고 명확하고, 이해하기 쉽고, 실행하기 쉽죠.
  3. 매개 변수는 고정되어 있어 자주 조정할 필요가 없다.
  4. 다른 시간대에도 적용할 수 있다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. whipsaws는 여러번의 잘못된 신호를 생성할 수 있다. 즉, 가로판에서 반복적으로 구매를 트리거할 수 있다.
  2. 지연 (lagging) 지연 (lagging) 은 가격변동의 최적의 시기를 놓칠 수 있는 지연의 일종이다.
  3. over optimization 변수는 지나치게 최적화되기 쉽고 실제 효과는 좋지 않을 수 있다.

위험을 줄이기 위해, 적절하게 파라미터를 조정할 수 있습니다, 또는 다른 지표와 결합하여 사용할 수 있습니다. 예를 들어, 물가 지표, 변동률 지표 등. 또한, 합리적인 중지 손실 및 중지 전략도 중요합니다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 매개 변수 최적화. 다양한 매개 변수 조합을 테스트하여 최적의 매개 변수를 찾을 수 있다. 그러나 과잉 최적화를 피하는 것을 주의한다.

  2. 다른 지표들과의 조합. 수량 지표, 변동률 지표 등을 도입하여 더 강력한 조합 전략을 형성할 수 있다.

  3. 손해 차단 전략. 합리적인 손해 차단 지점을 설정하여 위험을 효과적으로 제어 할 수 있습니다.

  4. 적응성 최적화. 이 전략은 실제 상황에 따라 조정할 수 있습니다.

요약하다

쌍평선 교차 전략은 가격 추세의 변화를 포착하여 저비용의 트렌드 추적 거래를 실현한다. 그것은 간단하고 실용적이며, 구현하기 쉬운, 초보자에게 적합한 입문 전략이다. 그러나 이 전략에는 또한 결함이 있으며 위험을 예방하는 데 주의를 기울여야 한다. 지속적인 최적화와 개선으로 이 전략의 실제 효과를 더 좋게 만들 수 있으며, 권장된다.

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

//@version=3
strategy("MACD Strategy by Forbes",default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false)

fastLength = input(20)
slowlength = input(40)
MACDLength = input(4)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2011, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350

f1 = plot(MACD,color=red)
s1 = plot(aMACD,color=blue)
plotColor = if delta > 0
    delta > delta[1] ? lime : green
else 
    delta < delta[1] ? maroon : red

plot(delta, color=plotColor, style=columns)

if (crossover(delta, 0))
    strategy.entry("Buy", true, when=window(), comment="Buy")

if (crossunder(delta, 0))
    strategy.close_all(when=window())

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)