Эта стратегия представляет собой трендоустойчивую торговую систему, которая сочетает в себе MACD (Moving Average Convergence Divergence) и RSI (Relative Strength Index). Работая на 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)