
Strategi ini ialah sistem mengikut arah aliran berbilang isyarat berdasarkan purata pergerakan dwi dan indeks kekuatan relatif (RSI). Strategi ini berjalan pada jangka masa 1 jam dan menggunakan persilangan purata bergerak jangka pendek dan jangka panjang serta tahap terlebih beli dan terlebih jual RSI untuk menentukan arah aliran pasaran dan peluang dagangan. Sistem ini menggunakan gabungan purata bergerak mudah (SMA) 9-tempoh dan 21-tempoh, digabungkan dengan penunjuk RSI 14-tempoh, untuk membina sistem perdagangan pengesanan arah aliran dan pengesahan momentum yang lengkap.
Logik teras strategi adalah berdasarkan elemen utama berikut:
Strategi ini membina sistem perdagangan penjejakan arah aliran yang agak lengkap dengan menggabungkan sistem purata bergerak dan penunjuk RSI. Konsep reka bentuk strategi memberi tumpuan kepada kebolehpercayaan isyarat dan kawalan risiko, dan sesuai untuk perdagangan trend jangka sederhana dan panjang. Walaupun terdapat beberapa batasan yang wujud, prestasi keseluruhan strategi dijangka akan dipertingkatkan lagi melalui arahan pengoptimuman yang dicadangkan. Kod strategi diseragamkan secara profesional dan mempunyai skalabiliti yang baik Ia adalah sistem perdagangan yang layak untuk dikaji dan dipraktikkan secara mendalam.
/*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")