이 전략은 상대적 강도 지수 (RSI) 지표에 기반한 자동 스톱 로스 및 수익 거래 전략을 설계합니다. RSI 지표가 과잉 구매 라인 이상 또는 과잉 판매 라인 아래를 넘을 때 전략은 각각 긴 또는 짧은 포지션을 열 것입니다. 동시에 전략은 자동으로 오픈 가격과 미리 설정된 스톱 로스 비율 및 수익 비율을 기반으로 스톱 로스 가격을 설정하고 수익 가격을 취합니다.
이 전략은 RSI 지표를 사용하여 시장에서 과잉 구매 및 과잉 판매 조건을 결정합니다. RSI가 하위점 (디폴트 30) 이하로 떨어지면 시장이 과잉 판매로 간주되고 긴 지위가 열립니다. RSI가 상위점 (디폴트 70) 이상으로 상승하면 시장이 과잉 구매로 간주되고 짧은 지위가 열립니다.
긴 또는 짧은 오픈 후, 전략은 자동으로 중지 손실 가격을 설정하고 수익을 얻을 수 있는 가격을 중지 손실 비율 (기본 5%), 수익을 얻을 수 있는 비율 (기본 10%) 에 따라 설정합니다. 예를 들어, 긴 오픈 후, 중지 손실 가격은 (1 - 중지 손실 비율) * 입력 가격, 그리고 수익을 얻을 수 있는 가격은 (1 + 수익을 얻을 수 있는 비율) * 입력 가격입니다.
이 전략의 가장 큰 장점은 거래 위험을 완화하기 위해 자동으로 스톱 로스를 설정하고 수익을 취할 수 있다는 것입니다. 스톱 로스는 손실을 제한하고 수익을 취하는 것을 허용합니다. 동시에, RSI는 과잉 구매 및 과잉 판매 조건을 효과적으로 식별 할 수있는 성숙한 기술 지표입니다.
이 전략에는 몇 가지 위험도 있습니다. RSI 신호는 때때로 잘못되어 불필요한 손실로 이어질 수 있습니다. 또한, 촉발된 스톱 손실 또는 수익을 취하는 것도 수익을 잃을 수 있습니다. 스톱 손실 및 수익률 비율은 신중하게 설정되어야합니다. 너무 느슨한 것은 위험을 효과적으로 제어하지 못할 수 있으며 너무 긴 것은 불필요한 스톱 손실로 이어질 수 있습니다.
이러한 위험은 RSI 매개 변수를 최적화하거나 스톱 로스/트랙 노프트 비율을 조정함으로써 감소될 수 있다. 또한 신호를 확인하기 위한 다른 지표를 통합하면 거래 결정의 정확도가 향상될 수 있다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
가장 좋은 조합을 찾기 위해 RSI 매개 변수를 최적화
다른 스톱 손실 및 수익 비율 설정을 테스트
거래 신호를 필터링하는 다른 지표를 추가
유동 시장에서 잘못된 신호를 피하기 위해 트렌드 결정 규칙을 포함
출입 시기를 최적화하고, 수익을 확보하기 위해 후속 정지를 설정합니다.
이 전략은 RSI 지표에 기반한 간단하고 실용적인 스톱 로스 및 영업 전략을 설계한다. 로직은 명확하고 쉽게 구현할 수 있으며, 자동화된 스톱 로스 및 영업으로 리스크를 제어할 수 있다. 잘못된 RSI 신호와 관련된 리스크를 방지하기 위해 매개 변수 및 규칙 최적화에 주의가 필요하다. 전반적으로 양적 거래에 좋은 아이디어를 제공하고 추가 연구와 최적화에 가치가 있다.
/*backtest start: 2023-12-29 00:00:00 end: 2024-01-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("twelve12 first RSI remix", overlay=true) length = input(14) overSold = input(35) overBought = input(65) stopLossPercent = input(5, title="Stop Loss (%)") / 100 takeProfitPercent = input(10, title="Take Profit (%)") / 100 price = close vrsi = ta.rsi(price, length) co = ta.crossover(vrsi, overSold) cu = ta.crossunder(vrsi, overBought) if (not na(vrsi)) if (co) strategy.entry("RsiLE", strategy.long, comment="RsiLE") if (cu) strategy.entry("RsiSE", strategy.short, comment="RsiSE") // Calculate stop loss and take profit levels for long and short positions longStopLoss = strategy.position_avg_price * (1 - stopLossPercent) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent) // Set stop loss and take profit for long position