
Многослойная динамическая стратегия EMA - это система отслеживания тенденций, которая сочетает в себе первичное равновесное облако (Ichimoku Cloud) и индексную движущуюся среднюю (EMA). Эта стратегия идентифицирует направление рыночной тенденции, определяя цены относительно местоположения облаков, фильтратор объема торговли и технический индикатор EMA, и в подходящее время посылает сигналы покупки и продажи. Эта стратегия одновременно использует динамический механизм остановки для контроля риска, что делает ее относительно полной торговой системой.
Эта стратегия основана на следующих ключевых принципах:
На первый взгляд, это не так.
Объем транзакций подтвержден:
Фильтр EMA:
Параметры остановки:
Стратегия, которая запускает логический процесс:
Подтверждение множественных показателейВключение нескольких технических показателей, таких как первичное равновесное облако, объем торгов и EMA, повышает надежность сигнала и снижает риск ложного сигнала.
Гибкая конфигурация: Политика позволяет пользователям настраивать, нужно ли удовлетворять условиям фильтрации EMA, обеспечивая адаптацию к различным рыночным условиям.
Полное управление рискамиС помощью % Stop Loss, предоставляя четкие параметры контроля риска, защищая безопасность средств.
Умение улавливать тенденцииНа первый взгляд, облако равновесия само по себе является отличным инструментом для определения тенденций, и в сочетании с подтверждением EMA, оно усиливает способность стратегии фиксировать среднесрочные и долгосрочные тенденции.
Мобильность• С помощью фильтра объема торгов, чтобы гарантировать, что торговля осуществляется только при наличии достаточной ликвидности на рынке, чтобы избежать неопределенности в условиях низкой ликвидности.
Ясная логика входа и выходаСтратегия имеет четкие условия входа (прорыв в облаке + объем торгов) и выхода (прорыв или остановка EMA), что позволяет прояснить процесс принятия решений по торговле.
Нехорошие показатели на горизонтальном рынкеВ качестве стратегии отслеживания тенденций, в условиях поперечного колебания часто может возникать ошибочный сигнал, что приводит к непрерывным потерям. Решение: можно добавить фильтр волатильности, приостановить торговлю в условиях низкой волатильности.
Риск отставанияНа первом взгляде показатель равновесного облака имеет определенную отсталость, особенно в случае с перемещением в 26 циклов, что может привести к нежелательному времени входа. Решение: можно рассмотреть возможность корректировки параметров перемещения или использования более чувствительных краткосрочных показателей в качестве вспомогательного.
Частота снятия поврежденийНастройка: В высоко волатильных рынках установка 2% стоп-лосса может быть слишком жесткой, что приводит к частому ее срабатыванию. Решение: Динамическая настройка стоп-лосса в зависимости от волатильных характеристик торговой марки.
Параметр ЧувствительностьЭффективность стратегии чувствительна к параметрам (например, к циклам EMA, параметрам первичного равновесного облака), и в разных рыночных условиях могут потребоваться разные параметры. Решение: проведение тестов на оптимизацию параметров, чтобы найти более стабильную комбинацию параметров.
Отсутствие целевой прибыли: стратегия определяет четкие стоп-лосы, но не устанавливает целевые показатели прибыли, что может привести к потере уже прибыльной прибыли при отклонении. Решение: увеличение параметров целевых показателей для перемещения стоп-лосов или прибыли.
Изменение динамических параметров:
Увеличение рыночных фильтров:
Оптимизация тормозного механизма:
Вход и выход в группах:
Добавить индикатор обратного подтверждения:
Многослойная динамическая стратегия EMA - это система отслеживания тенденций, использующая в комплексе облако сбалансированности, EMA и фильтры объема сделок. Благодаря совместному использованию нескольких технических показателей, стратегия может лучше идентифицировать тенденции и предоставлять четкие сигналы входа и выхода. В то же время встроенный механизм остановки убытков обеспечивает контроль риска.
Ключевое преимущество стратегии заключается в том, что она комплексно учитывает несколько ключевых торговых факторов, таких как положение цены, направление тенденции, объем торгов и динамические остановки, создавая относительно полную рамку для принятия решений о торговле. Однако, как система отслеживания тенденций, стратегия может плохо работать на горизонтальных рынках, и параметры имеют определенную чувствительность.
В конечном счете, стратегия предоставляет трейдерам, следящим за тенденциями, структурированную техническую аналитическую структуру, которая помогает им контролировать риски, одновременно используя возможности тренда.
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud Buy & Sell w/ Custom EMA & Volume Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
conversionPeriods = input.int(9, title="Tenkan-sen Periods")
basePeriods = input.int(26, title="Kijun-sen Periods")
displacement = input.int(26, title="Cloud Displacement")
laggingSpan = input.int(52, title="Senkou Span B Periods")
emaPeriod = input.int(44, title="EMA Length for Exit", minval=1)
avgVolLen = input.int(10, title="Average Volume Length for Filter")
useStopLoss = input.bool(true, title="Use Stop Loss for Exits")
stopLossPerc = input.float(2.0, title="Stop Loss (%)", minval=0.1, step=0.1)
requireAboveEMA = input.bool(true, title="Only Buy Above EMA?")
requireBelowEMA = input.bool(true, title="Only Sell Below EMA?")
// === ICHIMOKU CALCULATIONS ===
tenkan = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
kijun = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (ta.highest(high, laggingSpan) + ta.lowest(low, laggingSpan)) / 2
senkouA_now = senkouA[displacement]
senkouB_now = senkouB[displacement]
// === EMA CALC ===
emaVal = ta.ema(close, emaPeriod)
// === VOLUME CONDITION ===
avgVol = ta.sma(volume[1], avgVolLen) // Excludes current candle's volume
volCondition = volume > avgVol
// === BUY CONDITION ===
buyCondition = (close > senkouA_now and close > senkouB_now and volCondition and (not requireAboveEMA or close > emaVal))
if buyCondition
stopLevel = useStopLoss ? close * (1 - stopLossPerc / 100) : na
strategy.entry("Buy", strategy.long)
if useStopLoss
strategy.exit("Buy SL", from_entry="Buy", stop=stopLevel)
// === SELL CONDITION ===
sellCondition = (close < senkouA_now and close < senkouB_now and volCondition and (not requireBelowEMA or close < emaVal))
if sellCondition
stopLevelSell = useStopLoss ? close * (1 + stopLossPerc / 100) : na
strategy.entry("Sell", strategy.short)
if useStopLoss
strategy.exit("Sell SL", from_entry="Sell", stop=stopLevelSell)
// === EXIT CONDITIONS ===
exitBuy = close < emaVal // Exit long if close < EMA
if exitBuy
strategy.close("Buy")
exitSell = close > emaVal // Exit short if close > EMA
if exitSell
strategy.close("Sell")
// === PLOTS ===
plot(emaVal, color=color.yellow, linewidth=2, title="EMA")
plot(senkouA, color=color.green, title="Senkou Span A", offset=displacement)
plot(senkouB, color=color.red, title="Senkou Span B", offset=displacement)