Bei dieser Strategie handelt es sich um ein Multisignal-Trendfolgesystem, das auf dualen gleitenden Durchschnitten und dem Relative Strength Index (RSI) basiert. Die Strategie läuft in einem 1-Stunden-Zeitrahmen und verwendet die Kreuzungspunkte kurzfristiger und langfristiger gleitender Durchschnitte sowie RSI-Überkauf- und Überverkaufsniveaus, um Markttrends und Handelsmöglichkeiten zu bestimmen. Das System verwendet eine Kombination aus 9- und 21-Perioden-SMA (Simple Moving Average)-Durchschnitt, kombiniert mit einem 14-Perioden-RSI-Indikator, um ein vollständiges Handelssystem zur Trendverfolgung und Momentumbestätigung aufzubauen.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Diese Strategie erstellt durch die Kombination des gleitenden Durchschnittssystems und des RSI-Indikators ein relativ vollständiges Trendverfolgungs-Handelssystem. Das Strategiedesign-Konzept konzentriert sich auf Signalzuverlässigkeit und Risikokontrolle und eignet sich für mittel- und langfristiges Trend-Trading. Obwohl einige inhärente Einschränkungen bestehen, ist zu erwarten, dass die Gesamtleistung der Strategie durch die vorgeschlagenen Optimierungshinweise weiter verbessert werden kann. Der Code der Strategie ist professionell standardisiert und weist eine gute Skalierbarkeit auf. Es handelt sich um ein Handelssystem, das eingehendes Studium und Übung wert ist.
/*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")