Эта стратегия сочетает в себе скользящие средние и индикатор MACD для определения тенденций и генерации торговых сигналов. Она относится к типичной стратегии следования тренду. Она использует две скользящие средние ZLSMA разных временных рамок для определения направления тренда и кроссовер MACD для генерации конкретных сигналов покупки и продажи. Это позволяет эффективно улавливать средне- и долгосрочные тенденции, избегая введения в заблуждение краткосрочным рыночным шумом.
Стратегия состоит из следующих основных компонентов:
Быстрая ZLSMA и медленная ZLSMA: сравнение скользящих средних ZLSMA различных временных рамок определяет общее направление тренда. Быстрая линия состоит из 32-периодической ZLSMA, а медленная линия состоит из 400-периодической ZLSMA. Когда быстрая линия пересекает медленную линию, это быстрый сигнал и наоборот.
Индикатор MACD: MACD рассчитывается путем вычитания медленной линии (26-периодической EMA) от быстрой линии (12-периодической EMA).
Торговые сигналы: Сигналы покупки и продажи генерируются только тогда, когда направление тренда ZLSMA совпадает с перекрестными сигналами MACD. В частности, идти на длинный, когда бычий тренд совпадает с золотым крестом MACD, и идти на короткий, когда медвежий тренд совпадает с крестом смерти MACD.
Стоп-лосс и прибыль: в настоящее время стратегия не включает логику стоп-лосса и прибыли, которая нуждается в дальнейшей оптимизации.
Сочетание использования скользящих средних для определения основного тренда и MACD для определения времени входа может эффективно отфильтровать ложные прорывы и избежать введения в заблуждение краткосрочным рыночным шумом.
Основными преимуществами этой стратегии являются:
Поймать тенденции: использование скользящих средних различных временных рамок для определения направления тренда позволяет торговать с трендом и эффективно улавливать средне- и долгосрочные тенденции.
Фильтрация шума: применение индикатора MACD помогает отфильтровать краткосрочный рыночный шум и избежать ввода в заблуждение небольшими рынками.
Настраиваемые параметры: Периоды скользящей средней и параметры MACD настраиваются и могут быть оптимизированы для различных рынков.
Легко реализовать: все используемые показатели являются общими техническими показателями.
Контролируемый риск: при наличии четкой системы стоп-лосса и прибыли можно контролировать риск и прибыль каждой сделки.
Основными рисками этой стратегии являются:
Неправильное определение тренда: если основная тенденция определяется неправильно, все сделки могут привести к потерям.
Неправильная оптимизация параметров: скользящий средний показатель и параметры MACD должны быть тщательно протестированы и оптимизированы, иначе результаты могут быть неудовлетворительными.
Отсутствие стоп-лосса: в настоящее время нет стоп-лосса, что создает риск чрезмерных потерь.
Ограниченный потенциал прибыли: как стратегия, следующая за тенденцией, потенциал прибыли каждой сделки ограничен, что требует большого объема для повышения прибыльности.
Высокая частота торговли: Неправильная настройка параметров может привести к чрезмерной частоте торговли, увеличению затрат на транзакции и сдвигу.
Стратегия может быть дополнительно оптимизирована в следующих аспектах:
Добавьте механизм остановки потери: Установите правильные точки остановки потери, чтобы строго контролировать максимальную потерю на сделку.
Оптимизировать параметры: Backtest и оптимизировать, чтобы найти оптимальную комбинацию скользящей средней и параметров MACD.
Низкая частота торговли: регулируйте параметры, чтобы гарантировать, что торговые сигналы генерируются только при выраженном тренде.
Включайте другие факторы: такие факторы, как изменения объема, могут быть добавлены для подтверждения тенденции и сигналов.
Улучшить сроки входа: дальнейшее улучшение использования MACD для повышения точности входа.
Всеобщее применение: оптимизировать параметры, чтобы сделать стратегию широко применимой для различных продуктов, расширяя применимость.
В заключение, эта стратегия эффективно улавливает средне- и долгосрочные тенденции с помощью простого, но эффективного сочетания скользящих средних и MACD, что делает ее прочной количественной основой для стратегии торговли.
/*backtest start: 2023-11-07 00:00:00 end: 2023-11-10 05:00:00 period: 1m basePeriod: 1m 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/ // © veryfid //@version=5 strategy("Stratégie ZLSMA Bruno", shorttitle="Stratégie ZLSMA Bruno", overlay=false) source = close useCurrentRes = input(true, title="Use Current Chart Resolution?") smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below") sd = input(true, title="Show Dots When MacD Crosses Signal Line?") sh = input(true, title="Show Histogram?") macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?") hist_colorChange = input(true,title="MacD Histogram 4 Colors?") //res = useCurrentRes ? period : resCustom fastLength = input(12), slowLength=input(26) signalLength=input(9) fastMA = ta.ema(source, fastLength) slowMA = ta.ema(source, slowLength) macd = fastMA - slowMA signal = ta.sma(macd, signalLength) hist = macd - signal outMacD = macd outSignal = signal outHist = hist histA_IsUp = outHist > outHist[1] and outHist > 0 histA_IsDown = outHist < outHist[1] and outHist > 0 histB_IsDown = outHist < outHist[1] and outHist <= 0 histB_IsUp = outHist > outHist[1] and outHist <= 0 //MacD Color Definitions macd_IsAbove = outMacD >= outSignal macd_IsBelow = outMacD < outSignal //plot_color = hist_colorChange ? histA_IsUp ? aqua : histA_IsDown ? blue : histB_IsDown ? red : histB_IsUp ? maroon :yellow :gray macd_color = macd_colorChange ? macd_IsAbove ? color.lime : color.red : color.red //signal_color = macd_colorChange ? macd_IsAbove ? yellow : yellow : lime circleYPosition = outSignal //plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=4) //plot(smd and outSignal ? outSignal : na, title="Signal Line", color=signal_color, style=line ,linewidth=2) //plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=histogram, linewidth=4) plot(sd and ta.cross(outMacD, outSignal) ? circleYPosition : na, title="Cross", style=plot.style_circles, linewidth=4, color=macd_color) hline(0, '0 Line', linestyle=hline.style_solid, linewidth=2, color=color.white) // Paramètres de la ZLSMA length = input(32, title="Longueur") offset = input(0, title="Décalage") src = input(close, title="Source") lsma = ta.linreg(src, length, offset) lsma2 = ta.linreg(lsma, length, offset) eq = lsma - lsma2 zlsma = lsma + eq length_slow = input(400, title="Longueur") offset_slow = input(0, title="Décalage") lsma_slow = ta.linreg(src, length_slow, offset_slow) lsma2_slow = ta.linreg(lsma_slow, length_slow, offset_slow) eq_slow = lsma_slow - lsma2_slow zlsma_slow = lsma_slow + eq_slow // Paramètres de la sensibilité sensitivity = input(0.5, title="Sensibilité") // Règles de trading longCondition = zlsma < zlsma_slow and zlsma_slow < zlsma_slow[1] and zlsma > zlsma[1] and ta.cross(outMacD, outSignal) and macd_color == color.lime//ta.crossover(zlsma, close) and ta.crossover(zlsma, zlsma[1]) // Croisement vers le haut shortCondition = zlsma > zlsma_slow and zlsma_slow > zlsma_slow[1] and zlsma < zlsma[1] and ta.cross(outMacD, outSignal) and macd_color == color.lime //ta.crossunder(zlsma, close) and ta.crossunder(zlsma, zlsma[1]) // Croisement vers le bas // Entrée en position strategy.entry("Achat", strategy.long, when=longCondition) strategy.entry("Vente", strategy.short, when=shortCondition) botifySignalZLSMA = longCondition ? 1 : shortCondition ? -1 : 0 plot(botifySignalZLSMA, title='Botify_signal', display=display.none) // Sortie de position strategy.close("Achat", when=ta.crossunder(zlsma, close)) // Close the "Achat" position strategy.close("Vente", when=ta.crossover(zlsma, close)) // Close the "Vente" position // Tracé de la courbe ZLSMA plot(zlsma, color=color.yellow, linewidth=3) plot(zlsma_slow, color=color.red, linewidth=3)