Обзор стратегии Pete Wave Trading System
Принципы стратегии торговой системы Pete Wave
Пит Вейв Система торговли Стратегия Анализ преимуществ
Сочетание пересечения скользящей средней и отслеживания тенденций позволяет избежать попадания в ловушку волатильных рынков.
Фильтры обратного отбора и механизмы подтверждения выхода предотвращают ложные выходы.
Значения ATR и фильтры тела свечи помогают определить реальные колебания.
Основными рисками этой стратегии являются:
Внезапные рыночные события могут привести к выходу стоп-лосса.
Длительное удержание позиций без своевременного получения прибыли, сокращение цикла скользящей средней.
Спокойные рыночные условия приводят к снижению торговых сигналов.
Пит Вейв Оптимизация стратегии торговой системы
Стратегия может быть оптимизирована в следующих направлениях:
Испытать параметры отдельно для различных сортов торговли, оптимизировать периоды скользящих средних и другие параметры.
Попробуйте добавить больше индикаторов, таких как полосы Боллинджера, RSI, чтобы определить направление тренда.
Пит Вейв Система торговли Стратегия Резюме
/*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("9:22 5 MIN 15 MIN BANKNIFTY", overlay=true) fastLength = input(9, title="Fast MA Length") slowLength = input(22, title="Slow MA Length") atrLength = input(14, title="ATR Length") atrFilter = input(0.5, title="ATR Filter") trailingStop = input(1.5, title="Trailing Stop Percentage") pullbackThreshold = input(0.5, title="Pullback Threshold") minCandleBody = input(0.5, title="Minimum Candle Body Percentage") breakoutConfirmation = input(true, title="Use Breakout Confirmation") price = close mafast = ta.sma(price, fastLength) maslow = ta.sma(price, slowLength) atrValue = ta.atr(atrLength) long_entry = ta.crossover(mafast, maslow) and atrValue > atrFilter short_entry = ta.crossunder(mafast, maslow) and atrValue > atrFilter // Pullback Filter pullbackLong = ta.crossover(price, mafast) and ta.change(price) <= -pullbackThreshold pullbackShort = ta.crossunder(price, mafast) and ta.change(price) >= pullbackThreshold // Include pullback condition only if a valid entry signal is present long_entry := long_entry and (pullbackLong or not ta.crossover(price, mafast)) short_entry := short_entry and (pullbackShort or not ta.crossunder(price, mafast)) // Filter based on candle body size validLongEntry = long_entry and ta.change(price) > 0 and ta.change(price) >= minCandleBody validShortEntry = short_entry and ta.change(price) < 0 and ta.change(price) <= -minCandleBody // Breakout confirmation filter breakoutLong = breakoutConfirmation ? (close > ta.highest(high, fastLength)[1]) : true breakoutShort = breakoutConfirmation ? (close < ta.lowest(low, fastLength)[1]) : true long_entry := validLongEntry and breakoutLong short_entry := validShortEntry and breakoutShort if (long_entry) strategy.entry("Long", strategy.long) strategy.close("Short") alert("Long trade iniated") if (short_entry) strategy.entry("Short", strategy.short) strategy.close("Long") alert("Short trade initated") // Trailing Stop-Loss long_stop = strategy.position_avg_price * (1 - trailingStop / 100) short_stop = strategy.position_avg_price * (1 + trailingStop / 100) strategy.exit("Exit Long", "Long", stop = long_stop) strategy.exit("Exit Short", "Short", stop = short_stop) plot(mafast, color=color.green, linewidth=2, title="Fast MA") plot(maslow, color=color.red, linewidth=2, title="Slow MA")