
이 전략은 이중 이동 평균선과 상대 강도 지수(RSI)를 기반으로 하는 다중 신호 추세 추종 시스템입니다. 이 전략은 1시간 기간으로 실행되며 단기 및 장기 이동 평균선의 교차와 RSI 매수 과다 및 매도 과다 수준을 사용하여 시장 동향과 거래 기회를 파악합니다. 이 시스템은 9기간과 21기간 단순 이동 평균(SMA)의 조합과 14기간 RSI 지표를 결합하여 완전한 추세 추적 및 모멘텀 확인 거래 시스템을 구축합니다.
전략의 핵심 논리는 다음과 같은 핵심 요소에 기초합니다.
이 전략은 이동 평균 시스템과 RSI 지표를 결합하여 비교적 완전한 추세 추적 거래 시스템을 구축합니다. 전략 설계 개념은 신호 신뢰성과 위험 제어에 초점을 맞추고 있으며, 중장기 추세 거래에 적합합니다. 몇 가지 본질적인 한계는 있지만, 제안된 최적화 방향을 통해 전략의 전반적인 성과는 더욱 향상될 것으로 기대됩니다. 이 전략의 코드는 전문적으로 표준화되어 있으며 확장성이 좋습니다. 심층적인 연구와 연습에 적합한 거래 시스템입니다.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-16 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Vitaliby
//@version=5
strategy("Vitaliby MA and RSI Strategy", overlay=true)
// Входные параметры для настройки
shortMALength = input.int(9, title="Short MA Length")
longMALength = input.int(21, title="Long MA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
// Расчет скользящих средних и RSI
shortMA = ta.sma(close, shortMALength)
longMA = ta.sma(close, longMALength)
rsi = ta.rsi(close, rsiLength)
// Определение условий для входа и выхода
longCondition = ta.crossover(shortMA, longMA) and rsi > rsiOversold
shortCondition = ta.crossunder(shortMA, longMA) and rsi < rsiOverbought
// Отображение сигналов на графике
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
// Отображение скользящих средних на графике
plot(shortMA, color=color.blue, title="Short MA")
plot(longMA, color=color.orange, title="Long MA")
// Отображение RSI на отдельном окне
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI")
// Управление позициями
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.close("Long")
if (shortCondition)
strategy.entry("Short", strategy.short)
if (longCondition)
strategy.close("Short")