리소스 로딩... 로딩...

3차 상대적 강도 지수 양적 거래 전략

저자:차오장, 날짜: 2024-05-15 10:23:08
태그:RSISMA

img

전반적인 설명

이 전략은 주로 상대적 강도 지수 (RSI) 를 사용하여 시장에서 과반 구매 및 과반 판매 조건을 결정하며, 트렌드 필터로서 200 일 간 간편 이동 평균 (SMA) 이상의 가격을 사용하여 거래에 참여할지 여부를 결정합니다. 이 전략은 세 가지 RSI 지표를 통해 입시 조건을 구성합니다. 단기 RSI가 35 이하이며 3 개의 연속 기간 동안 하락 추세를 보이는 경우에만, 세 번째 기간 RSI가 60 이하이며 현재 폐쇄 가격이 200 일 간 SMA 이상인 경우, 긴 시간이 걸릴 것입니다. 출구 조건은 RSI가 50 이상을 넘을 때입니다.

전략 원칙

  1. 지정된 기간에 대한 RSI 지표를 계산합니다.
  2. 다음 입수 조건이 충족되었는지 확인합니다.
    • 현재 RSI는 35보다 낮습니다.
    • 현재 RSI는 이전 기간 RSI보다 낮습니다. 이전 기간 RSI는 두번째 이전 기간 RSI보다 낮습니다. 두번째 이전 기간 RSI는 세 번째 이전 기간 RSI보다 낮습니다.
    • 지난 3주기 RSI는 60보다 낮습니다.
    • 현재 폐쇄 가격은 200일 SMA 이상입니다.
  3. 위의 네 가지 조건이 동시에 충족되면 긴 포지션을 개설합니다.
  4. 보유 기간 동안 RSI가 50을 넘으면 포지션을 닫습니다.
  5. 다음 거래에 2-4 단계를 반복합니다.

전략적 장점

  1. RSI를 사용하여 과반 구매 및 과반 판매 조건을 결정하고 과반 판매 지역에서 포지션을 입력하여 시장 반전 기회를 포착 할 수 있습니다.
  2. 세 개의 RSI와 함께 입력 신호를 구성함으로써 잘못된 신호의 확률을 줄이고 신호 신뢰성을 향상시킵니다.
  3. 트렌드 조건으로 200일 이동 평균 이상의 가격을 추가하면 하락 추세에서 거래를 피합니다.
  4. 출구 조건은 간단하고 명확하며, 적시에 수익을 창출 할 수 있습니다.
  5. 전략 논리는 명확하고 이해하기 쉽고 실행하기 쉽습니다

전략 위험

  1. RSI 지표는 신호 지연을 가지고 있으며 가장 좋은 입시 시기를 놓칠 수 있습니다.
  2. 진입 조건은 상대적으로 엄격하여 거래 빈도가 낮고 시장 움직임이 일부 놓칠 수 있습니다.
  3. 시장이 불안정해지면 좋은 성과를 거두지 못할 수도 있고, 빈번한 출입과 출입에 휘말릴 수도 있습니다.
  4. 이 전략은 일방적인 상승 추세를 파악할 수 있을 뿐이고, 추세 반전 이후의 하락 추세를 파악할 수 없습니다.

전략 최적화 방향

  1. 단일 거래 위험을 제어하기 위해 후속 중지 또는 고정 중지 손실을 추가하는 것을 고려하십시오.
  2. 입력 및 출력 신호의 신뢰성 및 신속성을 향상시키기 위해 다른 보조 지표와 RSI의 조합을 연구하십시오.
  3. 신호 신뢰성을 보장하면서 거래 빈도를 향상시키기 위해 입시 조건을 최적화합니다.
  4. 트렌드 강도와 변동성에 기초한 포지션을 동적으로 조정하기 위한 포지션 관리 도입
  5. 다른 시장 조건에 적합한 전략 버전을 개발하기 위해 단기 및 중기 결합을 고려하십시오.

요약

이 전략은 트리플 RSI를 통해 엔트리 조건을 구축하고, 장기 이동 평균 이상의 가격과 결합하여 트렌드 필터로, 과잉 판매 반전 설정을 캡처합니다. 전략 논리는 간단하고 명확하며, 구현하고 최적화하는 것이 쉽습니다. 그러나 전략에는 신호 지연, 낮은 거래 빈도 및 단편적인 시장 움직임을 캡처 할 수있는 위험과 단점도 있습니다. 실제 응용에서 지속적인 디버깅과 개선이 필요합니다. 스톱 로스 및 수익 취득, 포지션 관리, 다른 지표 및 다른 방법과 결합하여 전략의 안정성과 수익성을 더욱 향상시킬 수 있습니다.


/*backtest
start: 2023-05-15 00:00:00
end: 2024-05-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@author Honestcowboy
//
strategy("Triple RSI [Honestcowboy]" )

  
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> User Inputs <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

rsiLengthInput = input.int(5, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> VARIABLE CALCULATIONS <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> CONDITIONALS <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

rule1   = rsi<35
rule2   = rsi<rsi[1] and rsi[1]<rsi[2] and rsi[2]<rsi[3]
rule3   = rsi[3]<60
rule4   = close>ta.sma(close, 200)

longCondition = rule1 and rule2 and rule3 and rule4
closeCondition = rsi>50

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> GRAPHICAL DISPLAY <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

hline(30, title="Long Condition Line")
hline(50, title="Exit Condition Line")
plot(rsi)
plotshape(longCondition ? rsi-3 : na, title="Long Condition", style=shape.triangleup, color=color.lime, location=location.absolute)
plotshape(closeCondition and rsi[1]<50? rsi+3 : na, title="Exit Condition", style=shape.triangledown, color=#e60000, location=location.absolute)

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> AUTOMATION AND BACKTESTING <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

if longCondition and strategy.position_size==0
    strategy.entry("LONG", strategy.long)
if closeCondition
    strategy.close("LONG")

관련

더 많은