이 문서에서는 주로 RSI와 WMA를 기반으로 한 양적 거래 전략을 소개합니다. 이 전략은 RSI와 WMA의 값을 계산하여 구매 및 판매 신호를 생성하여 주식 가격의 반전 지점을 발견하여 낮은 가격으로 구매하고 높은 가격으로 판매하는 것을 목표로합니다.
이 전략의 핵심 지표에는 RSI와 WMA가 포함됩니다. RSI (관계 강도 지표) 는 최근 가격 상승과 하락의 속도 변화를 측정하는 데 사용되는 변동성 지표입니다. WMA (중량 이동 평균) 는 중량 이동 평균입니다.
전략의 구매 신호는 RSI가 WMA를 넘어서면 생성되며, 가격 반전과 상승 추세의 시작을 나타냅니다. 판매 신호는 RSI가 WMA를 넘어서면 생성되며, 가격 반전과 하락 추세의 시작을 나타냅니다.
특히, 전략은 먼저 14일 RSI를 계산하고, 45일 WMA를 계산합니다. RSI가 WMA를 넘으면 구매 신호가 생성됩니다. RSI가 WMA를 넘으면 판매 신호가 생성됩니다. RSI와 WMA의 조합은 가격 반전 지점을 더 정확하게 캡처 할 수 있습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
위험은 다음과 같습니다.
이러한 위험은 매개 변수 조정, 스톱 로스, 시장 위험 필터링 등으로 완화 될 수 있습니다.
전략은 다음 측면에서 최적화 될 수 있습니다:
이 전략은 RSI와 WMA를 통합하여 무역 신호의 크로스오버를 캡처하여 간단하고 효과적인 알고 거래를 가능하게합니다. 황소 시장에서 구현하고 수익성이 좋습니다. 추가 매개 변수 테스트, 조정 및 적절한 스톱 로스 메커니즘은 안정성과 수익성을 향상시킬 수 있습니다.
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI WMA Strategy", overlay=true) // Input parameters rsiLength = input(14, title="RSI Length") wmaLength = input(45, title="WMA Length") // Calculate RSI and WMA rsiValue = ta.rsi(close, rsiLength) wmaValue = ta.wma(rsiValue, wmaLength) // Define overbought and oversold levels for RSI overboughtLevel = 70 oversoldLevel = 30 // Strategy logic longCondition = ta.crossover(rsiValue, wmaValue) shortCondition = ta.crossunder(rsiValue, wmaValue) // Execute trades if (longCondition) strategy.entry("Long", strategy.long, comment="BUY") if (shortCondition) strategy.entry("Short", strategy.short, comment="SELL") // Plotting for visualization plot(rsiValue, title="RSI", color=color.blue) plot(wmaValue, title="WMA", color=color.orange) hline(overboughtLevel, "Overbought Level", color=color.red) hline(oversoldLevel, "Oversold Level", color=color.green) // Plot buy and sell signals on the chart plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)