
Die Strategie ist ein Trend-Umkehr-Strategie-System, das auf einer Kreuzung von mehreren technischen Indikatoren basiert. Die Kombination der drei klassischen technischen Indikatoren EMA, MACD und RSI kombiniert die doppelten Vorteile des Trend-Trackings und des Umkehrungsurteils. Die Strategie verwendet einen Index-Moving Average (EMA) mit 20 und 50 Zyklen, um die Richtung des Gesamttrends zu bestimmen.
Die Strategie nutzt einen dreifachen Indikatorfiltermechanismus: zuerst wird der Marktmeistertrend anhand der Positionsbeziehung zwischen dem schnellen EMA ((20-Zyklus) und dem langsamen EMA ((50-Zyklus) beurteilt. Wenn die schnelle Linie oberhalb der langsamen Linie liegt, wird sie als Aufwärtstrend und nicht als Abwärtstrend identifiziert.
Es handelt sich um eine gut konzipierte Trend-Umkehr-Strategie, die durch die kombinierte Verwendung von mehreren technischen Indikatoren häufigere Handelsmöglichkeiten bietet, während die Zuverlässigkeit gewährleistet wird. Die Kernvorteile der Strategie liegen in ihrem klaren Signalsystem und strengen Einstiegsbedingungen, aber auch in der Beachtung von Falschsignalrisiken und Rücknahme-Kontrollen.
/*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)