Стратегия следования импульсу цены


Дата создания: 2024-01-03 17:32:14 Последнее изменение: 2024-01-03 17:32:14
Копировать: 0 Количество просмотров: 586
1
Подписаться
1619
Подписчики

Стратегия следования импульсу цены

Обзор

Эта стратегия использует индикаторы движения цены для определения направления торговли. В частности, рассчитывается средняя линия и средняя цена, которые производят сигнал покупки, когда цена пересекает среднюю линию и среднюю цену. Для фильтрации ложных сигналов требуется, чтобы ранее не было аналогичных сигналов.

Стратегический принцип

Эта стратегия основана на динамике цен, чтобы определить направление тенденции. Сначала рассчитывается средняя линия цены и средняя цена:

swmaClose = swma(close)  
vwapClose = vwap(close)

Среди нихswmaВ среднем по годам.vwapВзвешенная средняя цена для объема сделок. Оба могут отражать средний уровень цен.

Затем сравнивается величина отношений между ценой и средней величиной, чтобы определить, является ли она средней и средней, чтобы определить, относится ли она к позитивным сигналам:

swmaLong = close > swmaClose
vwapLong = close > vwapClose 

Чтобы отфильтровать ложные сигналы, попросите, чтобы эти два показателя не давали сигналов раньше:

triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]

Посмотрите, как выглядит сигнал тревоги:

saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]

В конце концов, когда сохраняется сигнал пробега, и цена снова проходит через среднюю линию, появляется сигнал открытия позиции:

startLong = saveLong and swmaLong

Это позволяет отфильтровывать ложные сигналы, что делает сигнал более надежным.

Стратегия также включает в себя параметры остановки убытков. Стоп-расстояние может быть настроено, а стоп-убыток может быть определенным множеством.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Использование динамического индикатора цен позволяет лучше определить направление тенденции
  2. В сочетании с двойными показателями и многоступенчатым суждением можно отфильтровать ложные сигналы, что делает стратегию более надежной
  3. Устойчивое регулирование сдерживания убытков позволяет контролировать риски по отдельным сделкам
  4. Конфигурируемые параметры стратегии для различных рыночных условий
  5. Логика стратегии проста, понятна и легко реализуема

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. Промежуточный индикатор отстает и может пропустить некоторые колебания цен
  2. Эффекты зависят от параметров, различные комбинации параметров могут иметь разные эффекты
  3. Сигналов о покупке меньше, существует риск пропуска билетов.
  4. Многоступенчатое суждение фильтрует некоторые возможности и может повлиять на уровень прибыли

Ответ:

  1. Можно тестировать различные среднелинейные параметры, оптимизировать параметры настройки
  2. Соответственно упростить логику суждения, увеличить сигнал о покупке
  3. Настройка стоп-стоп-первой доли для контроля одиночных потерь

Направление оптимизации

Эта стратегия также может быть оптимизирована в следующих направлениях:

  1. Проверьте другие индикаторы ценовой динамики, такие как MACD, DMI и т.д.
  2. Повышение оценки сигналов продажи для двухсторонней торговли
  3. Вместе с показателями объемов сделок, чтобы избежать потенциальных ложных прорывов
  4. Настройка параметров оптимизации на основе результатов обратной измерения
  5. Рассмотреть параметры автоматической корректировки в зависимости от рыночной ситуации
  6. Добавление алгоритмов машинного обучения для оптимизации адаптации параметров

Эти оптимизации позволяют повысить гибкость, устойчивость и рентабельность стратегий.

Подвести итог

В целом, эта стратегия является простой, прямой и логически понятной стратегией отслеживания тенденций. Стратегия использует среднюю и среднюю цену для определения направления движения цены и разрабатывает многоступенчатый механизм проверки для улучшения качества сигнала. Стратегия также включает в себя разумную установку стоп-стоп. С точки зрения количества кода, логика стратегии очень проста и требует всего 20 строк пиновых сценариев.

Исходный код стратегии
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)

// How To Create A Simple Trading Strategy With TradingView
// https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view

swmaClose = swma(close)
vwapClose = vwap(close)

swmaLong = close > swmaClose
vwapLong = close > vwapClose

triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]

startLong = saveLong and swmaLong
startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1]

stopLoss = input(250, "Stop Loss", step = 50)
takeProfit = input(10, "Reward/Risk") * stopLoss

strategy.entry("Open Long", strategy.long, when = startLong)
strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit)

// bgcolor(swmaLong ? color.blue : na)
// bgcolor(vwapLong ? color.orange : na)
// bgcolor(triggerLong ? color.purple : na)
// bgcolor(saveLong ? color.yellow : na)
bgcolor(startLong[1] ? color.green : na)