
Chiến lược này là một hệ thống chiến lược đảo ngược xu hướng dựa trên sự giao thoa của nhiều chỉ số kỹ thuật, sử dụng kết hợp của ba chỉ số kỹ thuật cổ điển EMA, MACD và RSI, kết hợp với lợi thế kép của việc theo dõi xu hướng và phán đoán đảo ngược. Chiến lược sử dụng chỉ số di chuyển trung bình 20 và 50 chu kỳ (EMA) để đánh giá hướng xu hướng tổng thể, sử dụng chỉ số MACD để bắt điểm biến xu hướng, đồng thời kết hợp với tín hiệu lọc RSI để tạo thành một hệ thống quyết định giao dịch hoàn chỉnh. Chiến lược đặt mục tiêu lợi nhuận 1.5% để bảo vệ lợi nhuận giao dịch bằng cách dừng điều kiện rõ ràng.
Chiến lược này sử dụng một cơ chế lọc ba chỉ số: đầu tiên, xác định xu hướng chủ yếu của thị trường thông qua mối quan hệ vị trí của EMA nhanh (chu kỳ 20) và EMA chậm (chu kỳ 50), xác định xu hướng tăng khi đường nhanh nằm trên đường chậm và ngược lại là xu hướng giảm. Tiếp theo, sử dụng chỉ số MACD được đặt trong chu kỳ ngắn (6,13,5) để nắm bắt các ngõ xu hướng, chéo của đường MACD với đường tín hiệu cung cấp tín hiệu giao dịch.
Đây là một chiến lược đảo ngược xu hướng được thiết kế hoàn hảo, cung cấp cơ hội giao dịch thường xuyên hơn bằng cách sử dụng nhiều chỉ số kỹ thuật kết hợp, đồng thời đảm bảo độ tin cậy. Ưu điểm cốt lõi của chiến lược là hệ thống tín hiệu rõ ràng và điều kiện nhập cảnh nghiêm ngặt, nhưng cũng cần chú ý đến rủi ro tín hiệu giả và kiểm soát rút lui.
/*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)