이 전략은 주로 상대적 강도 지수 (RSI) 를 사용하여 시장에서 과반 구매 및 과반 판매 조건을 결정하며, 트렌드 필터로서 200 일 간 간편 이동 평균 (SMA) 이상의 가격을 사용하여 거래에 참여할지 여부를 결정합니다. 이 전략은 세 가지 RSI 지표를 통해 입시 조건을 구성합니다. 단기 RSI가 35 이하이며 3 개의 연속 기간 동안 하락 추세를 보이는 경우에만, 세 번째 기간 RSI가 60 이하이며 현재 폐쇄 가격이 200 일 간 SMA 이상인 경우, 긴 시간이 걸릴 것입니다. 출구 조건은 RSI가 50 이상을 넘을 때입니다.
이 전략은 트리플 RSI를 통해 엔트리 조건을 구축하고, 장기 이동 평균 이상의 가격과 결합하여 트렌드 필터로, 과잉 판매 반전 설정을 캡처합니다. 전략 논리는 간단하고 명확하며, 구현하고 최적화하는 것이 쉽습니다. 그러나 전략에는 신호 지연, 낮은 거래 빈도 및 단편적인 시장 움직임을 캡처 할 수있는 위험과 단점도 있습니다. 실제 응용에서 지속적인 디버깅과 개선이 필요합니다. 스톱 로스 및 수익 취득, 포지션 관리, 다른 지표 및 다른 방법과 결합하여 전략의 안정성과 수익성을 더욱 향상시킬 수 있습니다.
/*backtest start: 2023-05-15 00:00:00 end: 2024-05-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //@author Honestcowboy // strategy("Triple RSI [Honestcowboy]" ) // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> User Inputs <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> rsiLengthInput = input.int(5, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> VARIABLE CALCULATIONS <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> CONDITIONALS <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> rule1 = rsi<35 rule2 = rsi<rsi[1] and rsi[1]<rsi[2] and rsi[2]<rsi[3] rule3 = rsi[3]<60 rule4 = close>ta.sma(close, 200) longCondition = rule1 and rule2 and rule3 and rule4 closeCondition = rsi>50 // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> GRAPHICAL DISPLAY <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> hline(30, title="Long Condition Line") hline(50, title="Exit Condition Line") plot(rsi) plotshape(longCondition ? rsi-3 : na, title="Long Condition", style=shape.triangleup, color=color.lime, location=location.absolute) plotshape(closeCondition and rsi[1]<50? rsi+3 : na, title="Exit Condition", style=shape.triangledown, color=#e60000, location=location.absolute) // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> // ---------> AUTOMATION AND BACKTESTING <----------- >> // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >> if longCondition and strategy.position_size==0 strategy.entry("LONG", strategy.long) if closeCondition strategy.close("LONG")