MACD 히스토그램 전략


생성 날짜: 2023-12-25 11:45:10 마지막으로 수정됨: 2023-12-25 11:45:10
복사: 0 클릭수: 832
avatar of ChaoZhang ChaoZhang
1
집중하다
1623
수행원

MACD 히스토그램 전략

개요

이 전략은 RSI 지표의 MACD를 기반으로 거래 신호를 생성한다. 그것은 RSI 지표가 시장의 과매매를 판단하는 특성과 시장의 추세와 동력의 변화를 판단하는 MACD의 장점을 결합하여 여러 지표를 사용하여 거래 신호를 제공하는 통합적인 전략을 고안했다.

전략 원칙

이 전략은 먼저 RSI 지표를 계산하고 RSI 지표를 기반으로 MACD 지표를 계산한다. RSI 지표는 시장의 과매매 상황을 판단하고 MACD 지표는 시장의 추세와 동력의 변화를 포착한다.

구체적으로, 전략은 먼저 14주기 RSI 지표를 계산한다. 그리고 RSI 지표를 기반으로 MACD 지표를 계산한다. 12주기 및 26주기 EMA 평균선과 9주기 신호선도 포함된다. MACD 기둥 도표를 계산한다.

MACD 기둥형 도표 상에서 0축을 통과할 때 구매 신호를 생성하고, MACD 기둥형 도표 아래에서 0축을 통과할 때 판매 신호를 생성한다. 따라서 RSI를 사용하여 시장의 과매매를 판단하고 동시에 MACD를 사용하여 시장의 추세와 동력의 변화를 판단하여 거래 신호를 생성한다.

전략적 이점

이 전략은 RSI와 MACD의 두 지표의 장점을 결합하여 시장의 상태를 더 포괄적으로 판단할 수 있으며 신호는 더 신뢰할 수 있습니다.

  1. RSI를 이용하여 과매매를 판단하여 주식을 선택하고 가짜 돌파구를 방지할 수 있다.

  2. MACD 지표는 트렌드와 동력의 변화를 판단하고 거래 신호는 더 명확하다.

  3. RSI는 MACD와 결합하여 여러 가지 요소를 통합하여 가짜 신호를 필터링 할 수 있습니다.

전략적 위험

  1. RSI와 MACD의 매개 변수 설정은 전략의 성능에 영향을 미치며, 최적화를 조정할 필요가 있다.

  2. 다중 지표 조합은 전략의 복잡성을 증가시키고 오류의 확률을 증가시킵니다.

  3. MACD 거래 신호는 지연될 수 있으며, 다른 지표와 결합하여 보조 판단이 필요합니다.

전략 최적화

  1. RSI와 MACD의 변수를 최적화하여 최적의 변수 조합을 찾습니다.

  2. KDJ, 브린 띠 등과 같은 다른 지표 판단을 추가하여 지표 클러스터를 형성하고 신호 정확도를 향상시킵니다.

  3. 단기 손실을 통제하기 위해 Stop Loss 전략에 참여하십시오.

  4. 포지션 개설 및 평화 포지션 논리를 최적화하여 충돌 신호를 방지합니다.

요약하다

이 전략은 RSI와 MACD 두 지표의 장점을 통합하여 거래 신호를 형성한다. 그것은 과매매 과매매를 판단하는 동시에 트렌드 및 동력 요소를 고려하여 가짜 신호를 효과적으로 필터링 할 수 있으며, 신호 품질은 높다. 다음 단계는 변수 최적화, 중지 손실 전략 및 기타 지표의 추가와 같은 방법을 통해이 전략을 더 개선하여 신호를 더 정확하고 신뢰할 수 있습니다.

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

//@version=3

strategy(title = "MACD of RSI", overlay = false)
//////////////////////// RSI ///////////////////////////

src = close, len = input(14, minval=1, title="Length")

up = sma(max(change(src), 0), len)

down = sma(-min(change(src), 0), len)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//////////////////////// RSI   //////////////////////////

//////////////// MACD  ////////////////////////////

sourcemacd = rsi

fastLength = input(12, minval=1), slowLength=input(26,minval=1)

signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)

slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA

signal = ema(macd, signalLength)

delta=macd-signal

swap1 = delta>0?green:red


plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)

p1 = plot(macd,color=blue,title='MACD Line')

p2 = plot(signal,color=red,title='Signal')

fill(p1, p2, color=blue)

hline(0)

/////////////////////////MACD  //////////////////////////

// Conditions

longCond = na

sellCond = na

longCond :=  crossover(delta,0)

sellCond :=  crossunder(delta,0)

monthfrom =input(6)

monthuntil =input(12)

dayfrom=input(1)

dayuntil=input(31)

if (  longCond   )

    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")

else

    strategy.cancel(id="BUY")

if ( sellCond   )

    strategy.close("BUY")