더블 MACD 양적 거래 전략


생성 날짜: 2023-11-13 18:04:07 마지막으로 수정됨: 2023-11-13 18:04:07
복사: 0 클릭수: 1057
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

더블 MACD 양적 거래 전략

개요

이 전략은 쌍 EMA 평균선 시스템과 RSI 지표의 조합을 사용하여 시장의 추세를 판단하면서 거래 신호를 발송하는 것을 보조하는 경향 추적 전략의 일종이다. 이 전략은 간단하고 사용하기 쉽고, 여러 개의 대장 지수 및 디지털 통화에 적용되며, 2013 년부터 현재까지의 회측에서 500% 이상의 누적 수익을 얻었다.

전략 원칙

이 전략은 두 개의 다른 파라미터 설치를 가진 MACD를 주요 거래 지표로 사용합니다. 첫 번째 MACD는 10주기 짧은 평균선과 22주기 긴 평균선, 보조선은 9주기 평균선입니다. 두 번째 MACD는 21주기 짧은 평균선과 45주기 긴 평균선, 보조선은 20주기 평균선입니다.

첫 번째 MACD의 DIFF 라인에서 0 축을 통과하면 구매 신호가 발생하고, 다음 0 축을 통과하면 판매 신호가 발생한다. 두 번째 MACD의 DIFF 라인에서 나오는 신호는 첫 번째 MACD 신호를 확인하는 역할을한다.

동시에, 이 전략은 가격 동력을 계산하는 공식을 채택하여 최신 K 선의 종전 가격 + 최고 가격과 이전 K 선의 종전 가격 + 최고 가격을 나누고, 1보다 큰 결과가 현재 상승 추세에 있음을 나타내고, 구매 신호를 생성하고, 반대로 판매 신호를 생성한다.

마지막으로, Stoch RSI의 K 선이 20보다 크면 판매 신호를 확인한다.

우위 분석

이 전략은 쌍 EMA 조합으로 추세를 판단하여 가짜 돌파구를 효과적으로 필터링 할 수 있습니다. 보조 동력 공식은 또한 흔들림으로 인해 잘못된 신호를 피할 수 있습니다. 스토흐 RSI 지표의 사용은 과매도 지역에서 판매 신호를 발송하여 상점을 피 할 수 있습니다.

이 전략은 단지 몇 가지 일반적인 지표의 간단한 조합을 사용하며, 너무 복잡한 논리적 관계가 없으며, 매우 쉽게 이해하고 수정할 수 있다. 파라미터 설정 또한 매우 보편적이며, 다른 품종에 대해 최적화 할 필요가 없으며, 적응력이 강하다.

재검토 결과에 따르면, 이 전략은 주식 지수, 디지털 통화 등과 같은 여러 품종에서 좋은 누적 수익을 얻었으며, 최대 회수 제어가 더 이상적이다. 매우 일반적인 트렌드 추적 전략으로 사용할 수 있다.

위험 분석

이 전략의 주요 위험은 평행선을 사용하여 판단하는 데 있습니다. 가격의 큰 변동이있을 때 휘프사우가 발생하여 손실이 발생할 수 있습니다. 또한 단편적 손실을 제어하기 위해 손실을 중지 할 수 없습니다.

Stoch RSI가 과매매에 대한 판단에 미치는 영향은 그다지 바람직하지 않으며, 반전 신호를 놓치는 경우가 종종 발생한다.

만약 가격이 급격히 하락하지만 MACD 지표는 아직 사각지대가 형성되지 않았다면, 이 전략은 포지션을 계속 잃게 할 것이다.

최적화 방향

단편 손실을 제어하기 위해 스톱을 설정하는 것을 고려할 수 있다. 예를 들어 ATR 스톱을 설정하거나 종결 가격보다 낮은 평균선에서 스톱을 한다.

다른 지표를 추가하여 보조할 수 있습니다. 예를 들어, KD 지표 또는 브린 밴드 지표와 Stoch RSI를 조합하여 과매매를 판단하는 데 더 신뢰할 수 있습니다.

거래량 분석을 증가시킬 수 있습니다. 예를 들어, 많은 양의 매장량을 줄이면 스톱로드를 높일 수 있습니다.

다른 파라미터 조합을 테스트하여 MACD의 주기 파라미터를 최적화할 수 있다. 또한 다른 주기의 MACD를 추가하여 복수확인을 구성하는 것을 테스트할 수 있다.

요약하다

이 쌍MACD 양적 거래 전략의 전체적인 아이디어는 간단하고 명확하며, 쌍EMA 조합 판단 트렌드를 채택하고, 동력 지표가 보조되어 잘못된 신호를 피하여 좋은 거래 시기를 수 있다. 이 전략의 매개 변수 설정은 일반적이며, 실제 성능은 안정적이며, 기본 전략으로 최적화 조정할 수 있다. 다음 단계는 중지 손실 방식을 수정하고, 거래량 분석을 추가하고, 다른 지표를 조합하여 전략의 안정성과 수익률을 더욱 강화할 수 있다.

전략 소스 코드
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Multiple MACD RSI simple strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true)

fastLength = input(10)
slowlength = input(22)
MACDLength = input(9)

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

fastLength2 = input(21)
slowlength2 = input(45)
MACDLength2 = input(20)

MACD2 = ema(open, fastLength2) - ema(open, slowlength2)
aMACD2 = sma(MACD2, MACDLength2)
delta2 = MACD2 - aMACD2


uptrend = (close + high)/(close[1] + high[1])
downtrend = (close + low)/(close[1] + low[1])

smoothK = input(2, minval=1, title="K smoothing Stoch RSI")
smoothD = input(3, minval=1, title= "D smoothing for Stoch RSI")
lengthRSI = input(7, minval=1, title="RSI Length")
lengthStoch = input(8, minval=1, title="Stochastic Length")
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
h0 = hline(80)
h1 = hline(20)

yearin = input(2018, title="Year to start backtesting from")

if (delta > 0) and (year>=yearin) and (delta2 > 0) and (uptrend > 1)
    strategy.entry("buy", strategy.long, comment="buy")

if (delta < 0) and (year>=yearin) and (delta2 < 0) and (downtrend < 1) and (d > 20)
    strategy.entry("sell", strategy.short, comment="sell")

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