빠른 RSI 반전 전략


생성 날짜: 2023-12-01 13:37:20 마지막으로 수정됨: 2023-12-01 13:37:20
복사: 1 클릭수: 645
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

빠른 RSI 반전 전략 다음은 제가 여러분들의 코드와 요청에 따라 작성한 SEO 기사입니다. 전략의 이름, 개요, 전략의 원리, 장점 분석, 위험 분석, 최적화 방향, 그리고 요약입니다.

개요

이 전략은 빠른 RSI 역전 거래 전략으로, 주요 아이디어는 RSI 지표가 초과 오버셀을 초과할 때, 단기 역전 기회를 판단하는 것입니다. 3일 RSI를 지표로 초과 오버셀을 판단하고, 30일 평균선과 결합하여 30일 평균선과 결합하여 돌파 신호를 판단하여 초과 오버셀이 역전될 때 포지션을 열 것입니다.

전략 원칙

이 전략은 두 가지 지표를 사용합니다.

  1. 3일 RSI 지표가 과매매를 판단했다.

  2. 30일 평균선 판단 역전 신호 강도. 30일 평균선보다 반이 큰 역전 K선 개체가 있을 때, 입구 신호로.

특정 거래 규칙:

다단계 신호: RSI 지표는 낮은 값보다 작고, 현재 K선 엔티티는 30일 평균선보다 절반 크다.

공백 신호: RSI 지표가 높은 곳보다 크다 (기본 75), 그리고 현재 K선 엔티티는 30일 평균 선의 절반보다 크다, 공백한다.

스포드 신호: 다수 헤드를 보유할 때 RSI 지표 상위 지점을 뚫고, 또는 빈 헤드를 보유할 때 RSI 지표 아래 지점을 뚫고, K선 엔티티가 30일 평균 선의 절반보다 크면, 평점

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 단기 RSI를 통해 과매매를 판단하여 단기 반전 기회를 빠르게 잡을 수 있습니다.

  2. 평선 필터와 결합하여 신호의 신뢰성을 높이고, 진동상태에서 함축되는 것을 피한다.

  3. 하지만, 이 모든 것은 통제할 수 있고, 최대 철수는 너무 크지 않을 것입니다.

  4. 포지션 제어 규칙이 명확하고, 포지션이 자주 열리지 않습니다.

위험 분석

이 전략에는 다음과 같은 위험도 있습니다.

  1. 역전 실패의 위험. 과매매는 반드시 역전될 수 없다.

  2. 동향상태에서 역동적인 운영 손실 위험.

  3. “그것들이 너무 엄격해서 입시 기회를 놓칠 수 있다”.

  4. 매개 변수 민감도가 높으며, RSI 주기 및 실물 주기 조정이 필요합니다.

최적화 방향

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

  1. RSI 변수를 최적화하여 최적의 주기를 찾습니다.

  2. 평균선 변수를 최적화하여 최적의 실체 필터링 주기를 찾습니다.

  3. 이동 중지, 곡선 중지 등과 같은 손해 방지 전략을 추가하여 단편적 손실을 제어하십시오.

  4. 트렌드 판단 규칙을 추가하고 역동적인 조작을 피하십시오.

요약하다

이 전략은 전체적으로 단기 반전 중심의 RSI 전략으로, 빠른 RSI 판단을 통해 과매매 과매매 캡처 반전, 그리고 평균선 엔티티 필터로 확인, 회수 제어, 포지션 제어의 명확한 이점을 가지고 있으며, 짧은 라인 작업에 적합하지만, 반전 실패 및 역전 작업의 위험을 주의해야하며, 최적화 매개 변수, 중지 손실 및 추세 판단 등의 측면에서 개선할 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.0", shorttitle = "Fast RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
src = close
fastup = rma(max(change(src), 0), 3)
fastdown = rma(-min(change(src), 0), 3)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit

//Body
body = abs(close - open)
emabody = ema(body, 30) / 2

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and fastrsi < dnlimit and body > emabody
dn = bar == 1 and fastrsi > uplimit and body > emabody
exit = ((strategy.position_size > 0 and fastrsi > dnlimit) or (strategy.position_size < 0 and fastrsi < uplimit)) and body > emabody

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()