
Стратегия прогнозирования трендов MACD - это стратегия отслеживания трендов, основанная на индикаторе MACD и индикаторе EMA. В отличие от традиционной стратегии MACD, она генерирует торговые сигналы через перекрестку сигнальных линий, а вместо этого генерирует торговые сигналы через изменение расстояния между индикаторной линией MACD и сигнальной линией для захвата изменений в тренде.
Вычислить DEMAfast скоростной линии: вычислить дважды среднее значение MMEfast скоростной линии с помощью метода EMA, затем вычислить скоростную линию DEMAfast согласно формуле DEMAfast=((2 * MMEfast) - MMEfastb)
Вычислить медленную линию DEMAslow: вычислить медленную линию с помощью метода EMA дважды среднее значение EMA MMEslow, а затем вычислить медленную линию DEMAslow по формуле DEMAslow = (((2 * MMEslow) - MMEslowb)).
Вычислить MACD-линию: MACD-линия - это скоростная линия DEMAfast минус разница между медленной и быстрой линией DEMAslow LineMACDZeroLag。
Вычисление линии сигнала: вычислить среднее значение MMEsignal для линии MACD дважды по методу EMA, затем по линии сигнала по формуле Lignesignal=((2 * MMEsignal) - MMEsignalb) [2].
Сравнение MACD-линий и сигнальных линий: когда MACD-линия больше, чем сигнальная линия, генерируется сигнал покупки; когда MACD-линия меньше, чем сигнальная линия, генерируется сигнал продажи.
Вышеуказанные расчеты используют алгоритм DEMA, который эффективно уменьшает задержку MACD.
Используя алгоритм DEMA, можно уменьшить задержку MACD-индикаторов, что делает торговые сигналы более чувствительными.
Не полагаясь на перекрестные сигналы MACD-индикаторов, они могут поймать изменения в тренде за счет изменения расстояния между MACD и сигнальной линией, что позволяет быстрее войти в тренд.
Стратегия была точна в оценке трендов, коэффициент прибыли мог достигать 1.6-3.5, а прибыль была более высокой.
Логика стратегии проста, понятна, легко понятна и подходит для количественной торговли.
MACD, как отсталый индикатор, может создать большое количество недействительных торговых сигналов при свертывании.
Несмотря на то, что алгоритм DEMA может уменьшить, но не полностью устранить задержку, она все еще существует.
В качестве стратегии, основанной на тренде, прибыль может быть низкой в условиях потрясений.
Необходимо оптимизировать параметры sma, lma,tsp, чтобы адаптироваться к различным периодам и разновидностям.
Может потребоваться добавление стратегии по сдерживанию убытков.
Оптимизация параметров sma, lma,tsp в соответствии с различными циклами и видами торгов.
Добавление динамической стратегии остановки убытков, подобной ATR, для управления каждым убытком.
Вместе с трендовыми индикаторами избегайте торговли в условиях шока.
Добавление контроля за объемом сделки и корректировка позиций в зависимости от степени волатильности рынка.
Оптимизация логики входа и выхода, усовершенствование правил торговых сигналов.
Стратегия прогнозирования трендов MACD имеет определенное преимущество в улучшении методов расчета MACD-индикаторов, использовании алгоритма DEMA для уменьшения отставания и использовании MACD и изменения расстояния от сигнальной линии для определения тренда. В качестве стратегии отслеживания тренда она может эффективно улавливать изменения тренда, коэффициент прибыли может достигать 1.6-3.5, но все еще требует дальнейшей оптимизации параметров, стратегии остановки убытков, фильтрации колебаний и т. Д., Чтобы адаптироваться к более широким рыночным условиям, это будет направление развития этой стратегии.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © moritz1301
//@version=4
strategy("MACD Trendprediction Strategy V1", shorttitle="MACD TPS", overlay=true)
sma = input(12,title='DEMA Courte')
lma = input(26,title='DEMA Longue')
tsp = input(9,title='Signal')
dolignes = input(true,title="Lignes")
MMEslowa = ema(close,lma)
MMEslowb = ema(MMEslowa,lma)
DEMAslow = ((2 * MMEslowa) - MMEslowb )
MMEfasta = ema(close,sma)
MMEfastb = ema(MMEfasta,sma)
DEMAfast = ((2 * MMEfasta) - MMEfastb)
LigneMACDZeroLag = (DEMAfast - DEMAslow)
MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )
MACDZeroLag = (LigneMACDZeroLag - Lignesignal)
bgcolor(LigneMACDZeroLag<Lignesignal ? color.red : color.green)
if (LigneMACDZeroLag>Lignesignal)
strategy.entry("Buy", strategy.long, comment="BUY")
if (LigneMACDZeroLag<Lignesignal)
strategy.close("Buy", strategy.long, comment="SELL")