
Эта стратегия является системой реверсионной стратегии тренда, основанной на скрещивании нескольких технических индикаторов, с использованием трех классических технических индикаторов EMA, MACD и RSI, в сочетании с двойными преимуществами отслеживания тренда и реверсионного суждения. Стратегия использует 20- и 50-циклические индикаторные скользящие средние ((EMA) для определения направления общей тенденции, использует индикатор MACD для захвата поворотных точек тенденции, а в сочетании с индикатором RSI для фильтрации ложных сигналов, в конечном итоге образуя целостную систему принятия решений о торговле.
В стратегии используется трехуровневый механизм фильтрации показателей: во-первых, определяется господствующая тенденция по отношению к позиции быстрых ЭМА ((20 циклов) и медленных ЭМА ((50 циклов), в то время как быстрые линии расположены выше медленных линий, которые идентифицируются как восходящие, а не как нисходящие. Затем используется индикатор MACD, установленный на короткие периоды ((6,13,5), чтобы захватить трендовые повороты, перекрёстки линии MACD с сигнальной линией обеспечивают торговый сигнал.
Это хорошо разработанная стратегия обратного тренда, которая обеспечивает более частые торговые возможности, обеспечивая при этом надежность за счет совместного использования нескольких технических показателей. Основные преимущества стратегии заключаются в ее четкой сигнальной системе и строгих условиях входа, но при этом необходимо обратить внимание на риск ложных сигналов и контроль отзыва.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Enhanced Trend Reversal Strategy with Take Profit", overlay=true)
// Параметры индикаторов
ema_fast = 20
ema_slow = 50
rsi_length = 14
macd_short = 6
macd_long = 13
macd_signal = 5
// Параметры тейк-профита
take_profit_percent = 1.5 // Тейк-профит на уровне 1.5% от цены входа
// Индикаторы EMA (ускоренные для более частых сигналов)
ema_20 = ta.ema(close, ema_fast)
ema_50 = ta.ema(close, ema_slow)
// MACD с более короткими периодами для большей чувствительности
[macd_line, signal_line, _] = ta.macd(close, macd_short, macd_long, macd_signal)
// Индикатор RSI с упрощенными уровнями для большего количества сигналов
rsi = ta.rsi(close, rsi_length)
// Сигналы на покупку и продажу с ослабленными условиями
buy_signal = ta.crossover(macd_line, signal_line) and ema_20 > ema_50 and rsi > 40
sell_signal = ta.crossunder(macd_line, signal_line) and ema_20 < ema_50 and rsi < 60
// Логика открытия сделок и расчет тейк-профита
var float take_profit_price = na // переменная для хранения уровня тейк-профита
if (buy_signal)
strategy.entry("Buy", strategy.long)
take_profit_price := close * (1 + take_profit_percent / 100) // уровень тейк-профита для покупки
if (sell_signal)
strategy.entry("Sell", strategy.short)
take_profit_price := close * (1 - take_profit_percent / 100) // уровень тейк-профита для продажи
// Основная линия тренда, меняющая цвет в зависимости от тренда
trend_color = ema_20 > ema_50 ? color.green : color.red
plot(ema_20, title="Trend Line (EMA 20)", color=trend_color, linewidth=2)
// Визуализация тейк-профита синим цветом
plot(take_profit_price, title="Take Profit", color=color.blue, linewidth=1, style=plot.style_line)
// Дополнительная визуализация: EMA 50, MACD, и RSI уровни
plot(ema_50, title="EMA 50", color=color.blue, linewidth=1)
hline(60, "RSI Upper", color=color.red)
hline(40, "RSI Lower", color=color.green)
plot(rsi, title="RSI", color=color.blue, linewidth=1)
plot(macd_line, title="MACD Line", color=color.blue)
plot(signal_line, title="Signal Line", color=color.orange)