This strategy is a trend-following trading system that combines MACD (Moving Average Convergence Divergence) and RSI (Relative Strength Index). Operating on a 5-minute timeframe, it generates trading signals by analyzing MACD crossovers and RSI overbought/oversold levels. The strategy incorporates percentage-based stop-loss and take-profit mechanisms for risk management.
The strategy is based on the following core logic:
This strategy builds a trading system combining trend-following and momentum characteristics through MACD and RSI integration. Its comprehensive risk control mechanisms and clear trading logic provide good practicality. Through suggested optimization directions, the strategy has room for further improvement. Before live trading, it’s recommended to conduct thorough backtesting and adjust parameters according to specific market characteristics.
/*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)