
Стратегия пересечения скользящих средних является наиболее распространенной стратегией торговли акциями. Эта стратегия производит сигналы покупки и продажи, рассчитывая быстрые и медленные скользящие средние, и когда они пересекаются. В частности, когда быстрые скользящие средние пересекают медленные скользящие средние сверху, создается сигнал покупки; когда быстрые скользящие средние пересекают медленные скользящие средние сверху, создается сигнал продажи.
Основная логика этой стратегии заключается в следующем: быстрое движение средних представляет собой краткосрочные тенденции акций, медленное движение средних представляет собой долгосрочные тенденции акций. Когда краткосрочные тенденции переходят в рост (золотой форк), это означает, что акции входят в зону покупок; когда краткосрочные тенденции переходят в падение (мертвый форк), это означает, что акции входят в зону продаж.
В частности, в стратегии определены быстрые и медленные скользящие средние значения maFast и maSlow. Длина maFast составляет 9, что представляет собой краткосрочную тенденцию акций на 9 дней; длина maSlow - 18, что представляет собой долгосрочную тенденцию акций на 18 дней.
Эта стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Вы можете снизить вышеупомянутый риск, например, путем корректировки параметров скользящих средних и установки стратегии стоп-ложа.
В этой стратегии есть место для дальнейшей оптимизации:
В целом, стратегия пересечения скользящих средних является очень классической и практической. Ее принцип прост, ее легко реализовать и она широко применяется в реальных сделках. С помощью параметрической настройки и использования вспомогательных технических показателей, можно улучшить стратегию и получить лучшую доходность риска.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Moving Average Cross", overlay=true, initial_capital=10000, currency='USD')
// === GENERAL INPUTS ===
// short ma
maFastSource = input(defval = close, title = "Fast MA Source")
maFastLength = input(defval = 9, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = close, title = "Slow MA Source")
maSlowLength = input(defval = 18, title = "Slow MA Period", minval = 1)
// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)
// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)
// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)
// === FILL ====
fill(fast, slow, color = maFast > maSlow ? green : red)