이동평균 크로스오버에 기초한 트렌드 추적 전략

저자:차오장, 날짜: 2024-02-06 11:37:23
태그:

img

전반적인 설명

이 전략은 다른 주기의 EMA 라인을 계산하여 크로스오버 상황을 결정하고 트렌드 추적 거래를 구현하기 위해 시장 트렌드를 판단하기 위해 RSI 지표를 사용합니다. 핵심 아이디어는: 단기 EMA 라인이 더 긴 주기의 EMA 라인을 밑에서 넘을 때 구매 신호를 생성; 단기 EMA가 더 긴 주기의 EMA 라인을 넘을 때 판매 신호를 생성합니다. 그러한 EMA 크로스오버 신호를 사용하여 전략은 시장 트렌드를 추적합니다.

전략 원칙

이 전략은 주로 EMA의 빠르고 느린 특성을 활용하고 9일, 21일, 51일, 100일 및 200일 라인을 포함한 다양한 주기의 5개의 EMA 라인을 계산합니다. 짧은 주기의 EMA 라인은 가격 변화에 더 빠르게 반응할 수 있으며, 더 긴 주기의 EMA 라인은 소음에 상대적으로 민감하지 않으며 시장 트렌드를 반영 할 수 있습니다.

짧은 주기의 EMA 라인이 밑에서 더 긴 주기의 EMA 라인을 넘을 때, 그것은 가격이 상승하기 시작하고 구매 신호를 유발한다는 것을 나타냅니다. 짧은 주기의 EMA가 더 긴 주기의 EMA 아래를 넘을 때, 그것은 가격이 감소하기 시작하고 판매 신호를 유발한다는 것을 나타냅니다. 따라서 EMA 라인의 교차 상황을 판단함으로써 시장의 상승 추세 또는 하락 추세를 결정할 수 있습니다.

또한, 이 전략은 또한 보조 판단을 위한 RSI 지표를 도입한다. 구매 신호는 RSI가 65보다 높을 때만 발생하고, 판매 신호는 RSI가 40보다 낮을 때만 발생한다. 이것은 일부 잘못된 신호를 필터링하고 거대한 가격 변동에 의해 잘못 인도되는 것을 피하는 데 도움이됩니다.

장점

이 전략의 가장 큰 장점은 시장 트렌드를 효과적으로 추적 할 수 있다는 것입니다. EMA의 빠르고 느린 특성을 활용하여 여러 그룹 EMA 라인을 설정하고 크로스오버 상황을 판단함으로써 시장의 중장기 트렌드를 파악 할 수 있습니다. 이러한 유형의 트렌드 추적 전략은 상대적으로 높은 승률을 가지고 있으며 장기 보유에 적합합니다.

또한, 이 전략은 보조 판단을 위한 RSI 지표를 도입하여 소음을 효과적으로 필터링하고 단기 시장 변동에 의해 잘못 인도되는 것을 방지하여 거래 신호의 신뢰성을 향상시킵니다. RSI 매개 변수는 14로 설정되어 상대적으로 중요한 과반 구매/ 과반 판매 상황을 포착 할 수 있습니다.

결론적으로, 이 전략은 이동 평균 트렌드 추적과 RSI 과잉 구매/ 과잉 판매 판단의 장점을 결합합니다. 그것은 시장 트렌드를 포착 할뿐만 아니라 잘못된 신호를 효과적으로 필터링하여 상대적으로 높은 신뢰성을 가진 트렌드 추적 전략으로 만듭니다.

위험성

이 전략의 가장 큰 위험은 약간의 지연이 있을 것입니다. EMA 자체는 가격 변화에 반응 할 때, 특히 더 긴 주기의 EMA에 대해 약간의 지연 속성을 가지고 있습니다. 이것은 구매 및 판매 신호의 발생이 지연 될 것이라는 것을 의미합니다. 급격한 가격 반전의 경우 큰 부동 손실이 발생할 수 있습니다.

또한 시장이 범위 내에서 변동 할 때 EMA 라인 사이의 크로스오버 신호가 자주 발생합니다. 14의 RSI 매개 변수는 너무 많은 신호를 필터링하여 거래 기회를 놓칠 수 있습니다.

위의 위험을 줄이기 위해, 우리는 더 긴 주기의 EMA 기간을 적절하게 단축하고 신호를 더 민감하게 만들기 위해 RSI의 과잉 구매 / 과잉 판매 문턱을 느슨하게 할 수 있습니다. 물론 이것은 더 높은 잘못된 신호 위험에 노출됩니다. 최적의 균형점을 찾기 위해 실제 시장 상황에 따라 매개 변수 조정이 필요합니다.

최적화 방향

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

  1. EMA 기간 매개 변수를 최적화합니다. 최고의 신호 민감성과 신뢰성을 찾기 위해 EMA 기간의 더 많은 조합을 시도합니다.

  2. RSI 매개 변수를 최적화합니다. 신호를 더 자주 유발하기 위해 과잉 구매 / 과잉 판매 범위를 적절히 확대하거나 잘못된 신호를 줄이기 위해 좁히십시오.

  3. 스톱 로스 메커니즘을 추가합니다. 예를 들어 스톱 로스 이동이나 대기 주문을 통해 수익을 확보하고 손실 위험을 줄이십시오.

  4. 신호 신뢰성을 높이기 위해 KDJ, MACD와 같은 다른 지표를 포함합니다.

  5. 시장의 변동성에 따라 역동적으로 포지션 관리를 최적화합니다.

결론

이 전략은 트렌드 추적 및 과잉 구매/ 과잉 판매 판단의 아이디어를 통합함으로써 효과적인 잘못된 신호 필터링으로 중장기 트렌드를 캡처 할 수 있습니다. 매개 변수 최적화 및 전략 통합 후, 평형적이고 효율적인 양적 거래 시스템을 형성 할 수 있으며, 이동 평균 전략과 지표 융합 전략의 전형적인 사례를 나타냅니다.


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Ravikant_sharma

//@version=5

strategy('new', overlay=true)

start = timestamp(1990, 1, 1, 0, 0)
end = timestamp(2023, 12, 12, 23, 59)
ema0 = ta.ema(close, 9)
ema1 = ta.ema(close, 21)
ema2 = ta.ema(close, 51)
ema3 = ta.ema(close, 100)
ema4 = ta.ema(close, 200)

rsi2=ta.rsi(ta.sma(close,14),14)
plot(ema0, '9', color.new(color.green, 0))
plot(ema1, '21', color.new(color.black, 0))
plot(ema2, '51', color.new(color.red, 0))
plot(ema3, '200', color.new(color.blue, 0))   

//plot(ema4, '100', color.new(color.gray, 0)) 


//LongEntry = (  ta.crossover(ema0,ema3)  or  ta.crossover(ema0,ema2) or  ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) //
LongEntry=false
if ta.crossover(ema0,ema1) 
    if rsi2>65
        LongEntry:=true
if ta.crossover(ema1,ema2)
    if rsi2>65
        LongEntry:=true
        
LongExit =  ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98)



if true
    if(LongEntry and rsi2>60)
        strategy.entry('Long', strategy.long, 1)
    if(LongExit)
        strategy.close('Long') 



더 많은