동력 지표 크로스오버 전략

저자:차오장, 날짜: 2024-02-01 14:50:26
태그:

img

전반적인 설명

이 전략은 RSI 지표와 그 이동 평균의 교차를 거래 신호로 사용하며, 일반적인 모멘텀 지표 전략에 속한다. 그것의 핵심 원칙은 RSI 지표와 RSI의 단순한 이동 평균 SMA_RSI 사이의 차이를 추적하고, 그 다음이 차이의 간단한 이동 평균 SMA_RSI2를 계산하는 것이다. SMA_RSI2가 임계점을 넘을 때, 긴 거리로 가자. 임계점을 넘을 때, 포지션을 닫는다.

전략 원칙

이 전략은 3개의 매개 변수를 사용하여 RSI 지표와 서로 다른 기간의 두 가지 간단한 이동 평균을 계산합니다. 먼저, 기간 길이와 함께 정규 RSI 지표를 계산합니다. 그 다음 RSI의 length2 기간 간단한 이동 평균 SMA_RSI를 계산합니다. 마지막으로, RSI와 SMA_RSI 사이의 차이 델타를 계산하고, 그 다음 델타의 length3 기간 간단한 이동 평균 SMA_RSI2를 계산합니다. SMA_RSI2가 사용자 정의 임계값을 넘으면 긴 거래를하십시오. SMA_RSI2가 임계값을 넘으면 포지션을 닫습니다.

따라서, RSI 지표 이동 평균의 교차를 기반으로 한 거래 신호 전략이 형성됩니다. SMA_RSI2는 차이 델타의 이동 평균이기 때문에 RSI 지표의 추진력과 트렌드 변화를 반영하여 RSI 지표 자체의 본질을 파악 할 수 있습니다.

이점 분석

이 전략은 RSI 지표와 이동 평균의 장점을 결합하여 가격 추세를 따르고 소음으로 오해하는 것을 피합니다. 차이 델타를 계산하고 부드럽게 만드는 아이디어는 더 명확한 거래 신호를 생성합니다. 전반적으로이 전략은 더 작은 드로다운과 더 안정적인 이익을 가지고 있습니다.

구체적인 장점은 다음과 같습니다.

  1. 델타를 사용하여 가격 변동을 부드럽게하고 잘못된 신호를 줄이십시오.
  2. 이동평균 교차의 단순하고 직접적인 형태, 쉽게 마스터
  3. 시장에 맞게 더 조정 가능한 매개 변수
  4. 안정적인 이익, 더 적은 수요

위험 과 개선

또한 이 전략에는 다음과 같은 위험 요소가 있습니다.

  1. 중요한 시장 변동에서 더 큰 스톱 로스
  2. 변동적인 추세로 불안정한 이익

다음과 같은 측면에서는 개선이 가능합니다.

  1. 안정성을 높이기 위해 매개 변수를 최적화
  2. 단일 손실을 제어하기 위해 스톱 손실 메커니즘을 추가
  3. 신호 품질을 향상시키기 위해 다른 지표와 결합

결론

이 전략은 비교적 간단하고 보편적입니다. 델타 수학적 연산을 통해 RSI 지표 자체의 실용성을 높이고 크로스오버를 사용하여 판단함으로써 좋은 드라우다운 컨트롤을 가지고 있으며 매우 실용적인 모멘텀 지표 전략입니다.


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

//@version=4
strategy ("RSI&SMA", overlay=false )
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp((9999), (1), (1), 0, 0)
_testPeriod() => true

length = input(3, minval=1, title = "RSI period")
length2 = input(21, minval=1, title = "RSI SMA-1")
length3 = input(13, minval=1, title = "RSI SMA-2")
threshold  = input(0,step=0.5, title="Threshold")
filter = input(false, title="Use filter?") 


up = rma (max (change (close), 0), length)
down = rma (-min (change (close), 0), length)
RSI = down == 0? 100: up == 0? 0: 100-100 / (1 + up / down)

SMA_RSI = sma(RSI, length2)
delta = RSI-SMA_RSI
SMA_RSI2 = sma(delta, length3)
Long = crossover(SMA_RSI2, threshold) 
Short = crossunder(SMA_RSI2, threshold) 

plot(threshold, color=color.silver)
plot(SMA_RSI2, color= SMA_RSI2 > 0 ? color.blue : color.purple)
//plot(SMA_RSI, color=color.green)
//plot(delta, color=color.red)

long_condition =  Long and (filter ? close > ema(close, 200) : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  Short
strategy.close('BUY', when=short_condition)


더 많은