Ini adalah strategi perdagangan jangka pendek yang menggunakan penunjuk ADX untuk menapis isyarat pecah. Ia pergi pendek apabila harga pecah di atas Bollinger Band Atas dan ADX jatuh, dan pergi panjang apabila harga pecah di bawah Bollinger Band Bawah dan ADX meningkat. Strategi ini juga menetapkan stop loss dan mengambil keuntungan secara automatik untuk perdagangan automatik sepenuhnya.
Inti strategi ini adalah menggunakan Bollinger Bands untuk isyarat pecah. Band atas dan bawah Bollinger Bands mewakili dua penyimpangan standard harga, jadi pecah biasanya menunjukkan bahawa harga memasuki trend yang kuat. Di samping itu, penunjuk ADX diperkenalkan di sini sebagai penapis untuk mengelakkan pecah palsu. Isyarat pendek hanya dipertimbangkan apabila ADX jatuh manakala isyarat panjang hanya dipertimbangkan apabila ADX naik. Ini membantu menapis beberapa whipsaws semasa tempoh yang terikat julat.
Secara khusus, strategi ini mengira Bollinger Bands menggunakan 33 tempoh harga penutupan. Band tengah adalah purata bergerak mudah 33 tempoh, dan band atas / bawah diletakkan pada dua penyimpangan standard di atas / di bawah band tengah. Strategi ini memberi isyarat pendek apabila harga ditutup di bawah band atas dan ADX 8 tempoh di bawah ADX 15 tempoh. Ia memberi isyarat panjang apabila harga ditutup di atas band bawah dan ADX 8 tempoh di atas ADX 15 tempoh. Keluar ditetapkan pada 800 mata keuntungan dan 400 mata stop loss.
Sebagai strategi breakout yang menggabungkan penapis trend dan momentum, ia mempunyai beberapa kelebihan:
Terdapat juga beberapa risiko dengan strategi ini:
Untuk mengurangkan risiko ini, kita boleh menyesuaikan parameter BB untuk mempersempit jalur, menyesuaikan tempoh ADX untuk mengelakkan penapisan berlebihan, dan mengurangkan kerugian berhenti untuk mengawal kerugian perdagangan tunggal.
Terdapat ruang untuk pengoptimuman lanjut:
Kesimpulannya, ini adalah strategi breakout yang mudah dan praktikal dengan penapis. Mengenali trend dengan BB dan menapis isyarat dengan ADX membantu mengelakkan bunyi bising semasa tempoh terhad julat dan menangkap peluang trend hingga tahap tertentu. Masih ada ruang yang besar untuk ujian dan peningkatan lanjut.
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Hizbullah XAUUSD Sniper", overlay=true) Price = close Length = input(33) Mult = input(2) Basis = sma(Price, Length) StdDev = Mult * stdev(Price, Length) Upper = Basis + StdDev Lower = Basis - StdDev ADX_Length = input(4) TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1]))) SmoothedTrueRange = sma(TrueRange, ADX_Length) DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0 DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0 SmoothedDirectionalMovementPlus = sma(DirectionalMovementPlus, ADX_Length) SmoothedDirectionalMovementMinus = sma(DirectionalMovementMinus, ADX_Length) DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100 DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100 DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus)*100 SmoothedADX1 = ema(DX, input(8)) SmoothedADX2 = ema(DX, input(15)) Condition1 = crossunder(Price, Upper) and SmoothedADX1 < SmoothedADX2 Take_Profit = input(800) Stop_Loss = input(400) strategy.entry("ShortEntry", true, when = Condition1) strategy.exit("ShortExit", "ShortEntry", profit = Take_Profit, loss = Stop_Loss)