Strategi Breakout Horizontal ATR Tren


Tanggal Pembuatan: 2023-12-06 18:03:38 Akhirnya memodifikasi: 2023-12-06 18:03:38
menyalin: 0 Jumlah klik: 367
1
fokus pada
1166
Pengikut

Strategi Breakout Horizontal ATR Tren

Ringkasan

Strategi terobosan horizontal ATR tren lebah adalah strategi terobosan garis tengah pendek yang dihasilkan berdasarkan indikator ATR dengan sinyal perdagangan Brin. Ini terutama memantau perubahan tren harga saham dalam saluran ATR atas dan bawah dengan lebar tertentu, dan membuat keputusan perdagangan ketika turun atau naik, digabungkan dengan penyaringan tren.

Prinsip Strategi

Strategi ini terdiri dari tiga bagian utama:

  1. Saluran ATR: Menghitung kisaran harga saham melalui indikator ATR dan membentuk saluran ke atas dan ke bawah dari kisaran tersebut. Lebar saluran dikontrol melalui siklus lookback ATR dan faktor ATRdivisor.

  2. Garis lebah: dengan garis tengah harga saham sebagai garis acuan. Garis tengah dihitung sebagai: rata-rata hasil tinggi dan rendah kemarin.

  3. Filter tren: menghitung tren harga melalui indikator pergerakan deviasi dan mengatur siklus sinyal, ketika pricesig ‘>’: pricesig[3] saat tren naik, saat pricesig ‘<’ pricesig[3] saat tren ke bawah.

Sinyal transaksi spesifik dihasilkan dengan logis sebagai berikut:

Sinyal multihead: pricesig > pricesig[3] dan melakukan lebih banyak ketika harga turun;

Sinyal kosong: pricesig < pricesig[3] dan kosong saat harga naik ke rel;

Tidak ada kesepakatan dalam kasus lain.

Strategi ini juga menetapkan kondisi stop loss untuk mengendalikan risiko perdagangan.

Analisis Keunggulan

Strategi penembusan ATR tren lebah memiliki keuntungan sebagai berikut:

  1. Menggunakan indikator ATR untuk menghitung rentang fluktuasi harga saham, yang dapat secara dinamis menangkap perubahan pasar;

  2. Menggabungkan garis pusat untuk menilai harga saham secara horizontal dan mengatur titik perdagangan terobosan saluran untuk menghindari mengejar kenaikan dan penurunan;

  3. Indikator pergerakan deviasi untuk menilai tren, menghindari perdagangan berlawanan arah, dan meningkatkan tingkat kemenangan;

  4. Setting Stop Loss Conditions untuk Mengontrol Risiko Tunggal;

  5. Parameter kebijakan mengatur strategi optimasi yang fleksibel dan dapat disesuaikan dengan lebar saluran, siklus ATR, dan faktor-faktor lainnya.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Dalam beberapa tahun terakhir, ada beberapa perusahaan yang telah melakukan transaksi di pasar Forex, seperti:

  2. Perhitungan jangkauan saluran ATR mungkin tidak akurat, yang dapat menyebabkan kesalahan transaksi ketika harga saham berfluktuasi secara dramatis;

  3. Indikator pergerakan deviasi juga dapat membuat kesalahan dalam penilaian tren, sehingga mempengaruhi akurasi sinyal perdagangan.

Untuk menghadapi risiko di atas, dapat dioptimalkan dan diperbaiki dengan cara menyesuaikan parameter saluran ATR, meningkatkan siklus sinyal penyaringan tren, dan lain-lain.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Sesuaikan lebar saluran ATR, kurangi atau tingkatkan parameter atRDivisor, kompresi atau perbesaran saluran.

  2. Menyesuaikan parameter siklus lookback ATR untuk mengubah sensitivitas saluran terhadap fluktuasi terbaru.

  3. Menyesuaikan parameter siklus sinyal tren untuk meningkatkan akurasi penilaian tren polygon.

  4. Untuk meningkatkan kualitas sinyal perdagangan, Anda dapat menambahkan indikator lain untuk melakukan verifikasi multi-faktor.

  5. Mengoptimalkan algoritma stop loss dan meningkatkan pengendalian risiko.

Meringkaskan

Strategi penembusan ATR tren lebah yang mengintegrasikan analisis rentang fluktuasi harga saham dan indikator penilaian tren, untuk mengendalikan risiko perdagangan sambil menangkap titik panas pasar, adalah strategi kuantitatif yang sangat fleksibel dan adaptif. Strategi ini dapat terus ditingkatkan melalui penyesuaian parameter dan optimasi sinyal, dan memiliki prospek penggunaan yang luas.

Kode Sumber Strategi
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Strategy - Bobo PATR Swing", overlay=true, default_qty_type = strategy.fixed, default_qty_value = 1, initial_capital = 10000)

// === STRATEGY RELATED INPUTS AND LOGIC ===
PivottimeFrame = input(title="Pivot Timeframe",  defval="D")
ATRSDtimeFrame = input(title="ATR Band Timeframe (Lower timeframe = wider bands)",  defval="D")
len = input(title="ATR lookback (Lower = bands more responsive to recent price action)",  defval=13)
myatr = atr(len)
dailyatr = request.security(syminfo.tickerid, ATRSDtimeFrame, myatr[1])
atrdiv = input(title="ATR divisor (Lower = wider bands)", type=float, defval=2)
pivot0 = (high[1] + low[1]  + close[1]) / 3
pivot = request.security(syminfo.tickerid, PivottimeFrame, pivot0)
upperband1 = (dailyatr / atrdiv) + pivot
lowerband1 = pivot - (dailyatr / atrdiv)
middleband = pivot

// == TREND CALC ===
i1=input(2, "Momentum Period", minval=1) //Keep at 2 usually
i2=input(20, "Slow Period", minval=1)
i3=input(5, "Fast Period", minval=1)
i4=input(3, "Smoothing Period", minval=1)
i5=input(4, "Signal Period", minval=1)
i6=input(50, "Extreme Value", minval=1)
hiDif = high - high[1]
loDif = low[1] - low
uDM = hiDif > loDif and hiDif > 0 ? hiDif : 0
dDM =  loDif > hiDif and loDif > 0 ? loDif : 0
ATR = rma(tr(true), i1)
DIu = 100 * rma(uDM, i1) / ATR
DId = 100 * rma(dDM, i1) / ATR
HLM2 =  DIu - DId
DTI = (100 * ema(ema(ema(HLM2, i2), i3), i4)) /  ema(ema(ema(abs(HLM2), i2), i3), i4)
signal = ema(DTI, i5)


// === RISK MANAGEMENT INPUTS ===
inpTakeProfit   = input(defval = 0, title = "Take Profit (In Market MinTick Value)", minval = 0)
inpStopLoss     = input(defval = 100, title = "Stop Loss (In Market MinTick Value)", minval = 0)

// === RISK MANAGEMENT VALUE PREP ===
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong = (((low<=lowerband1) and (close >lowerband1)) or ((open <= lowerband1) and (close > lowerband1))) and (strategy.opentrades <1) and (atr(3) > atr(50)) and (signal>signal[3])
exitLong = (high > middleband)
strategy.entry(id = "Long", long = true, when = enterLong) 
strategy.close(id = "Long", when = exitLong)

// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort = (((high>=upperband1) and (close < upperband1)) or ((open >= upperband1) and (close < upperband1))) and (strategy.opentrades <1) and (atr(3) > atr(50)) and (signal<signal[3])
exitShort = (low < middleband)
strategy.entry(id = "Short", long = false, when = enterShort)
strategy.close(id = "Short", when = exitShort)

// === STRATEGY RISK MANAGEMENT EXECUTION ===
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss)

// === CHART OVERLAY ===
plot(upperband1, color=#C10C00, linewidth=3)
plot(lowerband1, color=#23E019, linewidth=3)
plot(middleband, color=#00E2E2, linewidth=3)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)