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

Автор:Чао Чжан, Дата: 2024-02-02 11:41:34
Тэги:

img

Обзор

Эта стратегия генерирует торговые сигналы путем вычисления перекрестных пересечений между 5-дневной экспоненциальной скользящей средней (EMA) и 20-дневной простой скользящей средней (SMA).

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

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

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

Подробные шаги:

  1. Расчет 5-дневной EMA, 20-дневной SMA и TII
  2. Сгенерировать сигнал покупки, когда 5-дневная EMA пересекает 20-дневную SMA, в то время как TII является положительным и растет
  3. Введите длинную позицию
  4. Закрытие позиции, когда изменение цены достигает 5% или -5%

Преимущества

Эта стратегия использует золотой перекресток между двумя МА и имеет следующие преимущества:

  1. Ясные и простые торговые сигналы, которые легко реализовать.
  2. МА являются основными и распространенными техническими показателями, золотой крест является классическим и надежным.
  3. Включение TII может отфильтровать некоторые неопределенные сигналы и улучшить показатель победы.
  4. Предварительно определенные стандарты стоп-лосса/приобретения прибыли эффективно контролируют риск по сделке.

В целом, эта стратегия имеет простые правила, использует зрелые технические показатели, такие как кроссоверы MA, и имеет относительно всеобъемлющие измерения контроля риска.

Риски

В этой стратегии все еще есть некоторые риски:

  1. Сигналы пересечения MA могут задерживаться.
  2. Показатель TII не работает хорошо на рынках с ограниченным диапазоном.
  3. Фиксированные стандарты стоп-лосса/приобретения прибыли могут быть произвольными.

Предложены следующие улучшения:

  1. Оптимизируйте параметры MA, чтобы уменьшить задержку.
  2. Добавление других вспомогательных показателей для повышения надежности сигнала.
  3. Установка динамических стандартов стоп-лосса/прибыли.

Так что есть место для дальнейшей оптимизации.

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

Эта стратегия может быть улучшена в следующих аспектах:

  1. Оптимизировать параметры MA путем тестирования комбинаций короткой/длинной EMA и SMA для поиска оптимальной пары.

  2. Добавьте другие индикаторы, такие как MACD, KDJ, чтобы отфильтровать ложные сигналы.

  3. Использовать алгоритмы машинного обучения для поиска лучших параметров с помощью моделирования исторических данных и статистики.

  4. Для лучшего контроля рисков устанавливается динамический режим стоп-лосса/приобретения прибыли на основе волатильности рынка и характеристик инструмента.

  5. Расширьте эту стратегию на другие продукты, такие как форекс, криптовалюты.

Благодаря вышеуказанным улучшениям стабильность и рентабельность этой стратегии могут быть существенно улучшены.

Заключение

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


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA-SMA Crossover Strategy", shorttitle="EMA-SMA Cross", overlay=true)

// Define the moving averages
ema5 = ta.ema(close, 5)
sma20 = ta.sma(close, 20)
smaVolume10 = ta.sma(volume, 50)

majorLength = input(60, title="Major Length")
minorLength = input(30, title="Minor Length")
src = input(close, title="Source")

smaValue = ta.sma(src, majorLength)

positiveSum = 0.0
negativeSum = 0.0

for i = 0 to minorLength - 1
    price = na(src[i]) ? 0 : src[i]
    avg = na(smaValue[i]) ? 0 : smaValue[i]
    positiveSum := positiveSum + (price > avg ? price - avg : 0)
    negativeSum := negativeSum + (price > avg ? 0 : avg - price)

tii = 100 * positiveSum / (positiveSum + negativeSum)

// Buy condition: 5 EMA crosses above 20 SMA
buyCondition = ta.crossover(ema5, sma20) and tii > 0 and tii >= tii[1]

//and volume > smaVolume10 //

// Track entry price
var entryPrice = 0.0
if (buyCondition)
    entryPrice := close

// Calculate percentage change from entry price
priceChange = close / entryPrice - 1

// Plotting the moving averages on the chart
plot(ema5, color=color.blue, title="5 EMA")
plot(sma20, color=color.red, title="20 SMA")

// Highlighting buy signals and exit signals on the chart
// plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, size=size.small, style=shape.labelup, text="Buy")

// Strategy entry and exit
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.opentrades > 0)
    if (priceChange >= 0.05 or priceChange <= -0.05)
        strategy.close("Buy")


Больше