Стратегия кроссовера SMA


Дата создания: 2024-03-28 17:50:00 Последнее изменение: 2024-03-28 17:50:00
Копировать: 1 Количество просмотров: 587
1
Подписаться
1617
Подписчики

Стратегия кроссовера SMA

Обзор

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

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

Стратегический принцип

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

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

  1. Простая, понятная и логичная, подходит для начинающих.
  2. Средняя линия - это широко используемый технический индикатор с более заметными тенденционными характеристиками, который лучше отражает текущие тенденции рынка.
  3. Сравнительная линия пересечения - это классический сигнал отслеживания тренда, который позволяет быстро улавливать изменения в тренде.
  4. Можно настроить среднелинейный цикл и окно времени отсчета, большая гибкость
  5. Применяется для более тенденциозных сортов и временных периодов.

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

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

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

  1. Можно рассмотреть возможность добавления соответствующих мер по уменьшению убытков, таких как мобильный убыток на основе ATR, чтобы контролировать максимальные потери от одной сделки.
  2. Можно рассмотреть возможность добавления фильтров, таких как объем торгов, волатильность и т.д., чтобы отфильтровать ложные сигналы.
  3. Можно рассмотреть оптимизацию параметров, например, использование интеллектуальных алгоритмов, таких как генетические алгоритмы, для поиска оптимальной комбинации параметров.
  4. Для повышения надежности и эффективности стратегии можно рассмотреть возможность использования других технических индикаторов или торговых сигналов в сочетании с среднелинейным пересечением, например, MACD, RSI и т. д.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © j0secyn

//@version=5
strategy("MA Cross", overlay=true, margin_long=100, margin_short=100, default_qty_value=100, default_qty_type=strategy.percent_of_equity, initial_capital=10000)

// === INPUT BACKTEST RANGE ===
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2018,title = "From Year", minval = 1970)
thruDay   = input.int(defval = 30, title = "Thru Day", minval = 1, maxval = 31)
thruMonth = input.int(defval = 9, title = "Thru Month", minval = 1, maxval = 12)
thruYear  = input.int(defval = 2024, title = "Thru Year", minval = 1970)

slow_ma_length = input.int(defval = 100, title = "Slow MA lenght")
fast_ma_length = input.int(defval = 30, title = "Fast MA lenght")

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => true

// === LOGIC ===
crossOv = ta.crossover(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))
crossUn = ta.crossunder(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))

// === EXECUTION ===
// strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
// strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder         
strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder