この戦略は,MACD (移動平均収束差異) とRSI (相対強度指数) を組み合わせたトレンドフォローする取引システムである. 5分間のタイムフレームで動作し,MACDクロスオーバーとRSI過剰購入/過剰販売レベルを分析することによって取引信号を生成する.この戦略はリスク管理のための百分比ベースのストップ損失と利益引き取りメカニズムを組み込む.
戦略は次の基本的な論理に基づいています
この戦略は,MACDとRSIの統合を通じてトレンドフォローとモメンタム特性を組み合わせた取引システムを構築する.その包括的なリスク制御メカニズムと明確な取引論理は,良い実用性を提供します.提案された最適化方向を通じて,戦略はさらなる改善の余地があります.ライブ取引の前に,詳細なバックテストを行い,特定の市場特性に合わせてパラメータを調整することが推奨されます.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ //@version=5 strategy("MACD + RSI Basit Strateji", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // İndikatör parametreleri fastLength = input(12, "MACD Fast Length") slowLength = input(26, "MACD Slow Length") signalLength = input(9, "MACD Signal Length") rsiLength = input(14, "RSI Period") rsiOversold = input(45, "RSI Oversold Level") rsiOverbought = input(55, "RSI Overbought Level") // Stop Loss ve Take Profit ekledim stopLoss = input(1.2, "Stop Loss (%)") takeProfit = input(2.4, "Take Profit (%)") // MACD hesaplama [macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, signalLength) // RSI hesaplama rsiValue = ta.rsi(close, rsiLength) // EMA trend filtresi emaValue = ta.ema(close, 10) // Alım sinyali koşulları - sadece MACD ve RSI kullanalım longCondition = macdLine > signalLine and rsiValue < rsiOversold // Satım sinyali koşulları shortCondition = macdLine < signalLine and rsiValue > rsiOverbought // Pozisyon yönetimi - Stop Loss ve Take Profit ekledim if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("TP/SL", "Long", profit = close * takeProfit / 100, loss = close * stopLoss / 100) if (shortCondition) strategy.close("Long") // Grafik göstergeleri plotshape(longCondition, title="Alım", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large, text="AL") plotshape(shortCondition, title="Satım", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large, text="SAT") // İndikatörleri göster plot(rsiValue, "RSI", color=color.purple) hline(rsiOversold, "Oversold", color=color.gray) hline(rsiOverbought, "Overbought", color=color.gray)