Эта стратегия представляет собой количественную торговую систему, основанную на индикаторах MACD и многопериодных EMA. Она сочетает в себе тенденционные характеристики MACD с поддержкой и сопротивлением нескольких линий EMA для создания полной системы принятия торговых решений. Система включает в себя не только генерацию сигналов, но и предупреждения в режиме реального времени, чтобы помочь трейдерам своевременно использовать рыночные возможности.
Основная логика основана на двух основных технических индикаторах. Во-первых, это индикатор MACD, состоящий из быстрой линии (12 периодов) и медленной линии (26 периодов), генерирующий торговые сигналы через их перекрестки. Сигналы покупки генерируются, когда линия MACD пересекает линию сигнала, а сигналы продажи, когда она пересекает ниже. Во-вторых, стратегия включает пять различных периодов EMA (10/20/50/100/200) в качестве ссылок на подтверждение тренда и уровни поддержки / сопротивления. Эта многопериодная EMA-конструкция помогает трейдерам лучше понять текущую тенденцию рынка.
Эта стратегия создает относительно полную торговую систему путем объединения MACD и многопериодных индикаторов EMA. Ее сильные стороны заключаются в четких сигналах, богатых аналитических измерениях и хорошей визуализации. Однако у нее также есть врожденные риски, такие как задержка и ложные сигналы. Благодаря таким мерам оптимизации, как добавление фильтрации волатильности и подтверждение объема, стабильность и надежность стратегии могут быть еще более повышены. Эта стратегия подходит для средне- и долгосрочных трейдеров, особенно превосходящихся в ясных трендовых рыночных условиях.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("REEL TIME MACD Strategy with Alerts and EMAs", overlay=true) // --- Custom Indicator: MACD --- fastLength = input(12, title="MACD Fast Length") slowLength = input(26, title="MACD Slow Length") signalSmoothing = input(9, title="MACD Signal Smoothing") src = close [macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalSmoothing) histogram = macdLine - signalLine // Plot MACD components plot(macdLine, color=color.blue, linewidth=2, title="MACD Line") plot(signalLine, color=color.orange, linewidth=2, title="Signal Line") plot(histogram, style=plot.style_histogram, color=(histogram >= 0 ? color.green : color.red), title="Histogram") // --- Custom Indicator: EMAs --- ema10 = ta.ema(src, 10) ema20 = ta.ema(src, 20) ema50 = ta.ema(src, 50) ema100 = ta.ema(src, 100) ema200 = ta.ema(src, 200) // Plot EMAs on the chart plot(ema10, color=color.green, linewidth=1, title="EMA 10") plot(ema20, color=color.blue, linewidth=1, title="EMA 20") plot(ema50, color=color.purple, linewidth=1, title="EMA 50") plot(ema100, color=color.orange, linewidth=1, title="EMA 100") plot(ema200, color=color.red, linewidth=1, title="EMA 200") // --- Strategy: Buy and Sell conditions (MACD) --- buyCondition = ta.crossover(macdLine, signalLine) // Buy when MACD crosses above signal line sellCondition = ta.crossunder(macdLine, signalLine) // Sell when MACD crosses below signal line // Execute strategy based on buy/sell conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // --- Alerts --- alertcondition(buyCondition, title="MACD Buy Alert", message="MACD XUP - Buy") alertcondition(sellCondition, title="MACD Sell Alert", message="MACD XDN - Sell") // Optional: Visualization for Buy/Sell signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")