이 전략의 이름은
RSI 지표가 극단적 인 지점과 포용 패턴을 나타낼 때, 우리는 포지션을 설정 할 수있는 기회라고 믿습니다. RSI 지표는 과잉 구매 및 과잉 판매 상황을 효과적으로 식별 할 수 있으며, 포용 패턴은 추세의 신뢰성을 추가로 확인할 수 있습니다.
먼저, 우리는 RSI 지표의 매개 변수를 설정합니다. RSI의 기간 길이를 포함하여 (일반적으로 9 또는 14), 과잉 구매 수준 (일반적으로 70) 및 과잉 판매 수준 (일반적으로 30).
다음으로, 우리는 큰 상승 또는 하락 촛불이 이전 촛불을 휩쓸었는지 여부를 결정하기 위해 휩쓸기 패턴을 식별합니다. 이것은 현재 추세가 반전되고 있음을 나타냅니다.
그 후, RSI가 과반 구매 또는 과반 판매 극단을 표시하고 상승 추세 또는 하락 추세가 나타나면 구매 또는 판매 신호가 유발됩니다. 마지막으로, RSI 황금 십자와 죽음의 십자 는 이익을 취하고 손실을 중지하는 것을 결정하는 데 사용됩니다.
이 전략은 트렌드 지표 RSI와 패턴 지표 포괄 패턴을 결합하여 시장 트렌드를 포괄적으로 판단하며 단일 지표 전략에 비해 더 강력한 확인 효과를 가지고 있으며 소란스러운 거래 신호를 효과적으로 필터링 할 수 있습니다.
RSI 지표는 과잉 구매 및 과잉 판매 상태를 매우 정확하고 명확하게 판단하고, 포용 패턴에 암시되는 가격-용량 특성은 추세 반전의 신뢰성을 추가로 확인할 수 있습니다.
이 전략은 과도한 매수와 과도한 판매로 인한 역전 기회를 적시에 포착할 수 있으며, 통합 과정에서 불필요한 거래 손실을 피할 수 있습니다.
이 전략의 가장 큰 위험은 잘못된 신호를 보여주는 RSI 지표 및 포식 패턴의 확률이 낮지 않다는 것입니다. RSI 지표는 왜곡과 오차에 취약합니다. 그리고 포식 패턴의 식별은 촛불 차트 창 크기와 같은 매개 변수를 조정하여 조작 할 수 있습니다.
또한, 반전 신호가 나타나면 변동 및 통합의 가능성을 완전히 배제할 수 없습니다. 시장은 포지션이 설정 된 후 단기간에 인하 또는 심지어 반전도 발생할 수 있습니다. 이 모든 것이 손실 및 손실을 멈추게 할 수 있습니다.
리스크를 줄이기 위해, 우리는 최고의 매개 변수 조합을 찾기 위해 RSI 지표의 매개 변수 설정을 최적화해야합니다. 또한, 강력한 대표성과 유동성을 가진 거래 도구를 선택하는 것도 매우 중요합니다. 포지션을 설정 한 후, 우리는 포지션 크기를 적절히 제어하고 적시에 스톱 로스를 설정해야합니다.
이 전략은 다음과 같은 측면에서 더 이상 최적화 될 수 있습니다.
KDJ와 MACD와 같은 더 많은 지표를 통합하여 신호 정확성을 향상시키기 위해 여러 지표 검증 시스템을 형성합니다.
거래 도구의 유동성, 변동성 및 거래 비용과 같은 요소를 고려하고 거래 비용과 미끄러짐 위험을 줄이기 위해 최적의 요소를 선택하십시오.
기계 학습 방법을 사용하여 매개 변수를 훈련하고 최적화하십시오. 예를 들어, RSI 분리를 식별하기 위해 딥 러닝을 사용하십시오.
스톱 로스 전략을 추가하고, 이동 스톱 로스, MA 스톱 로스 등을 통해 이익을 보호합니다.
이 전략은 RSI 지표와 포식 패턴의 강점을 활용하고 트렌드 판단과 특징 검증 모두를 고려한 양적 거래 시스템을 설계합니다. 높은 신뢰성을 유지하면서 반전 기회를 효과적으로 포착 할 수 있습니다. 지속적인 최적화를 통해이 전략은 안정적이고 신뢰할 수있는 양적 전략이 될 수 있습니다.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Lesson 6", shorttitle="RSI Swing Signals", overlay=true) // Get user input rsiSource = input(title="RSI Source", type=input.source, defval=close) rsiLength = input(title="RSI Length", type=input.integer, defval=9) rsiOverbought = input(title="RSI Overbought Level", type=input.integer, defval=60) rsiOversold = input(title="RSI Oversold Level", type=input.integer, defval=25) // Get RSI value rsiValue = rsi(rsiSource, rsiLength) rsiOB = rsiValue >= rsiOverbought rsiOS = rsiValue <= rsiOversold // Identify engulfing candles bullishEC = close > open[1] and close[1] < open[1] bearishEC = close < open[1] and close[1] > open[1] // Define entry and exit conditions longCondition = (rsiOS or rsiOS[1]) and bullishEC shortCondition = (rsiOB or rsiOB[1]) and bearishEC // Plot signals to chart plotshape(longCondition, title="Long", location=location.belowbar, color=color.green, transp=0, style=shape.triangleup, text="Long") plotshape(shortCondition, title="Short", location=location.abovebar, color=color.red, transp=0, style=shape.triangledown, text="Short") // Strategy entry and exit strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) // Define exit conditions longExitCondition = crossover(rsiValue, 60) // You can customize this exit condition shortExitCondition = crossunder(rsiValue, 40) // You can customize this exit condition // Strategy exit strategy.exit("ExitLong", from_entry="Long", when=longExitCondition) strategy.exit("ExitShort", from_entry="Short", when=shortExitCondition) // Send out an alert if this candle meets our conditions alertcondition(longCondition or shortCondition, title="RSI Trade Alert!", message="RSI Swing Signal for XXX")