Ini adalah strategi perdagangan jangka pendek yang menggunakan indikator ADX untuk menyaring sinyal breakout. Ini akan menjadi pendek ketika harga pecah di atas Upper Bollinger Band dan ADX jatuh, dan menjadi panjang ketika harga pecah di bawah Lower Bollinger Band dan ADX naik. Strategi ini juga mengatur stop loss dan take profit secara otomatis untuk perdagangan otomatis.
Inti dari strategi ini adalah menggunakan Bollinger Bands untuk sinyal breakout. Band atas dan bawah Bollinger Bands mewakili dua standar deviasi harga, sehingga breakout biasanya menyiratkan bahwa harga memasuki tren yang kuat. Selain itu, indikator ADX diperkenalkan di sini sebagai filter untuk menghindari breakout palsu. Sinyal pendek hanya dipertimbangkan ketika ADX turun sementara sinyal panjang hanya dipertimbangkan ketika ADX naik. Ini membantu menyaring beberapa whipsaws selama periode yang terikat rentang.
Secara khusus, strategi ini menghitung Bollinger Bands menggunakan 33 periode harga penutupan. Band tengah adalah rata-rata bergerak sederhana 33 periode, dan band atas/bawah ditempatkan pada dua penyimpangan standar di atas/di bawah band tengah. Strategi sinyal pendek ketika harga ditutup di bawah band atas dan ADX 8 periode di bawah ADX 15 periode. Ini sinyal panjang ketika harga ditutup di atas band bawah dan ADX 8 periode di atas ADX 15 periode. Keluar ditetapkan pada 800 poin keuntungan dan 400 poin stop loss.
Sebagai strategi breakout yang menggabungkan filter tren dan momentum, ia memiliki beberapa keuntungan:
Ada juga beberapa risiko dengan strategi ini:
Untuk mengurangi risiko ini, kita dapat menyempurnakan parameter BB untuk mempersempit band, menyesuaikan periode ADX untuk menghindari over-filtering, dan mengurangi stop loss untuk mengendalikan kerugian perdagangan tunggal.
Ada ruang untuk optimasi lebih lanjut:
Kesimpulannya, ini adalah strategi breakout yang sederhana dan praktis dengan filter. Mengidentifikasi tren dengan BB dan menyaring sinyal dengan ADX membantu menghindari kebisingan selama periode yang terikat rentang dan menangkap peluang tren sampai batas tertentu. Masih ada ruang besar untuk pengujian dan perbaikan lebih 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)