Тенденция в соответствии со стратегией экспоненциальной скользящей средней

Автор:Чао Чжан, Дата: 2023-12-01 13:46:46
Тэги:

img

Обзор

Стратегия экспоненциальной движущейся средней по тренду - это количественная торговая стратегия, основанная на тенденциях. Она использует экспоненциальные движущиеся средние (EMAs) с различными периодами для выявления потенциальных сигналов входа и выхода на крипторынке. Отслеживая перекрестности между различными EMA, можно обнаружить как возможности отступления, так и возможности входа в тренд, чтобы максимизировать потенциальные прибыли, снижая риски.

Логика стратегии

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

Есть два входных сигнала:

  1. Pullback Entry: переход цены закрытия по 12--, 24- и 72-периодным EMA образует сигнал о обратном входе.
  2. Вход в тренд: закрытие ценового пересечения 72-периодической EMA вместе с 8-периодической EMA, одновременно пересекающей как 12-периодическую, так и 24-периодическую EMA, образует сигнал входа в тренд.

Есть три выхода:

  1. Фиксированная прибыль: фиксированное значение, такое как 100 пипсов, установленное в качестве цели прибыли.
  2. Фиксированная остановка, примерно 50 пипсов.
  3. Выход с обратного направления: пересечение 24-периодного EMA ниже 12-периодного EMA указывает на изменение тенденции выхода.

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

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

  1. Сильная способность отслеживать тенденции и быстро улавливать изменения на рынке.
  2. Высокая точность в определении направления тренда.
  3. Хорошая гибкость для входа как в тренды, так и в отступления.
  4. Устойчивый контроль рисков с механикой стоп-лосса.

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

Необходимо предотвратить некоторые риски:

  1. Риск, связанный с неправильным настройкой ключевых параметров, таких как периоды EMA, влияющие на эффективность стратегии.
  2. Риск ошибочного оценки сигналов об изменении тренда от перекрестных показателей EMA.
  3. Чрезмерно агрессивный стоп-лосс, вызывающий перевыход.

Следующие меры могут помочь контролировать вышеуказанные риски:

  1. Оптимизировать параметры путем выбора подходящих комбинаций периодов EMA.
  2. Добавьте другие показатели, чтобы подтвердить обратные действия.
  3. Механизм тонкой настройки остановки потери путем расслабления уровней остановки.

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

Есть возможности для дальнейшей оптимизации:

  1. Добавьте другие фильтры, такие как MACD и Bollinger Bands, чтобы улучшить точность.
  2. Динамическое регулирование уровней стоп-лосса при условии высокой волатильности.
  3. Проверяйте различные символы и временные рамки, чтобы найти лучшие конфигурации.
  4. Настраивайте цели прибыли и стоп-лосс на основе желания рисковать.

Заключение

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


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
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/
// © moondevonyt

//@version=5
strategy("Cornoflower Trend Following Crypto", overlay=true)

// Input Settings
lenEma8 = input(8, title="Length of 8 EMA")
lenEma12 = input(12, title="Length of 12 EMA")
lenEma24 = input(24, title="Length of 24 EMA")
lenEma72 = input(72, title="Length of 72 EMA")

// Calculate the EMAs
ema8 = ta.ema(close, lenEma8)
ema12 = ta.ema(close, lenEma12)
ema24 = ta.ema(close, lenEma24)
ema72 = ta.ema(close, lenEma72)

// Entry Conditions
pullbackEntry = ta.crossover(close, ema12) and ta.crossover(close, ema24) and ta.crossover(close, ema72)
initialEntry = ta.crossover(close, ema72) and ta.crossover(ema8, ema12) and ta.crossover(ema8, ema24)

// Exit Conditions
profitTarget = 100 // Example target in pips, adjust according to your preference
trailingStop = 50 // Example trailing stop value in pips, adjust according to your preference
exitCondition = ta.crossunder(ema12, ema24)

// Execute Strategy
if pullbackEntry
    strategy.entry("Pullback Entry", strategy.long)
if initialEntry
    strategy.entry("Initial Entry", strategy.long)

if strategy.position_size > 0
    strategy.exit("Profit Target", "Pullback Entry", limit=close + (profitTarget * syminfo.mintick))
    strategy.exit("Trailing Stop", "Pullback Entry", stop=close - (trailingStop * syminfo.mintick), trail_points=trailingStop)
    strategy.exit("Exit Condition", "Initial Entry", stop=close, when=exitCondition)
    
// Plot EMAs
plot(ema8, color=color.yellow, title="8 EMA", linewidth=1, style=plot.style_line)
plot(ema12, color=color.purple, title="12 EMA", linewidth=1, style=plot.style_line)
plot(ema24, color=color.blue, title="24 EMA", linewidth=1, style=plot.style_line)
plot(ema72, color=color.rgb(235, 255, 59), title="72 EMA", linewidth=1, style=plot.style_line)

Больше