
Strategi ini dinamakanStrategi Perdagangan Pembalikan Kawasan Harga AdaptifStrategi ini menggunakan indikator Adaptive Price Zone (APZ) untuk mengenal pasti kawasan harga dan menghasilkan isyarat perdagangan apabila ia melanggar kawasan tersebut. Indikator APZ adalah berdasarkan pengiraan purata bergerak dua indeks dan kadar turun naik, di bawah sempadan kawasan harga.
Strategi ini digunakan terutamanya untuk keadaan yang bergolak, terutamanya keadaan yang menyeluruh. Ia boleh digunakan untuk perdagangan dalam talian pendek dalam sehari atau sebagai sebahagian daripada sistem perdagangan automatik, dan digunakan untuk semua aset yang boleh diperdagangkan. Secara umum, strategi ini menggunakan penilaian tambahan yang disediakan oleh penunjuk APZ untuk berdagang berbalik di sekitar sempadan zon harga.
Kaedah ini menggunakan APZ untuk menentukan kawasan harga, dengan pengiraan khusus seperti berikut:
Laluan atas dan bawah yang diperoleh dengan cara ini membentuk kawasan harga yang menyesuaikan diri. Apabila harga menembusi kawasan ini, isyarat perdagangan dihasilkan. Peraturan untuk menilai isyarat penembusan adalah seperti berikut:
Di samping itu, strategi ini juga menyediakan parameter suis perdagangan reverse. Apabila anda membuka perdagangan reverse, anda melakukan isyarat shorting yang lebih banyak, yang bertentangan dengan peraturan di atas.
Secara keseluruhannya, strategi ini menggunakan penunjuk APZ untuk menilai zon harga yang menyesuaikan diri, menghasilkan isyarat perdagangan berbalik apabila harga menembusi sempadan zon, dan merupakan strategi pelacakan trend berbalik yang tipikal.
Strategi ini mempunyai beberapa kelebihan:
Strategi ini juga mempunyai beberapa risiko, yang tertumpu kepada beberapa aspek berikut:
Nasihat untuk bertindak balas adalah:
Kaedah ini boleh dioptimumkan dalam beberapa aspek:
Strategi ini secara keseluruhan merupakan strategi pembalikan garis pendek, menangkap kawasan harga melalui penunjuk APZ, melakukan perdagangan pembalikan di sekitar sempadan antara kawasan. Keuntungan strategi ini adalah frekuensi perdagangan yang tinggi, dapat menangkap lebih banyak peluang garis pendek, dan dapat menyesuaikan diri dengan penyesuaian kawasan harga.
/*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 )