
この戦略は,RSI指標とEMA平均線に基づいた定量取引システムで,比較的弱い指数 ((RSI)) の超買い超売り信号と移動平均線 ((EMA)) のトレンド確認を組み合わせて取引を行う.戦略には,リスク管理モジュールが含まれており,止損 (Stop-Loss) と止損 (Take-Profit) を設定することでリスクを制御する.反省データによると,15分間の周期で複数の取引品種をテストしたところ,約70%の取引品種が利益を達成した.
戦略の中核となるロジックは、次の主要な要素に基づいています。
これは,構造が整った,論理が明確な量化取引戦略で,RSIとEMAの組み合わせを用いて,より信頼性の高い取引信号生成を実現している.戦略のリスク管理機構とパラメータの柔軟性により,優れた実用性がある.いくつかの潜在的リスクがあるものの,提案された最適化の方向によって,戦略の安定性と収益性をさらに向上させることができる.中長期にわたって量化取引システムの基礎の枠組みとして,継続的な最適化と調整によって,より良い取引効果を達成することができる.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI BUY/SELL + EMA + SLTP by rcpislr", overlay=true)
// Kullanıcı Parametreleri
rsi_period = input(14, title="RSI Periyodu")
rsi_overbought = input(70, title="RSI Aşırı Alım Seviyesi")
rsi_oversold = input(30, title="RSI Aşırı Satım Seviyesi")
ema_period = input(400, title="EMA Periyodu")
use_ema = input(true, title="EMA Şartını Kullan")
sl_pct = input(1, title="Stop-Loss (%)") / 100
tp_pct = input(1, title="Take-Profit (%)") / 100
// Belirtilen Zaman Diliminde RSI ve EMA Hesaplamaları
rsi = ta.rsi(close, rsi_period)
ema = ta.ema(close, ema_period)
// Long ve Short Sinyalleri
long_signal = rsi[2] > rsi_overbought and rsi < rsi_overbought and (close > ema or not use_ema)
short_signal = rsi[2] < rsi_oversold and rsi > rsi_oversold and (close < ema or not use_ema)
// Alım/Satım İşlemleri
if long_signal
strategy.entry("Long", strategy.long)
if short_signal
strategy.entry("Short", strategy.short)
// Stop-Loss ve Take-Profit Uygulaması
if strategy.position_size > 0
long_stop_loss = close * (1 - sl_pct)
long_take_profit = close * (1 + tp_pct)
strategy.exit("Long Exit", from_entry="Long", stop=long_stop_loss, limit=long_take_profit)
if strategy.position_size < 0
short_stop_loss = close * (1 + sl_pct)
short_take_profit = close * (1 - tp_pct)
strategy.exit("Short Exit", from_entry="Short", stop=short_stop_loss, limit=short_take_profit)
// Sinyalleri Grafikte Göster
plotshape(series=long_signal, title="Long Sinyali", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=short_signal, title="Short Sinyali", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
plot(ema, title="EMA 400", color=color.orange)