이 전략은 주로 상대적 강도 지표 (RSI) 지표를 사용하여 과소매와 과소매 상황을 판단하고, 200일 간 간편 이동 평균 (200일 SMA) 을 주요 가격 트렌드 필터로 사용합니다. 트렌드 방향을 결정하는 기초로, 이 전략은 RSI 지표를 사용하여 수익성을 달성하기 위해 더 나은 진입 및 출구 타이밍을 찾습니다. RSI 지표만을 사용하는 것과 비교하면이 전략은 트렌드 판단을 높이고 시장 추세를 더 정확하게 파악하고, 황금 시장에서 상승과 판매 하락을 추격하고, 곰 시장에서 반대 작업을 수행하여 더 높은 전략 수익을 얻을 수 있습니다.
이 전략은 주로 두 부분으로 구성됩니다: RSI 지표와 200 일 SMA 필터.
RSI 지표 섹션은 주로 가격이 과잉 구매 또는 과잉 판매 구역에 진입했는지 여부를 판단합니다. 계산 공식은:
RSI = 100 - 100 / (1 + RSI의 평균 상승일 / RSI의 평균 감소일)
경험적 매개 변수에 따르면, RSI가 < 30이면 과잉 판매되고, > 70이면 과잉 구매된다.
200일 SMA 필터는 주로 전체 시장 트렌드 방향을 판단합니다. 가격이 200일 SMA를 넘으면 황소 시장이고 그렇지 않으면 곰 시장입니다.
이 두 가지 판단에 근거하여, 전략은 다음과 같은 입출구 논리를 가지고 있습니다.
롱 엔트리: RSI <45 및 클로즈 가격 > 200일 SMA
긴 출구: RSI > 75 및 닫기 가격 > 200일 SMA
단기 엔트리: RSI > 65 및 클로즈 가격 < 200일 SMA
코트 출구: RSI < 25 및 클로즈 가격 < 200일 SMA
따라서 전략은 RSI 지표의 정확한 판단을 사용하여 전체 트렌드에서 더 나은 입문 및 출구 지점을 찾고 더 높은 수익을 달성합니다.
이 전략의 가장 큰 장점은 RSI 지표와 200일 SMA 필터의 조합을 사용하여 전략을 더 안정적이고 정확하게 만드는 것입니다.
또한 이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략은 또한 몇 가지 위험을 안고 있습니다.
이러한 위험을 통제하기 위해 다음과 같은 조치를 취할 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
이 전략의 전반적인 성능은 정확 한 판단, 간단한 운영 및 광범위한 적용 가능성의 장점으로 좋습니다. 스톱 손실 및 포지션 사이징을 추가 한 후 실시간 거래에서 신중하게 실행 할 수 있습니다. 매개 변수 최적화, 스톱 손실 최적화, 포지션 사이징과 같은 후속 측면은 전략을 더욱 향상시킬 수 있습니다.
/*backtest start: 2023-12-04 00:00:00 end: 2023-12-11 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/ // © LuxAlgo //@version=5 strategy('Relative Strength Index Extremes with 200-Day Moving Average Filte', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=36000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01) // Rsi rsi_lenght = input.int(14, title='RSI lenght', minval=0) rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght) rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght) rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down) //Sma Length1 = input.int(200, title=' SMA Lenght', minval=1) SMA1 = ta.sma(close, Length1) //Strategy Logic Long = rsi_value < 45 and close > SMA1 Long_exit = rsi_value > 75 and close > SMA1 Short = rsi_value > 65 and close < SMA1 Short_exit = rsi_value < 25 and close < SMA1 if Long strategy.entry('Long', strategy.long) if Short strategy.entry('Short', strategy.short) strategy.close_all(Long_exit or Short_exit) pera(pcnt) => strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) stoploss = input.float(title=' stop loss', defval=5, minval=0.5) los = pera(stoploss) strategy.exit('SL', loss=los) //by wielkieef