
이 전략은 RSI (Relative Strength Index) 지표의 극치와 Simple Moving Average (SMA) 평균의 필터링을 결합하여 트렌드를 추적합니다. RSI가 과매매 또는 과매매의 극치에 도달하면 SMA 평균의 방향과 함께 더 많은 공백 방향을 판단합니다. 이 전략은 주식 지수, 유럽 지수, 아시아 지수 및 금 백 은과 같은 품종에 적용되며 간단한 RSI와 SMA 판단 규칙을 통해 트렌드를 포착합니다.
이 전략은 RSI의 오버 바이 오버 소드 범위를 통해 진입 시기를 판단하고 SMA의 트렌드 필터와 결합하여 트렌드를 효과적으로 포착합니다. RSI의 극한은 가격이 반전될 수 있음을 나타냅니다.
단독으로 RSI 지표를 사용하는 것에 비해 이 전략은 SMA의 트렌드 판단을 증가시키고, 맹목적으로 더 많은 공백을 피한다. 단독으로 SMA 시스템을 사용하는 것에 비해, 이 전략은 SMA의 방향에 기초하여 RSI 극한값을 이용해서 진입할 때 선택의 효율성을 높인다. 전체적으로, 이 전략은 두 가지의 장점을 통합하여 매우 실용적인 트렌드 추적 전략이다.
SMA 평균선이 사각지대를 만들 때, 트렌드 반전의 위험이 있다. 해결책은 SMA 주기를 적절히 줄이고, 트렌드 변화에 대한 민감성을 증가시키는 것이다.
RSI가 이탈할 때, 거래 기회를 놓칠 위험이 있습니다. MACD와 같은 다른 지표의 판단과 결합하여 이탈을 방지하는 방법입니다.
흔들리는 상황에서 RSI와 SMA는 모두 잘못된 신호를 낼 수 있다. 해결책은 흔들리는 시장이 감지되면 전략 거래를 중단하는 것이다.
잘못된 매개 변수 설정으로 인해 과다 거래 또는 매매가 발생할 수 있습니다. 최적의 매개 변수를 찾아서 최적의 매개 변수 조합을 찾는 것이 해결책입니다.
단일 종족의 테스트는 전략의 효과를 평가하는 데 충분하지 않으며, 여러 종족의 테스트 재검토가 필요합니다.
재발견은 실장과 같지 않습니다. 실장은 자금 관리와 위험 관리에 대한 통제가 필요합니다.
RSI 매개 변수를 최적화하여 다양한 품종에 대한 최적의 RSI 주기 매개 변수를 찾습니다.
SMA 주기 변수를 최적화하여 여러 그룹 SMA 평균선을 통합한다.
손해 막기 장치를 늘리고, 위험 통제 능력을 높여라.
다른 지표 판단을 추가하여 다중 인자 검증을 구현하십시오.
융통성 지표와 함께, 경기 속도에 들어가십시오.
개발 파라미터가 스스로 적응하는 시스템, 역동적인 파라미터 최적화를 구현한다.
다양한 재무 관리 방법을 테스트하여 최적의 재무 관리 방법을 찾아보세요.
다양한 시장 조건에 따라 거래 전략 집합을 만들고, 전략 통합을 실현한다.
이 RSI 극한값과 SMA 필터링 전략은, 둘의 길이를 집합하여, 간단한 지표 판단을 통해 트렌드 추적을 구현한다. 전략 아이디어는 명확하고 이해하기 쉽고, 변수 설정은 합리적이며, 다양한 품종에 광범위하게 적용된다. 단일 RSI와 SMA 전략에 비해 이 전략은 선택 효율성과 승률을 크게 향상시킨다. 그러나 전략에는 변수 최적화, 손실 중지 장치 등의 방법으로 전략의 안정성과 적응성을 더욱 강화 할 수있는 개선 방도가 있습니다.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
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/
// © wielkieef
//@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