Стратегия торговли с изменением ценовой зоны

Автор:Чао Чжан, Дата: 2023-12-13 16:33:33
Тэги:

img

1. Обзор стратегии

Стратегия называетсяСтратегия торговли с изменением ценовой зоны. Он использует индикатор адаптивной ценовой зоны (APZ) для идентификации ценовых зон и генерирует торговые сигналы, когда цены выходят из зон. Индикатор APZ рассчитывает верхние и нижние границы зоны на основе двойных экспоненциальных скользящих средних и волатильности. Когда цены проходят через границы, он указывает на потенциальные перевороты цен и торговые возможности.

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

2. Логика стратегии

Стратегия использует показатель APZ для определения ценовых зон, с конкретными расчетами следующим образом:

  1. Вычислить разницу между самым высоким максимумом и самым низким минимумом за последние n периодов (по умолчанию 20 периодов), называемый xHL
  2. Используйте двойную экспоненциальную скользящую среднюю для расчета сглаженной ценой xVal1 и сглаженной xHL, называемой xVal2, с периодом сглаживания, который является округленным целым числом квадратного корня n (квадратный корень 20 округлен = 4)
  3. Расчет верхней полосы = xVal1 + nBandPct * xVal2
  4. Расчет нижней полосы = xVal1 - nBandPct * xVal2

Верхняя и нижняя полосы составляют адаптивную ценовую зону. Торговые сигналы генерируются, когда цены проходят через эту зону. Правила сигнала следующие:

  1. Когда цена опускается ниже нижней полосы, генерируется длинный сигнал
  2. Когда цена поднимается выше верхней полосы, генерируется короткий сигнал

Кроме того, включен параметр переключателя обратной торговли под названием reverse.

Подводя итог, эта стратегия использует индикатор APZ для определения адаптивных ценовых зон и генерирует сигналы об обратном торговле, когда цены выходят за пределы зоны.

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

Основными преимуществами этой стратегии являются:

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

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

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

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

Предлагаемые меры смягчения последствий:

  1. Настройка параметров APZ для поиска подходящих периодов сглаживания
  2. Используйте другие индикаторы для фильтрации ложных прорывов
  3. Добавление движущего стоп-лосса к контрольному убытку для одиночных сделок

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

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

  1. Комбинировать с индикаторами волатильности для определения минимальных покупок и максимальных продаж
  2. Добавьте требования к прочности прорыва, такие как большой объем
  3. Торговать только в определенные сессии, например, в США в полдень
  4. Включить системы скользящих средних для определения общей тенденции рынка
  5. Создать ценовые зоны для входа, избегая ненужных покупок и продаж

6. Резюме

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


/*backtest
start: 2023-12-05 00:00:00
end: 2023-12-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/01/2020
//
// The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors 
// identify possible market turning points, which can be especially useful in a sideways-moving 
// market. It was created by technical analyst Lee Leibfarth in the article “Identify the 
// Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue 
// of the journal Technical Analysis of Stocks and Commodities.
// This indicator attempts to signal significant price movements by using a set of bands based on 
// short-term, double-smoothed exponential moving averages that lag only slightly behind price changes. 
// It can help short-term investors and day traders profit in volatile markets by signaling price 
// reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be 
// implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////

strategy(title="Adaptive Price Zone Backtest", shorttitle="APZ", overlay = true)
nPeriods = input(20, minval=1)
nBandPct = input(2, minval=0)
reverse = input(false, title="Trade reverse")
xHL = high - low
nP = ceil(sqrt(nPeriods))
xVal1 = ema(ema(close,nP), nP)
xVal2 = ema(ema(xHL,nP), nP)
UpBand = nBandPct * xVal2 + xVal1
DnBand = xVal1 - nBandPct * xVal2
pos = 0
pos := iff(low < DnBand , 1,
	   iff(high > UpBand, -1, pos[1])) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Больше