Тенденция в соответствии со стратегией, основанной на двойной EMA

Автор:Чао Чжан, Дата: 2024-01-24 14:52:59
Тэги:

img

Обзор

Эта стратегия построена на основе двойного индикатора EMA с целью распознавания ценовых тенденций и отслеживания тенденций. Сначала она рассчитывает средне- и долгосрочную EMA и краткосрочную EMA, а затем реализует длинную позицию при наличии золотого креста и короткую позицию при наличии смертельного креста между двумя EMA. Между тем, также внедряется фильтрация наивысшего / низкого уровня для дальнейшего устранения ложных сигналов.

Принципы стратегии

Основными показателями этой стратегии являются двойные EMA, одна из которых является краткосрочной, а другая - долгосрочной.

ema1: Средне- и долгосрочный период EMA, дефолт до 34 дней
ema2: Краткосрочный период EMA, по умолчанию до 13 дней

ema_sr: средне- и долгосрочная EMA на основе ценового замыкания
highest_ema: Самая высокая EMA ema_sr, период - ema2
lowest_ema: Самая низкая EMA ema_sr, период - ema2

ema_ysl: EMA, используемая для генерации торговых сигналов, рассчитанная на основе отношения между ema_sr и highest/lowest_ema

кроссы обнаруживают золотые и смертельные кроссы между ema_sl и ema_ysl, и таким образом достигают следующего тренда.

Сочетание двойной EMA позволяет более точно оценивать ценовые тенденции. Средне- и долгосрочная EMA фильтрует краткосрочный шум, в то время как краткосрочная EMA может своевременно отслеживать повороты среднесрочных тенденций. Введение самой высокой/низкой EMA может еще больше устранить ложные сигналы и уменьшить ненужные сделки.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в точном определении тренда. Сама двойная EMA превосходит одиночную EMA, SMA и другие индикаторы для улавливания изменений тренда. Применение highest/lowest_ema может эффективно отфильтровать ложные сигналы, вызванные краткосрочными отступлениями, что имеет решающее значение для стратегий, следующих за трендом.

Кроме того, параметры этой стратегии просты и просты в настройке и оптимизации. Пользователям нужно только сосредоточиться на двух параметрах EMA, что очень интуитивно понятно. Это также делает стратегию легкой в понимании и использовании.

Анализ рисков

Основной риск этой стратегии заключается в том, что она не способна выявить изменение тренда. Когда цена формирует долгосрочные корректировки или крупные повороты, отставание двойной EMA может привести к отсутствию лучших точек входа.

Кроме того, EMA сама не имеет возможности реагировать на чрезвычайные ситуации. Стратегия может также понести убытки при возникновении событий черного лебедя.

Для смягчения вышеуказанных рисков рекомендуется сократить длительность средне- и долгосрочной EMA или ввести такие индикаторы, как MACD, чтобы справиться с чрезвычайными ситуациями.

Руководство по оптимизации

Есть возможности для дальнейшей оптимизации этой стратегии, в частности, основные направления:

  1. Испытать больше комбинаций параметров EMA для поиска оптимальных параметров;

  2. Добавить объем суждения, чтобы избежать выдачи неправильных сигналов при колебаниях цены;

  3. Сочетание линий тренда, каналов и других инструментов для более точного определения поворотных точек тренда.

Благодаря оптимизации параметров, добавлению условий фильтрации и другим средствам, это обещает еще больше улучшить стабильность и рентабельность стратегии.

Резюме

В целом, эта стратегия имеет относительно сильную способность идентифицировать тенденции, отфильтровывая шум с двойной EMA и эффективно сглаживая кривую цены.

Однако сама стратегия имеет некоторое отставание в своевременном выявлении обратных тенденций. Это основной риск, с которым она сталкивается, а также ключевое направление для будущих оптимизаций. Мы с нетерпением ждем дальнейшего повышения надежности стратегии посредством настройки параметров, фильтрации сигналов и других средств, чтобы она могла достигать устойчивой доходности в более рыночных условиях.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Modified from kivancfr3762's A2MK script

strategy("EMA STRATEGY", overlay=true)

ema2=input(13, "EMA2 Length")
ema1=input(34, "EMA1 Length")

ema_sr = ema((max(close[1], high) + min(close[1], low)) / 2, ema1)

highest_ema = ema(highest(ema_sr, 3), ema2)
lowest_ema = ema(lowest(ema_sr, 3), ema2)
k1 = ema_sr > highest_ema
k2 = ema_sr < lowest_ema

ema_ysl = iff(k1, lowest_ema, highest_ema)


longCondition = crossover(ema_ysl, ema_sr)
if (longCondition)
    strategy.entry("Short", strategy.short)

shortCondition = crossunder(ema_ysl, ema_sr)
if (shortCondition)
    strategy.entry("Long", strategy.long)
    

Больше