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

Автор:Чао Чжан, Дата: 2021-09-21 10:47:24
Тэги:

Обзор

Эта стратегия торгуется на основе золотого креста и мертвого креста из 3 простых скользящих средних. Она длинна, когда быстрая SMA пересекается выше средней SMA и средняя SMA пересекается выше медленной SMA; она коротка, когда происходит обратный кроссовер.

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

  1. Установите 3 SMA с различными периодами: быстрые, средние, медленные
  2. Пройти длинный курс, когда быстрая SMA пересекает среднюю SMA и среднюю SMA
  3. Пройти короткий курс, когда быстрая SMA пересекается ниже средней SMA и средней ниже медленной SMA
  4. Может установить задержку входа, чтобы избежать ложных вырывов.
  5. Выход при срабатывании сигнала обратного перекрестка

В частности, он использует перекрестки между 3 SMA различных периодов для торговли. Быстрая SMA представляет краткосрочную тенденцию, средняя SMA представляет среднесрочную тенденцию, а медленная SMA представляет долгосрочную тенденцию. Когда три SMA перекрещаются вверх в последовательности, это сигнализирует о восходящем тренде для длинного. Когда происходит нисходящий перекресток, это сигнализирует о нисходящем тренде для короткого.

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

  1. Использование 3 SMA улучшает точность направления
  2. Задержка входа позволяет избежать ложного побега и попасть в ловушку.
  3. Простая и интуитивно понятная логика.
  4. Гибкая настройка параметров SMA для различных циклов
  5. Следование тренду позволяет избежать рисков противодействия тренду

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

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

Риски можно управлять с помощью размеров позиций, оптимизации SMA, стратегий стоп-лосса и т.д.

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

  1. Испытать различные периоды SMA для поиска оптимальных параметров
  2. Оценка задержки входа для фильтрации сигналов
  3. Ввести стоп-лосс, адаптируемый к фактическому ценовому движению
  4. Предпочтение параметров исследования для различных продуктов
  5. Испытание добавления правил повторного ввода и пирамиды для оптимизации хранения

Резюме

Эта стратегия занимает позиции на основе 3 перекресток SMA для определения направления тренда. Плюсы - это простые четкие сигналы и конфигуративность; минусы - отстающие сигналы и зависимость от параметров. Производительность может быть улучшена и риски контролируются посредством оптимизации параметров, остановки потери и т. Д. Это помогает трейдерам освоить использование стратегий SMA и перекрестка.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DaynTrading

//@version=4
// strategy(
//      title="Simple Moving Average Cross",
//      overlay=true,
//      initial_capital=5000,
//      default_qty_type=strategy.percent_of_equity,
//      default_qty_value=2,
//      commission_type=strategy.commission.percent,
//      commission_value=0.075,
//      pyramiding=0
//      )

sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)

bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)

sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)

long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low

long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]

close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]

plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)

strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
    
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)

Больше