
Эта стратегия является стратегией отслеживания тенденций, основанной на пересечении нескольких скользящих средних индексов (EMA). Она использует три линии EMA на 20, 50 и 100 дней, чтобы судить о тенденциях рынка и совершать покупки и продажи при выполнении определенных условий. Эта стратегия предназначена для захвата среднесрочных и долгосрочных тенденций, а также для повышения надежности сигнала путем пересечения нескольких временных рамок.
Условия покупки:
Условия продажи:
Логика стратегии:
Подтверждение в нескольких временных рамках: использование трех различных циклов EMA может обеспечить более надежное подтверждение тренда и уменьшить количество ложных прорывов.
Механизм непрерывного подтверждения: требование о выполнении условий покупки два дня подряд позволяет уменьшить ошибочные действия на рынке в условиях потрясений.
Тренд-слежение: стратегия позволяет зафиксировать среднесрочные и долгосрочные тенденции, следуя за тем, как цена пробивается через EMA.
Управление рисками: 20% целевой прибыли, чтобы заблокировать прибыль вовремя.
Гибкий механизм выхода: выход, когда цена опускается ниже любой из EMA, помогает своевременно остановить убытки.
Визуализация: стратегия начертила на графике три линии EMA, что позволяет визуально анализировать состояние рынка.
Задержка: сама EMA имеет определенную задержку, которая может привести к недостаточному времени для входа и выхода из игры.
Недостаточная динамика рынка колебаний: в случае поперечного колебания рынка может часто появляться ложный сигнал.
Фиксированный процент остановки: фиксированная остановка 20% может быть преждевременно отключена в сильных условиях.
Отсутствие механизма остановки убытков: стратегия не имеет четкой настройки остановки убытков и может понести большие убытки в случае резкого переворота.
Чувствительность параметров: выбор цикла EMA может оказать существенное влияние на эффективность стратегии.
Введение адаптивных ЭМА: можно рассмотреть возможность использования адаптивных ЭМА для динамического корректировки циклов движущихся средних для адаптации к различным рыночным условиям.
Добавление количественных показателей: в сочетании с RSI, MACD и другими показателями, можно повысить точность входа и выхода из игры.
Оптимизация стоп-стоп: можно рассмотреть возможность использования стоп-стоп с отслеживанием или динамического стоп-стопа на основе ATR для оптимизации управления рисками.
Фильтрация на рыночную среду: добавление индикатора интенсивности тренда, такого как ADX, для совершения сделки только на рынке с сильной тенденцией.
Раздельное строительство и уменьшение запасов: можно рассматривать возможность создания нескольких позиций в мирное время, чтобы снизить риск одного ценового пункта.
Оптимизация обратной связи: для выявления оптимальных параметров для обратной связи различных комбинаций циклов EMA.
Условия увеличения объема транзакций: рассмотреть возможность добавления подтверждения объема транзакций, повысить надежность сигнала.
Многократная EMA - это система среднесрочного и долгосрочного отслеживания тенденций, объединяющая несколько временных рамок. Стратегия повышает надежность сигнала, требуя, чтобы цена преодолела несколько EMA и последовательно подтверждала. Однако, у стратегии также есть некоторые присущие ей ограничения, такие как эффективность и потенциальная отсталость на рынке во время колебаний.
/*backtest
start: 2023-06-15 00:00:00
end: 2024-06-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Strategy", overlay=true)
// Define EMAs
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
// Variables to track consecutive days condition
var bool buy_condition = false
var bool prev_buy_condition = false
// Buy condition logic
if (close > ema20 and close > ema50 and close > ema100)
prev_buy_condition := buy_condition
buy_condition := true
else
buy_condition := false
// Buy only if condition is true for 2 consecutive days
buy_signal = buy_condition and prev_buy_condition
// Sell conditions
sell_condition = close < ema20 or close < ema50 or close < ema100 or strategy.netprofit / strategy.equity * 100 >= 20
// Plot EMAs
plot(ema20, color=color.blue, title="EMA 20")
plot(ema50, color=color.red, title="EMA 50")
plot(ema100, color=color.green, title="EMA 100")
// Execute strategy orders
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_condition)
strategy.close("Buy")