Стратегия перекрестного использования простой скользящей средней основана на перекрестном использовании двух скользящих средних, более быстрой скользящей средней (быстрая МА) и более медленной скользящей средней (медленная МА).
Стратегия использует два скользящих средних. Один из них - краткосрочный быстрый MA, который быстро реагирует на изменения цены. Другой - долгосрочный медленный MA, который отфильтровывает краткосрочные колебания и лучше отражает долгосрочные тенденции. Когда быстрый MA пересекает верхнюю границу медленного MA, он сигнализирует о восходящей тенденции в краткосрочной перспективе и считается золотым перекрестным сигналом покупки. Когда быстрый MA пересекает нижнюю границу медленного MA, он сигнализирует о краткосрочной нисходящей тенденции и считается сигналом смерти перекрестного продажи.
Выбор правильных параметров может улучшить эффективность стратегии.
В целом, Simple Moving Average Crossover - это простая и практичная стратегия, следующая за трендом. Она определяет изменения тренда с использованием свойств индикатора движущихся средних. Основными преимуществами являются простая реализация, понятность и относительно небольшие снижения.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Average Crossover", overlay=true) // Input parameters fastLength = input(10, title="Fast MA Length") slowLength = input(30, title="Slow MA Length") stopLossPercent = input(1, title="Stop Loss Percentage") // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Buy condition: Fast MA crosses above Slow MA buyCondition = ta.crossover(fastMA, slowMA) // Sell condition: Fast MA crosses below Slow MA sellCondition = ta.crossunder(fastMA, slowMA) // Plot moving averages as lines plot(fastMA, color=color.blue, title="Fast MA", linewidth=2) plot(slowMA, color=color.red, title="Slow MA", linewidth=2) // Execute trades based on conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Set stop loss level stopLossLevel = close * (1 - stopLossPercent / 100) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)