
Эта стратегия называетсяАдаптивная стратегия торговли по развороту ценовой зоныЭта стратегия использует индикатор адаптивной ценовой зоны (Adaptive Price Zone, APZ) для идентификации ценовой зоны, которая при прорыве в ней создает торговый сигнал. Индикатор APZ основан на двузначных подсчетах скользящих средних и волатильности, на границе нижней ценовой зоны.
Эта стратегия применяется в основном в шокирующих ситуациях, особенно в ситуациях свертывания. Она может использоваться для внутридневных коротких сделок или как часть автоматической торговой системы, которая применяется ко всем торгуемым активам. В целом, стратегия использует вспомогательные суждения, предоставляемые показателем APZ, для обратной торговли вблизи границ ценовой зоны.
В данной стратегии используются показатели APZ для определения ценовых зон, а конкретные расчеты выполнены следующим образом:
Полученная таким образом верхняя и нижняя траектория образуют зоны адаптации цены. Когда цена пробивает эту зону, генерируется торговый сигнал. Правила определения прорыва сигналов следующие:
Кроме того, в этой стратегии также предлагается параметр переключения на обратную сделку reverse. После открытия обратной сделки, в противоположность вышеупомянутому правилу, делается дополнительный сигнал о дифференциации.
В целом, данная стратегия использует показатели APZ для определения приспособившихся ценовых зон и создания обратного торгового сигнала при прорыве цены через границы зон, что является типичной стратегией отслеживания обратного тренда.
Основные преимущества этой стратегии:
В этой стратегии есть определенные риски, которые сосредоточены на следующих аспектах:
Рекомендации по этому поводу:
Эта стратегия может быть оптимизирована в следующих аспектах:
Эта стратегия в целом относится к стратегии короткой линии обратного отклонения, с помощью показателя 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 )