
이 전략은 주로 상대적으로 약한 지수 ((RSI) 지표에 기초하여 매매 상황을 판단하고, 200 일 간단한 이동 평균 ((200 Day Simple Moving Average, 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