
Strategi ini adalah sistem strategi pembalikan trend yang berasaskan silang pelbagai petunjuk teknikal, dengan penggunaan gabungan tiga petunjuk teknikal klasik EMA, MACD dan RSI, digabungkan dengan kelebihan ganda untuk mengesan trend dan membuat keputusan pembalikan. Strategi ini menggunakan purata bergerak indeks 20 dan 50 kitaran ((EMA) untuk menentukan arah trend keseluruhan, menggunakan indikator MACD untuk menangkap titik perubahan trend, sambil menggabungkan isyarat penapis RSI, dan akhirnya membentuk sistem keputusan perdagangan yang lengkap.
Strategi ini menggunakan mekanisme penapisan tiga indikator: pertama menilai trend utama pasaran melalui hubungan kedudukan EMA cepat ((20 kitaran) dan EMA perlahan ((50 kitaran)), mengenal pasti trend menaik apabila garis cepat berada di atas garis perlahan, dan sebaliknya trend menurun. Kedua, menggunakan MACD indikator yang ditetapkan pada kitaran pendek ((6,13,5) untuk menangkap trend tikungan, persilangan MACD dengan garis isyarat memberikan isyarat perdagangan.
Ini adalah strategi pembalikan trend yang direka dengan baik, dengan penggunaan gabungan pelbagai petunjuk teknikal, yang memberikan peluang perdagangan yang lebih kerap sambil memastikan kebolehpercayaan. Kelebihan utama strategi ini adalah sistem isyarat yang jelas dan syarat kemasukan yang ketat, tetapi juga perlu berhati-hati terhadap risiko isyarat palsu dan kawalan penarikan balik. Dengan arah pengoptimuman yang disyorkan, strategi ini dijangka mendapat prestasi yang lebih baik.
/*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)