
Обзор стратегии торговой системы Пит-Волн
Стратегия торговой системы Пит-Волны использует быстрые и медленные движущиеся средние цены для построения торгового сигнала и в сочетании с дополнительными фильтрами и механизмами остановки убытков для дальнейшей оптимизации. Эта стратегия предназначена для захвата средне-коротких трендов, которые создают сигналы покупки и продажи через перекрестку средних цен.
Принципы стратегии торговой системы Пит-Волны
Стратегия использует быстрые движущиеся средние ((длина 9) и медленные движущиеся средние ((длина 22) для построения торговых сигналов золотой форки ((медленная линия через быструю линию) и мертвой форки ((медленная линия через быструю линию ниже). Покупательский сигнал создается, когда быстрая линия пересекает медленную линию снизу; Продавецкий сигнал создается, когда быстрая линия пересекает медленную линию сверху.
Для предотвращения ложных прорывов, вызванных ценовыми колебаниями, в код добавлены дополнительные механизмы фильтрации. Это включает в себя K-линейные фильтры, требующие, чтобы процент колебаний K-линейных фильтров был больше, чем 0,5%, чтобы создать сигнал; фильтр обратного отбора, который определяет, происходит ли определенная степень отклонения цены при перекрестке, чтобы подтвердить тенденцию; фильтр ATR, требующий, чтобы ATR был больше, чем 0,5, чтобы доказать, что колебания достаточно для создания сигнала.
После появления сигнала, если включить фильтр подтверждения прорыва, также будет определено, превзошла ли текущая закрывающая цена предыдущую N-коренную линию K, чтобы подтвердить прорыв. Наконец, стратегия блокирует прибыль с помощью механизма стоп-порога, который будет перемещать стоп-позицию в зависимости от определенного процента от средней стоимости позиции.
Анализ преимуществ стратегии торговой системы Пит-Волны
Стратегия объединяет преимущества торговли движущимися средними и отслеживания тенденций, позволяя эффективно идентифицировать направление коротких ценовых тенденций. В сочетании с дополнительными фильтрами можно значительно снизить вероятность ложных сигналов по сравнению с одной равномерной кросс-системой. Конкретные преимущества:
Стремиться к тому, чтобы не попасть в ловушку колебаний, используя пересечение равномерных линий в сочетании с отслеживанием тенденций.
Фильтр обратной связи и механизм подтверждения прорыва позволяют избежать ложных прорывов.
ATR-значения, K-линейные фильтры помогают идентифицировать реальные колебания.
Механизм остановки скольжения позволяет эффективно контролировать одноразовые потери.
Анализ рисков стратегии торговой системы “Пит-Волны”
Основные риски, связанные с этой стратегией:
В результате внезапного события, в результате которого был нанесен удар по остановке, можно отпустить остановку на соответствующую дистанцию.
Продолжительность хранения позиции, несвоевременное прекращение. Можно сократить средний цикл.
В период спокойствия и сокращения торгового сигнала можно снизить фильтрационные стандарты.
Недостаточная оптимизация параметров, что приводит к слишком частому или меньшему количеству сделок.
Оптимизация стратегии торговой системы “Пит-Волны”
Эта стратегия может быть оптимизирована в следующих направлениях:
Тестирование параметров в зависимости от разных торговых разновидностей, оптимизация циклов движущихся средних и т. д.
Попробуйте добавить другие индикаторы, такие как BRI, 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")