Стратегия движущегося среднего перекрестного тренда - это следующая за трендом стратегия, основанная на движущихся средних перекрестных сигналах.
Стратегия использует перекрестки гистограммы MACD и линии сигнала для определения начала и конца трендов. В частности, она строит гистограмму MACD на основе 12-периодного быстрого EMA и 26-периодного медленного EMA. Когда гистограмма пересекает линию сигнала, генерируется сигнал покупки, указывающий на начало восходящего тренда. Когда гистограмма пересекает ниже линии сигнала, запускается сигнал продажи, знаменующий начало нисходящего тренда.
Для входов стратегия длится только тогда, когда на 15-минутном графике генерируется сигнал покупки, чтобы извлечь выгоду из ранней стадии начала тренда. Для выходов она закрывает все позиции, когда гистограмма MACD пересекает ниже линии сигнала на 4-часовом графике, сигнализируя об изменении тренда.
Наибольшее преимущество этой стратегии заключается в ее способности своевременно улавливать начало тренда и выходить из него при сигналах обворота, достигая хорошего соотношения риск-вознаграждение.
Существуют также некоторые риски, главным образом в следующих аспектах:
Для смягчения рисков можно оптимизировать:
К основным аспектам дальнейшей оптимизации стратегии относятся:
В целом, Стратегия движущегося среднего перекрестного тренда - это простая и практичная система, следующая за трендом. Она использует тенденции, определяя начало и конец с использованием перекрестных MACD и комбинируя краткосрочные и долгосрочные позиции. Преимущества заключаются в своевременных входах, эффективных остановках и сбалансированном соотношении риска и вознаграждения. Следующими шагами будет улучшение надежности и прибыльности с помощью параметризированной оптимизации, фильтрации сигналов и т. д.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true) // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Calculating MACD fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) // Entry conditions longCondition = macd < 0 and ta.crossover(macd, signal_line) shortCondition = ta.crossover(signal_line, macd) // Plot signals plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal") // Strategy if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)