Эта стратегия сочетает в себе индикаторы MACD и DEMA для генерации торговых сигналов из кроссоверов.
Вычислить скоростную линию DEMAfast как DEMA стоимость цены с длиной периода fastmacd.
Вычислить медленную линию DEMAslow как DEMA стоимость цены с длиной периода slowmacd.
Линия MACD - это разница между быстрыми и медленными линиями: DEMAfast - DEMAAslow.
Сигнальная линия представляет собой значение DEMA линии MACD с периодом сигнала MACd.
Кроссовры между MACD и линиями сигналов генерируют торговые сигналы: длинные на золотом кресте, короткие на смертном кресте.
Добавление фильтров даты для генерации сигналов только в пределах указанного диапазона дат.
Основными преимуществами этой стратегии являются:
Сочетание MACD и DEMA дополняет индикаторы.
Дизайн двойных рельсов DEMA уменьшает отставание и шум индикатора MACD.
Сигналы MACD легко интерпретируются, чисты и просты.
Гибкое установление фильтров даты удовлетворяет различным потребностям стратегии.
Параметры MACD могут быть оптимизированы для обеспечения гибкости в условиях рынка.
Основные риски этой стратегии:
MACD борется как индикатор тренда на неуравновешенных рынках.
Кроссоверы могут генерировать ложные сигналы, требует эффективной фильтрации.
Стратегия стоп-лосса не надежная, склонна к чрезмерным стопам.
Оптимизация параметров недостаточно всеобъемлющая, большая разница в производительности между продуктами.
Фильтр даты слишком жесткий, требует динамической настройки.
Решения:
Добавьте индикатор импульса, чтобы избежать бокового рынка.
Добавьте ценовые условия, чтобы отфильтровать ложные кресты.
Установите разумные начальные и последующие стоп-лосс.
Испытание параметров по всем продуктам, динамическая оптимизация.
Настройка дат фильтра на основе условий реального времени.
Некоторые потенциальные улучшения для стратегии:
Добавьте фильтр громкости для перекрестных сигналов.
Оптимизировать комбинации параметров MACD для различных продуктов.
Добавьте стоп-стратегии, такие как фиксированный или отстающий стоп-потеря.
Динамически корректировать стоп-лосс на основе волатильности рынка.
Отслеживать силу тренда для размещения позиций.
Стратегия MACD DEMA сочетает в себе сильные стороны обоих индикаторов, используя кроссоверы для улавливания тенденций. Но MACD по своей сути отстает, остерегайтесь ложных сигналов. Также оптимизируйте остановки, чтобы избежать необоснованной ликвидации. Для живой торговли рекомендуется осторожный вход на основе оптимизированных параметров и непрерывных улучшений.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(" MACD DEMA STRATEGY ", overlay=true) source=close price=source fastmacd = input(12,title='MACD Fast Line Length') slowmacd = input(26,title='MACD Slow Line Length') signalmacd = input(9,title='Signal Line Length') macdslowline1 = ema(close,slowmacd) macdslowline2 = ema(macdslowline1,slowmacd) DEMAslow = ((2 * macdslowline1) - macdslowline2 ) macdfastline1 = ema(close,fastmacd) macdfastline2 = ema(macdfastline1,fastmacd) DEMAfast = ((2 * macdfastline1) - macdfastline2) MACDLine = (DEMAfast - DEMAslow) SignalLine1 = ema(MACDLine, signalmacd) SignalLine2 = ema(SignalLine1, signalmacd) SignalLine = ((2 * SignalLine1) - SignalLine2 ) MACDSignal = SignalLine-MACDLine colorbar= MACDSignal>0?green:red yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(MACDLine,SignalLine) ) strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND", comment="AL") else strategy.cancel(id="MMAL") if ( crossunder(MACDLine,SignalLine) ) strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND", comment="SAT") else strategy.cancel(id="MMSAT")