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

Автор:Чао Чжан, Дата: 2024-01-31 11:29:45
Тэги:

img

Обзор

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

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

Основная логика этой стратегии заключается в принципах перекрестного взаимодействия между двумя скользящими средними.

В этой стратегии краткосрочный MA отслеживает краткосрочные тенденции, в то время как долгосрочный MA отслеживает долгосрочные тенденции.

В частности, стратегия рассчитывает MAs с использованием ta.sma за long_period и short_period, определенные пользователями. Затем она использует ta.crossover и ta.crossunder для обнаружения золотого кроссовера и кроссовера смерти между двумя MAs. Когда короткий MA пересекает длинный MA, идите в длинный. Когда короткий MA пересекает ниже, идите в короткий.

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

К основным преимуществам этой стратегии относятся:

  1. Простая логика, легко следовать.
  2. Настраиваемые параметры, адаптируемые к различным рынкам.
  3. Кроссовер MA фильтрует шум, фиксируя изменение тренда.
  4. Высокая чувствительность при обнаружении точек перемены цен.

Риски

Существует также несколько рисков:

  1. Слишком маленький разрыв между МА вызывает ложные сигналы.
  2. Неправильные периоды MA упускают основные тенденции.
  3. Обратные тенденции не всегда подразумевают изменение тренда.
  4. Параметры нужно корректировать, чтобы избежать перенастройки.

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

Оптимизация

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

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

Заключение

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


/*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=5
strategy("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true)

// User-defined input for moving averages
long_period = input(20, title="Long Period")
short_period = input(5, title="Short Period")
type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"])

// Calculating moving averages
long_ma = ta.sma(close, long_period)
short_ma = ta.sma(close, short_period)

// Plot moving averages
plot(long_ma, title="Long Moving Average", color=color.red)
plot(short_ma, title="Short Moving Average", color=color.green)

// Strategy logic for crossing of moving averages
longCondition = ta.crossover(short_ma, long_ma)
shortCondition = ta.crossunder(short_ma, long_ma)

// Entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Optional: Add stop loss and take profit
stop_loss_perc = input(1, title="Stop Loss (%)") / 100
take_profit_perc = input(2, title="Take Profit (%)") / 100

strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc))
strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))


Больше