
이 전략의 이름은 RSI 지표와 포괄적 모형의 양적 거래 전략 . 이 전략의 주요 아이디어는 RSI 지표와 포괄적 모형을 동시에 사용하여 시장 추세를 식별하고 구매 및 판매 신호를 발송하는 것입니다.
RSI 지표가 다중 하위 극단 상태를 표시하고 상향 또는 하향 포괄적 형태를 나타낼 때, 우리는 포지션을 구축 할 수있는 기회라고 생각합니다. RSI 지표는 과매매 과매매 현상을 효과적으로 식별 할 수 있으며 포괄적 형태는 트렌드의 신뢰성을 추가로 검증 할 수 있습니다.
먼저, 우리는 RSI 지표의 파라미터를 설정합니다. RSI의 주기 길이는 (일반적으로 9 또는 14) 과잉 구매 수준 (일반적으로 70) 과 과잉 판매 수준 (일반적으로 30) 을 포함합니다.
그 다음, 포괄적 형태를 식별하여, 대양선이 상향 또는 하향으로 나타났는지 또는 대양선이 전 K선을 포괄했는지를 판단합니다. 이는 현재 추세가 전환되고 있음을 나타냅니다.
이 후 RSI가 oversold 영역을 나타낸다면 ((오버 바이 또는 오버 셀), 그리고 상향 양파 또는 하향 음파가 나타나면 구매 신호 또는 판매 신호가 발생한다. 마지막으로, 우리는 RSI의 골드 포크와 데드 포크를 사용하여 스톱 로스를 결정한다.
이 전략은 트렌드 지표 RSI와 특징 기술 지표 포괄적 형태를 결합하여 시장의 움직임을 종합적으로 판단하고 단일 지표보다 더 강력한 확인 효과를 가지며 노이즈 거래 신호를 효과적으로 필터링 할 수 있습니다.
RSI 지표는 시장에서 나타나는 다중 공백 상태에 대한 판단이 매우 정확하고 명확하며, 포괄적 인 형태에 포함 된 수량 특성은 추세 전환의 신뢰성을 추가적으로 확인할 수 있습니다.
이 전략은 과도한 구매와 과도한 판매의 역전 기회를 잡을 수 있으며, 재회계 시 불필요한 거래 손실을 피할 수 있습니다.
이 전략의 가장 큰 위험은 RSI 지표와 포괄형이 잘못된 신호를 발생시킬 확률이 낮지 않다는 것이다. RSI 지표는 변질되기 쉽고, 이탈이 발생한다. 포괄형의 식별은 K선 창 크기와 같은 파라미터를 조정하여 조작할 수 있다.
또한, 반전 신호가 발생했을 때, 충격적인 정리 가능성을 완전히 배제할 수 없다. 포지션이 구축된 후, 시장은 단기간에 회전이 발생할 수 있다. 심지어 반전도 있을 수 있다.
위험을 줄이기 위해, 우리는 RSI 지표의 설정 파라미터를 최적화하여 최적의 파라미터 조합을 찾아야 합니다. 또한, 대표적이고 유동성이 좋은 거래 품종을 선택하는 것도 중요합니다. 포지션 구축 후, 포지션 규모를 잘 제어하고 적시에 손실을 막는 것이 필요합니다.
이러한 전략은 다음과 같은 측면에서 더욱 개선될 수 있습니다.
KDJ, MACD 등과 결합하여 다중 지표 검증 시스템을 형성하여 신호의 정확성을 향상시킵니다.
거래 품종의 유동성, 진폭, 거래 비용 등을 고려하여 최적의 품종을 선택하여 거래 비용과 슬라이드 포인트 위험을 줄이십시오.
기계학습과 같은 방법을 사용하여 파라미터를 훈련하고 최적화한다. 예를 들어, RSI 이탈 상황을 인식하기 위해 딥러닝을 사용합니다.
손실을 막는 전략을 늘리고, 이동한 손실, 평행한 손실을 막는 등의 방법으로 이익을 보호하십시오.
이 전략은 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")