빠른 오실레이터 RSI 거래 전략


생성 날짜: 2024-01-08 11:50:38 마지막으로 수정됨: 2024-01-08 11:50:38
복사: 0 클릭수: 589
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

빠른 오실레이터 RSI 거래 전략

개요

이 전략은 RSI 지표를 사용하여 흔들리는 상황을 식별하고 흔들리는 과정에서 트렌드 반전 기회를 포착하는 거래 전략이다. 전략은 빠른 RSI 지표를 통해 가격이 흔들리는 지역에 진입했는지 판단하고 K선 엔티티와 빠른 RSI의 다공간 신호를 결합하여 진입 시기를 판단한다.

전략 원칙

이 전략은 주로 다음과 같은 원칙에 기초하여 작동합니다.

  1. 급속한 RSI를 통해 가격이 설정된 오버 바이 오버 소드 범위에 들어갔는지 판단하고, 쇼크를 식별하기 위한 근거로
  2. K선 엔티티의 브레이크와 빠른 RSI 다공공 신호를 결합하여 구체적인 진입 시기를 판단
  3. 이중 필터링 메커니즘을 통해 비 충격적 사고의 가짜 신호를 피합니다.

구체적으로, 전략은 쌍주기 RSI를 사용하여 가격이 설정된 30-70의 흔들림 영역에 들어간지 판단한다. K선 엔터티가 평균선을 뚫고 14 또는 1/2의 거래 신호를 생성하기 전에 K선 엔터티를 요구한다. 이같은 쌍 조건 판단을 통해 흔들림 행태의 가짜 신호를 효과적으로 필터링하여 진정한 흔들림이 있을 때만 입장을 보장할 수 있다.

우위 분석

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

  1. 빠른 RSI 지표는 가격의 진입과 진출을 빠르게 판단할 수 있는 민감한 지표입니다
  2. 이중 시간 프레임 분석, 소음 방해를 피하기
  3. 실물 필터링 메커니즘, 실제 트렌드 반전 시 출전을 보장합니다.
  4. 거래 빈도가 적고 과도한 거래가 없도록 한다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 트렌드 반전의 기회를 놓치면 수익이 떨어질 수 있다.
  2. 위조 신호를 뚫고 진동하면 피해가 발생할 수 있다.
  3. 잘못된 변수 설정으로 정책 성능에 영향을 미칠 수 있습니다.

위험을 제어하기 위해, 적절한 변수 조합 조정, 실내 검증, 그리고 손실 제도를 설정하는 것이 좋습니다.

최적화 방향

이 전략에는 더 많은 최적화 가능성이 있습니다:

  1. 다른 지표 신호를 통합하여 Likelihood 모델을 구축합니다.
  2. 사용자 정의 변수 조정 모듈을 추가합니다.
  3. 알고리즘 거래 모듈을 추가하여 더 빠른 거래 속도를 구현합니다.

다중 지표 통합, 자율 변수 조정 및 알고리즘 거래와 같은 방법을 통해 전략의 안정성과 수익률을 더욱 향상시킬 수 있습니다.

요약하다

빠른 RSI 지표로 가격의 흔들림을 포착하고 이중 필터링 메커니즘을 통해 진입 시기를 판단하는 빠른 흔들림 RSI 거래 전략은 깊이 연구하고 적용할 가치가있는 효과적인 전략입니다. 실무에서는 위험을 고려하고 여러 차원에서 최적화 조정하여 전략의 효과를 더욱 향상시킬 필요가 있습니다.

전략 소스 코드
/*backtest
start: 2023-01-07 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's FRSI Strategy v1.22", shorttitle = "FRSI str 1.22", overlay = true )

//Settings
uprsiperiod = input(2, defval = 2, minval = 2, maxval = 50, title = "RSI UP Period")
dnrsiperiod = input(9, defval = 9, minval = 2, maxval = 50, title = "RSI DN Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2018, defval = 2018, 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
fastup = rma(max(change(rsisrc), 0), uprsiperiod)
fastdown = rma(-min(change(rsisrc), 0), dnrsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

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

//Signals
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2

//Trading
if up
    strategy.entry("Long", strategy.long)
    sps := 1

if exit
    strategy.close_all()
    sps := 0