이 전략은 RSI 지표와 두 EMA 라인의 크로스오버 신호를 사용하여 구매 및 판매 지점을 결정합니다. 종료 가격이 EMA100과 EMA20 둘 다 아래로 떨어지면 구매 신호가 생성되며 RSI 값은 30 이하입니다. 종료 가격이 EMA100과 EMA20 둘 다 이상으로 떨어지면 판매 신호가 생성됩니다. 그리고 RSI 값은 70 이상입니다. 이 전략의 주요 아이디어는 RSI 지표를 사용하여 EMA 라인의 트렌드 판단과 결합하여 과반 구매 및 과반 판매 조건을 판단하여 시장 변동의 낮은 및 높은 지점을 파악하고 낮은 구매 및 높은 판매 작업을 수행하는 것입니다.
RSI와 듀얼 EMA 크로스오버 신호 양적 전략은 간단하고 실용적인 양적 거래 전략이다. RSI 지표와 EMA 이동 평균을 결합함으로써 변동 시장의 최고와 하락을 더 잘 파악하고 중재를 수행 할 수 있습니다. 그러나이 전략에는 트렌드 시장의 실패, 위치 관리 및 위험 관리 조치의 부족 등과 같은 일부 제한과 위험이 있습니다. 따라서 실제 응용에서는 시장 특성과 개인 선호도에 따라 적절하게 최적화되고 개선되어야하며 전략의 안정성과 수익성을 향상시킵니다.이 전략은 양적 거래에 대한 입문 수준 전략으로 학습하고 사용할 수 있지만 신중하게 다루고 위험은 엄격하게 통제해야합니다.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI-EMA100&20 Buy/Sell Signal", overlay=true) // Input parameters rsiLength = input.int(14, "RSI Length") emaCloseLength = input.int(100, "EMA Length (Closing Price)") emaLowLength = input.int(20, "EMA Length (Low Price)") oversoldLevel = input.int(30, "Oversold Level") overboughtLevel = input.int(70, "Overbought Level") // Calculate RSI rsi = ta.rsi(close, rsiLength) // Calculate EMA of closing price emaClose = ta.ema(close, emaCloseLength) // Calculate EMA of low price emaLow = ta.ema(low, emaLowLength) // Determine overbought and oversold conditions isOversold = rsi <= oversoldLevel isOverbought = rsi >= overboughtLevel // Plot RSI and its EMAs plot(rsi, color=color.blue, title="RSI") plot(emaClose, color=color.green, title="EMA 100 (Closing Price)") plot(emaLow, color=color.orange, title="EMA 20 (Low Price)") // Strategy entry condition: Closing price is below both EMAs and RSI is less than or equal to oversold level buySignal = close < emaClose and close < emaLow and isOversold // Plot buy signals plotshape(series=buySignal, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small) // Strategy entry if (buySignal) strategy.entry("Buy", strategy.long) // Strategy exit condition: Price crosses above both EMAs and RSI is greater than or equal to overbought level sellSignal = close > emaClose and close > emaLow and isOverbought // Plot sell signals plotshape(series=sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy exit if (sellSignal) strategy.entry("Sell", strategy.short) // Plot sell signals plotshape(series=sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy exit if (sellSignal) strategy.entry("Sell", strategy.short)