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

Автор:Чао Чжан, Дата: 2024-03-11 16:17:20
Тэги:

img

Обзор

Эта стратегия сочетает в себе несколько экспоненциальных скользящих средних (EMAs) для определения потенциальных точек входа и выхода на рынок.

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

Эта стратегия использует 4 EMA с различными периодами в качестве основных показателей, а именно сверхкороткосрочную EMA (8 периодов дефолта), краткосрочную EMA (13 периодов дефолта), среднесрочную EMA (21 период дефолта) и долгосрочную EMA (55 периодов дефолта). Когда долгосрочная EMA ниже трех других EMA, считается, что текущий рынок может находиться в начале восходящей тенденции, и стратегия открывает длинную позицию; когда долгосрочная EMA выше трех других EMA, считается, что текущий рынок может находиться в начале нисходящей тенденции, и стратегия закрывает все длинные позиции. Стратегия определяет поворотные моменты тенденции путем этой комбинации длинных и коротких EMA для улавливания зарождающихся тенденций.

По сравнению с простой скользящей средней (SMA), EMA делает больший акцент на недавних ценах, и, следовательно, его тенденция более чувствительна и может быстрее реагировать на изменения цен. Скрещивание EMA с различными периодами отражает силу тенденций на разных временных масштабах. Долгосрочная EMA является наиболее стабильной и представляет собой значительную тенденцию рынка; среднесрочные и краткосрочные EMA относительно чувствительны и отражают краткосрочные и среднесрочные рыночные тенденции. В совокупности они составляют основную логику этой стратегии.

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

  1. Широкое применение: Эта стратегия основана на индикаторе EMA самой цены и применима к большинству сортов с хорошей ликвидностью и относительно плавными тенденциями, такими как различные фьючерсы, форекс, основные криптовалюты и т. Д.

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

  3. Гибкие параметры: Периодические параметры EMA могут гибко корректироваться в зависимости от характеристик сортов, инвестиционного горизонта и т.д. и обладают определенной адаптивностью.

  4. Ясная логика: стратегия генерирует торговые сигналы на основе простой комбинации длинных и коротких механизмов EMA, а логика ясна и легко понятна и реализована.

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

  1. EMA lag: EMA является по существу индикатором отслеживания тренда и имеет определенное отставание, которое может генерировать больше ложных сигналов на турбулентном рынке.

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

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

  4. Фиксированная позиция: в настоящее время стратегия открывает фиксированную позицию на 1 единицу каждый раз, отсутствует динамический контроль позиции на основе риска, а управление рисками недостаточно совершенно.

Направление оптимизации

  1. Внедрение фильтрации трендов: на основе сигналов EMA добавьте индикаторы фильтрации силы тренда, такие как ATR и ADX, чтобы отфильтровать сигналы от слабых тенденций и турбулентных периодов.

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

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

  4. Динамическая позиция: исходя из волатильности разновидностей, доли стоимости счета и т. д., количество позиций, открытых стратегией каждый раз, может быть динамически контролировано с целью достижения более высокой абсолютной доходности при одновременном снижении риска.

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

Резюме

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


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © n1ghthawk

//@version=5
strategy("donmo's 4ema", overlay=true, margin_long=100, margin_short=100)

float long = na
float short = na

lowestEMAPeriodInput = input.int(8, "Lowest EMA")
lowEMAPeriodInput = input.int(13, "Low EMA")
medEMAPeriodInput = input.int(21, "Med EMA")
highEMAPeriodInput = input.int(55, "High EMA")

lowestEMA = ta.ema(close, lowestEMAPeriodInput)
lowEMA = ta.ema(close, lowEMAPeriodInput)
medEMA = ta.ema(close, medEMAPeriodInput)
highEMA = ta.ema(close, highEMAPeriodInput)


emaLongCondition = highEMA<medEMA and highEMA<lowEMA and highEMA<lowestEMA
emaShortCondition = highEMA>medEMA and highEMA>lowEMA and highEMA>lowestEMA

longCondition = ta.change(emaLongCondition)
shortCondition = ta.change(emaShortCondition)

notInTrade = strategy.position_size <= 0
if longCondition and emaLongCondition and notInTrade
    long:=high
    strategy.entry("EL", strategy.long)

if shortCondition and emaShortCondition
    short:=low
    strategy.close("EL")


plot(long+3,title = 'long', color = color.green, linewidth = 4, style = plot.style_cross)
plot(short-3,title = 'short', color = color.red, linewidth = 4, style = plot.style_cross)

plot(lowestEMA, title = "lowestEMA", color=color.blue)
plot(lowEMA, title = "lowEMA", color=color.green)
plot(medEMA, title = "medEMA", color=color.orange)
plot(highEMA, title = "highEMA", color=color.red)

Больше