
이 전략은 RSI 지표와 ?? 엔티티의 EMA를 기반으로 빠른 돌파작업을 구현한다. RSI의 빠른 형태와 대형 ?? 엔티티를 활용하여 역전 신호를 인식한다.
RSI 지표, 주기 7을 계산하여 RMA를 사용하여 가속 모형을 구현한다.
개체 크기의 EMA, 주기 30, 개체 크기의 기준으로 계산한다.
만약 RSI 상의 횡단한계값 (기본 30) 이 있고, 현재 K선 엔티티가 평균 엔티티 크기보다 1⁄4 더 크다면 더 많이 한다.
만약 RSI가 경계를 넘어서면 (기본 70), 그리고 현재 K선 엔티티가 평균 엔티티 크기의 1/4보다 크다면, 공백을 다.
만약 이미 포지션을 유지했다면, RSI가 다시 한 번 경계를 통과했을 때 평소된다.
RSI 길이, 제한값, 참조 가격 등의 파라미터를 설정할 수 있다.
엔터티 크기와 EMA 주기, 창고 chroot 배수 등의 파라미터를 설정할 수 있다.
RSI 골드포크/데이트포크의 루트 수를 설정할 수 있다.
RSI 지표의 역전 속성을 활용하여 역전 신호를 적시에 잡을 수 있다.
RMA는 RSI의 가속 모형을 구현하여 반전을 더 민감하게 만듭니다.
대형 K선 엔티티 필터와 결합하여, 소 범위의 진동 중개금리를 피한다.
이 자료는 충분한데, 신뢰도가 높습니다.
사용자 정의 가능한 매개 변수, 다른 시장 환경에 적응
거래 논리는 명확하고 간단합니다.
RSI 지표에는 재측정 편차가 있으며, 실디 효과는 검증되어야 한다.
K-Line의 큰 기업들은 시장의 모든 흔들림을 완전히 차단할 수 없습니다.
기본 파라미터는 모든 품종에 적합하지 않을 수 있으며, 최적화가 필요합니다.
승률이 높지 않을 수도 있고, 계속되는 손실에 대한 심리적 압박이 필요합니다.
“이번 도약은 실패의 위험성이 높고, 신속한 대응이 필요하다.
RSI 파라미터를 최적화하여 다른 주기 및 품종에 적합합니다.
K선 엔티티의 EMA 사이클을 최적화하고, 엔티티의 크기를 평행한다.
포지션 개설의 실물 배수를 최적화하고 출입 빈도를 제어한다.
이동 상쇄를 증가시켜 승률을 보장합니다.
트렌드 필터링을 추가하고 역대 거래를 피하십시오.
자금 관리 전략을 최적화하고 단독 위험을 통제하십시오.
이 전략은 전체적으로 매우 간단한 직접적인 역전 전략이다. RSI 지표의 역전 속성과 대형 K선 엔티티티의 파괴력을 동시에 활용하여 시장 돌파가 발생했을 때 빠르게 진입한다. 재측량 효과는 좋지만, 실장 효과는 아직 검증되지 않았으며, 사용 시에는 최적화 매개 변수와 위험을 제어하는 것에 주의를 기울여야 한다. 전체적으로 이 전략은 매우 높은 가치를 지니고 있으며 실장 시에 적용되고 지속적으로 최적화 할 수있는 매우 좋은 전략 중 하나이다.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.2", shorttitle = "Fast RSI str 1.2", 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")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI 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")
fromyear = input(2018, defval = 2018, 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
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
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
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > emabody / 4
dn = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > emabody / 4
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > emabody / 2
//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()