Эта стратегия представляет собой следующую систему тренда, которая сочетает в себе несколько периодов скользящих средних с объемной взвешенной средней ценой (VWAP). Стратегия определяет направление тренда через перекресток трех простых скользящих средних (SMA) - 9-периодных, 50-периодных и 200-периодных, используя VWAP в качестве индикатора подтверждения силы цены, реализуя многомерный механизм подтверждения торговых сигналов. Стратегия подходит как для внутридневного трейдинга (1-минутный график), так и для свинговой торговли (1-часовой график).
Основная логика стратегии основана на нескольких ключевых элементах:
Долгие условия входа требуют:
Условия для краткосрочного въезда требуют:
Предложения по контролю риска:
Это полная торговая система, сочетающая в себе несколько периодов скользящих средних и VWAP, обеспечивающая надежные торговые сигналы с помощью нескольких механизмов подтверждения. Силы стратегии заключаются в ее четкой логике, простоте выполнения и хороших возможностях контроля рисков. Хотя у нее есть определенные риски, связанные с задержкой и чувствительностью параметров, их можно решить с помощью предложенных направлений оптимизации для дальнейшего повышения стабильности и адаптивности. Стратегия служит прочной основой, которую трейдеры могут настроить в соответствии со своим стилем торговли и рыночной средой.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-05 00:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA Crossover Strategy with VWAP", overlay=true) // Input lengths for SMAs sma9Length = 9 sma50Length = 50 sma200Length = 200 // Calculate SMAs sma9 = ta.sma(close, sma9Length) // 9-period SMA sma50 = ta.sma(close, sma50Length) // 50-period SMA sma200 = ta.sma(close, sma200Length) // 200-period SMA // Calculate VWAP vwapValue = ta.vwap(close) // Long entry condition: SMA 9 crosses above SMA 50 and SMA 200 is less than SMA 50, and close is above VWAP longCondition = ta.crossover(sma9, sma50) and (sma200 < sma50) and (close > vwapValue) if (longCondition) strategy.entry("Long", strategy.long) // Exit condition for long: SMA 9 crosses below SMA 50 longExitCondition = ta.crossunder(sma9, sma50) if (longExitCondition) strategy.close("Long") // Short entry condition: SMA 9 crosses below SMA 50 and SMA 200 is greater than SMA 50, and close is below VWAP shortCondition = ta.crossunder(sma9, sma50) and (sma200 > sma50) and (close < vwapValue) if (shortCondition) strategy.entry("Short", strategy.short) // Exit condition for short: SMA 9 crosses above SMA 50 shortExitCondition = ta.crossover(sma9, sma50) if (shortExitCondition) strategy.close("Short") // Plotting the indicators on the chart plot(sma9, color=color.blue, title="SMA 9") plot(sma50, color=color.orange, title="SMA 50") plot(sma200, color=color.red, title="SMA 200") plot(vwapValue, color=color.green, title="VWAP")