
この戦略は、二重移動平均と相対力指数 (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")