Strategi ini adalah strategi perdagangan saham adaptif berdasarkan indikator momentum. Ini mengintegrasikan Bollinger Bands, Saluran Keltner dan indikator pemerah harga untuk mencapai penilaian tren, identifikasi titik terobosan dan stop-loss exit untuk perdagangan otomatis.
Inti dari strategi ini adalah untuk membangun saluran harga melalui Bollinger Bands dan Keltner Channels dan mengidentifikasi sinyal perdagangan ketika harga menembus saluran. Ini akan mengambil posisi panjang ketika harga menembus saluran dan mengambil posisi pendek ketika harga menembus saluran. Selain itu, ketika harga ditekan di saluran, strategi akan menentukan arah operasi berdasarkan nilai positif dan negatif dari indikator penekanan harga.
Secara khusus, Bollinger Bands menghitung standar deviasi harga untuk memetakan rel atas dan bawah; Saluran Keltner memetakan rel atas dan bawah berdasarkan rentang volatilitas harga rata-rata ± rata-rata. Ketika fusi saluran terjadi antara keduanya, dianggap bahwa pasar memasuki konsolidasi sambil menunggu pecah berikutnya. Indikator pemampatan harga mencerminkan apakah harga dikompresi antara dua saluran. Strategi menentukan arah pasar berdasarkan nilai positif dan negatif dari indikator pemampatan.
Singkatnya, strategi ini mengintegrasikan beberapa indikator untuk menilai pergerakan harga dan membentuk logika panjang dan pendek yang jelas, yang dapat secara efektif menyaring breakout palsu dan mengidentifikasi peluang perdagangan dengan probabilitas tinggi.
Mengintegrasikan beberapa indikator dengan kemampuan penilaian yang kuat Kombinasi indikator dapat meningkatkan akurasi.
Squeeze indikator perbedaan untuk menentukan, mengurangi false breakout. perbedaan indikator berfungsi sebagai kondisi tambahan untuk menghindari perdagangan yang tidak perlu.
Saluran stop loss adaptif, mengelola risiko secara efektif. Saluran berfungsi sebagai posisi stop loss, yang dapat menyesuaikan secara otomatis berdasarkan fluktuasi pasar untuk mengurangi kerugian.
Pengaturan parameter sederhana, cocok untuk otomatisasi. Dengan hanya beberapa parameter kunci, mudah untuk menguji, mengoptimalkan dan mengintegrasikan ke dalam sistem perdagangan otomatis.
Sering beralih panjang-pendek ketika pasar berfluktuasi tajam, menyebabkan peningkatan jumlah perdagangan.
Parameter indikator yang tidak benar dapat kehilangan peluang perdagangan yang baik.
Hanya berlaku untuk saham dengan arah yang jelas, tidak cocok untuk pasar yang sangat volatile.
Meningkatkan modul kontrol posisi untuk mengoptimalkan efisiensi pemanfaatan modal.
Meningkatkan model pembelajaran mesin untuk menyesuaikan parameter indikator secara dinamis, memungkinkan indikator untuk menyesuaikan diri secara otomatis dengan siklus yang berbeda dan saham yang berbeda.
Meningkatkan strategi stop loss dengan memperkenalkan lebih banyak indikator tambahan untuk menentukan waktu stop loss.
Strategi ini mengintegrasikan Bollinger Bands, Saluran Keltner dan indikator tekanan harga untuk membentuk logika yang jelas untuk sistem penilaian dan pengendalian risiko. Ini menggabungkan penilaian tren dan operasi breakout, dapat secara otomatis beradaptasi dengan kondisi pasar dan mengidentifikasi peluang perdagangan probabilitas tinggi. Dengan optimasi parameter lebih lanjut dan peningkatan kondisi tambahan, strategi ini dapat lebih diperkuat menjadi alat penting untuk perdagangan kuantitatif.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © juliopetronilo //@version=4 strategy("DMI/ADX/Squeeze Robot", shorttitle="DMI/ADX/SQZ", overlay=true) // Squeeze Momentum Indicator length = input(20, title="BB Length") mult = input(2.0, title="BB MultFactor") lengthKC = input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = input(true, title="Use TrueRange (KC)") source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev ma = sma(source, lengthKC) rangeKC = useTrueRange ? tr : (high - low) rangema = sma(rangeKC, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = not (sqzOn or sqzOff) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0) // DMI/ADX Plot adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") keyLevel = input(23, title="Key Level for ADX") dirmov(len) => up = change(high) down = -change(low) truerange = rma(tr, len) plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange) minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx_val = abs(plus - minus) / (sum == 0 ? 1 : sum) * 100 [adx_val, plus, minus] [sig, up, down] = adx(dilen, adxlen) // Estrategia de Trading strategy.entry("Buy", strategy.long, when=sqzOn and crossover(up, down) and crossover(val, 0)) strategy.entry("Sell", strategy.short, when=sqzOn and crossunder(up, down) and crossunder(val, 0)) strategy.close("Buy", when=sqzOff) strategy.close("Sell", when=sqzOff) // Plot de los indicadores plot(val, color=color.blue, style=plot.style_histogram, linewidth=4) plot(0, color=noSqz ? color.blue : sqzOn ? color.black : color.rgb(236, 238, 247), style=plot.style_cross, linewidth=2) plot(up, color=color.blue, title="+DI") plot(down, color=color.gray, title="-DI") plot(keyLevel, color=color.white, title="Key Level")