Стратегия отслеживания динамики цен

Автор:Чао Чжан, Дата: 2024-01-03 17:32:14
Тэги:

img

Обзор

Эта стратегия использует индикаторы импульса цены для определения направления торговли. В частности, она рассчитывает скользящую среднюю и среднюю цену соответственно. Когда цена пересекает пересечение скользящей средней и средней цены, генерируется сигнал покупки. Чтобы отфильтровать ложные сигналы, он не требует аналогичных предыдущих сигналов. Затем он сохраняет статус сигнала и генерирует окончательный сигнал открытия позиции в сочетании с скользящей средней. Стратегия также содержит параметры остановки потери и получения прибыли.

Принцип стратегии

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

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)


Больше