이중 이동 평균 골든 크로스 전략은 이동 평균을 기반으로 한 양적 거래 전략이다. 다른 기간의 이동 평균을 계산함으로써 시장 추세와 거래 기회를 판단합니다. 단기 이동 평균이 장기 이동 평균보다 높을 때 골든 크로스는 구매 신호로 형성됩니다. 단기 이동 평균이 장기 이동 평균보다 낮을 때 죽음의 십자가가 판매 신호로 형성됩니다.
이중 이동 평균 골든 크로스 전략의 핵심 논리는 이동 평균의 매끄러운 특성에 있다. 이동 평균은 시장 소음을 효과적으로 필터하고 일반적인 트렌드 방향을 나타낼 수 있다. 단기 이동 평균은 최근 기간 동안 가격 변동 정보를 캡처하여 가격 변화에 더 민감하다. 장기 이동 평균은 시장의 장기 트렌드를 반영하여 최근 가격 변화에 더 느리게 반응한다. 단기 이동 평균이 장기 이동 평균을 넘으면 시장이 새로운 상승 추세를 형성하고 있음을 나타낸다. 단기 이동 평균이 장기 이동 평균보다 낮을 넘으면 상승 추세가 끝나고 있음을 암시하며 출입 입장을 고려해야 한다.
이중 이동 평균 전략의 또 다른 핵심 포인트는 RSI 지표입니다. RSI는 시장이 과반 구매 또는 과반 판매 상태에 있는지 효과적으로 결정할 수 있습니다. RSI를 통합함으로써 시장 전환점에 대해 잘못된 거래 신호를 생성하지 않습니다. 이 전략은 RSI가 기준을 충족하면 구매 및 판매 신호를 생성 할 것입니다.
구체적으로, 거래 논리는 다음과 같습니다.
여러 매개 변수를 결합함으로써 이 전략은 잘못된 신호를 효과적으로 필터링하고 거래 결정의 정확성을 향상시킬 수 있습니다.
이중 이동 평균 골든 크로스 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략과 관련된 위험은 다음과 같습니다.
위험을 완화하기 위해 다음과 같은 측면에서 최적화를 할 수 있습니다.
이중 이동평균 골든 크로스 전략은 더 발전할 여지가 있습니다.
이중 이동 평균 골든 크로스 전략은 고전적인 규칙 기반의 양적 거래 전략이다. 유연한 매개 변수 조정과 좋은 백테스트 결과로 구현하기가 쉽습니다. 초보자 양자에 대한 훌륭한 출발점으로 작용합니다. 그러나 일부 본질적인 한계가 있습니다. 추가 연구와 최적화로 지속적인 수익성을 위해 더 지능적이고 안정적인 시스템으로 향상 될 수 있습니다.
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Based on Larry Connors RSI-2 Strategy - Lower RSI strategy(title="EA_3Minute_MagnetStrat", shorttitle="EA_3Minute_MagnetStrat", overlay=false) src = close, //RSI CODE up = rma(max(change(src), 0), 30) down = rma(-min(change(src), 0), 30) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) //Criteria for Moving Avg rules ma20= vwma(close,20) ma50 = vwma(close,50) ma100= vwma(close,100) //Rule for RSI Color //col = ma30 > ma50 > ma200 and rsi <=53?lime: ma50 < ma200 and rsi >= 60?red : silver long1 = ma20 > ma50 and ma50 > ma100 and rsi < 50 short1 = ma20 < ma50 and ma50 < ma100 and rsi > 48.5 //plot(rsi, title="RSI", style=line, linewidth=1,color=col) //plot(100, title="Upper Line 100",style=line, linewidth=3, color=aqua) //plot(0, title="Lower Line 0",style=line, linewidth=3, color=aqua) //band1 = plot(60, title="Upper Line 60",style=line, linewidth=1, color=aqua) //band0 = plot(44, title="Lower Line 40",style=line, linewidth=1, color=aqua) //fill(band1, band0, color=silver, transp=90) //strategy.entry ("buy", strategy.long, when=long) //strategy.entry ("sell", strategy.short, when=short) //plot(long,"long",color=green,linewidth=1) //plot(short,"short",color=red,linewidth=1) // long = long1[1] == 0 and long1 == 1 short = short1[1] == 0 and short1 == 1 longclose = long[3] == 1 shortclose = short[3] == 1 //Alert strategy.entry("short", strategy.short,qty = 1, when=short) strategy.entry("long", strategy.long,qty=1, when=long) plot(long,"long",color=green,linewidth=1) plot(short,"short",color=red,linewidth=1) strategy.close("long",when=longclose) strategy.close("short",when=shortclose) //strategy.exit(id="long",qty = 100000,when=longclose) //strategy.exit(id="short",qty = 100000,when=shortclose) plot(longclose,"close",color=blue,linewidth=1) plot(shortclose,"close",color=orange,linewidth=1) //strategy.exit(id="Stop", profit = 20, loss = 100)