
Стратегия слежения за движущимися средними - это стратегия слежения за тенденциями, основанная на простых движущихся средних. Эта стратегия использует простые движущиеся средние длиной 200 дней, чтобы определить направление ценовой тенденции.
Эта стратегия основана на следующих принципах:
Эта стратегия основана на определении направления тренда с помощью движущихся средних и своевременной обратной операции при повороте равной линии, что позволяет получить прибыль от отслеживания тренда.
Эта стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
В зависимости от риска, можно оптимизировать и улучшать в следующих аспектах:
Эта стратегия может быть улучшена в следующих аспектах:
Оптимизировать циклические параметры для скользящих средних, искать оптимальные комбинации параметров. Можно использовать такие методы оптимизации параметров, как Walk Forward Analysis.
Добавление краткосрочных скользящих средних, формирование многомерной стратегии, одновременно с отслеживанием длительных краткосрочных тенденций.
В сочетании с трендовыми показателями, такими как MACD, повышается способность распознавать переломы тенденций.
Присоединение к механизмам сдерживания убытков, таким как отслеживание убытков, привязка к списку убытков и т. Д., для контроля одиночных убытков.
Проводить репликационные испытания, тестировать стратегии для повышения устойчивости в разных сортах и в разное время.
Использование методов машинного обучения и других методов для реализации параметров самостоятельной адаптации и оптимизации стратегий.
Стратегия слежения за движущейся средней является простой практической стратегией слежения за трендом, ее идея ясна, ее легко реализовать и она может поймать тенденционные возможности. Однако у этой стратегии есть некоторые проблемы, такие как нечувствительность к краткосрочным корректировкам, слабая способность контролировать риск и т. Д. Мы можем оптимизировать ее во многих отношениях, чтобы сделать стратегию более стабильной, более оптимизировать параметры и более совершенно контролировать риск.
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MA X 200 BF", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)
/////////////// Time Frame ///////////////
testStartYear = input(2012, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)
testPeriod() => true
///////////// MA 200 /////////////
slowMA = sma(close, input(200))
/////////////// Strategy ///////////////
long = close > slowMA
short = close < slowMA
last_long = 0.0
last_short = 0.0
last_long := long ? time : nz(last_long[1])
last_short := short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
/////////////// Execution ///////////////
if testPeriod()
strategy.entry("Long Entry", strategy.long, when=long_signal)
strategy.entry("Short Entry", strategy.short, when=short_signal)
strategy.exit("Long Ex", "Long Entry")
strategy.exit("Short Ex", "Short Entry")
/////////////// Plotting ///////////////
plot(slowMA, color = long ? color.lime : color.red, linewidth=2)
bgcolor(strategy.position_size > 0 ? color.lime : strategy.position_size < 0 ? color.red : color.white, transp=80)
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)