Strategi Pelacakan Dua Arah AlphaTrend


Tanggal Pembuatan: 2024-02-02 15:17:01 Akhirnya memodifikasi: 2024-02-02 15:17:01
menyalin: 0 Jumlah klik: 814
1
fokus pada
1617
Pengikut

Strategi Pelacakan Dua Arah AlphaTrend

Ringkasan

Strategi pelacakan dua arah AlphaTrend adalah strategi untuk melakukan perdagangan berdasarkan sinyal beli dan jual dari indikator AlphaTrend. Strategi ini dapat membuka posisi overhead dan overhead di area di mana indikator AlphaTrend menghasilkan sinyal beli dan jual.

Prinsip Strategi

Inti dari strategi pelacakan dua arah AlphaTrend adalah indikator AlphaTrend. Indikator AlphaTrend didasarkan pada kombinasi rata-rata gelombang nyata yang disesuaikan (ATR) dan harga (harga penutupan atau harga rata-rata tertimbang).

Uptrend = harga terendah - ATR * faktor Jalur bawah = harga tertinggi + ATR * faktor

Di mana ATR adalah rata-rata amplitudo riil dari periode tertentu yang lalu, dan koefisien adalah parameter yang dapat disesuaikan. Ketika harga lebih tinggi dari tren atas, garis indikator mendekati tren atas; Ketika harga lebih rendah dari tren bawah, garis indikator mendekati tren bawah. Dengan demikian, indikator AlphaTrend membentuk saluran yang beradaptasi.

Strategi pelacakan AlphaTrend bidirectional didasarkan pada sinyal dari indikator AlphaTrend untuk membangun posisi overhead dan overhead kosong. Logika spesifiknya adalah:

  • Jika harga naik, Anda akan melakukan lebih banyak.
  • Ketika harga melewati indikator AlphaTrend di bawah, buatlah posisi kosong.

Dengan demikian, transaksi yang dilacak dua arah berdasarkan AlphaTrend indicator channel dinamika akan selesai.

Analisis Keunggulan

Keuntungan terbesar dari strategi pelacakan dua arah AlphaTrend adalah kemampuan untuk melacak perubahan tren pasar. ATR yang dapat beradaptasi dapat menyesuaikan ruang saluran sesuai dengan perubahan volatilitas pasar, menghindari masalah bahwa indikator tradisional seperti Bollinger Bands mudah gagal karena meningkatnya volatilitas.

Selain itu, indikator AlphaTrend yang menggabungkan harga dan volume transaksi (atau momentum) dapat memfilter beberapa terobosan palsu. Ini juga meningkatkan kualitas sinyal strategi.

Analisis risiko

Risiko utama dari strategi penelusuran dua arah AlphaTrend berasal dari dampak goncangan pasar yang besar pada saluran indikator. Ketika pasar mengalami fluktuasi yang tidak biasa, titik stop loss dapat ditembus dan menyebabkan kerugian yang lebih besar. Ini perlu dikendalikan dengan penyesuaian parameter ATR dan titik stop loss yang sesuai.

Selain itu, indikator ALPHA sendiri akan mengalami lag. Oleh karena itu, sinyal yang salah juga akan dihasilkan di dekat titik balik. Ini perlu dibantu oleh indikator lain untuk mengkonfirmasi.

Arah optimasi

Strategi pelacakan dua arah AlphaTrend dapat dioptimalkan dalam beberapa hal:

  1. Menggunakan indikator tren untuk menilai tren utama pasar dan menghindari perdagangan kontra;
  2. Peningkatan batas volume transaksi untuk menghindari kerugian akibat penembusan palsu dalam jumlah kecil;
  3. Optimalkan parameter indikator agar jangkauan saluran lebih sesuai dengan karakteristik varietas yang berbeda;
  4. Menambahkan algoritma pembelajaran mesin untuk membuat saluran lebih cerdas.

Dengan mengoptimalkan beberapa poin di atas, Anda dapat meningkatkan stabilitas dan profitabilitas strategi AlphaTrend lebih jauh.

Meringkaskan

Strategi pelacakan dua arah AlphaTrend secara keseluruhan merupakan strategi yang efektif untuk melacak perubahan pasar. Ini memecahkan masalah dengan indikator teknis tradisional yang mudah gagal, dan juga menggabungkan volume transaksi untuk memfilter sinyal. Dengan pengoptimalan yang tepat, strategi ini dapat menjadi alat yang kuat dalam sistem perdagangan kuantitatif.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// author © KivancOzbilgic
// developer © KivancOzbilgic
//@version=5
strategy('AlphaTrend', shorttitle='AT', overlay=true, format=format.price, precision=2)
coeff = input.float(1, 'Multiplier', step=0.1)
AP = input(14, 'Common Period')
ATR = ta.sma(ta.tr, AP)
src = input(close)
showsignalsk = input(title='Show Signals?', defval=true)
novolumedata = input(title='Change calculation (no volume data)?', defval=false)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT

color1 = AlphaTrend > AlphaTrend[2] ? #00E60F : AlphaTrend < AlphaTrend[2] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B
k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3)
k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3)

fill(k1, k2, color=color1)

buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2])
sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2])


K1 = ta.barssince(buySignalk)
K2 = ta.barssince(sellSignalk)
O1 = ta.barssince(buySignalk[1])
O2 = ta.barssince(sellSignalk[1])

//plotshape(buySignalk and showsignalsk and O1 > K2 ? AlphaTrend[2] * 0.9999 : na, title='BUY', text='BUY', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0))

//plotshape(sellSignalk and showsignalsk and O2 > K1 ? AlphaTrend[2] * 1.0001 : na, title='SELL', text='SELL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))



longCondition = buySignalk and showsignalsk and O1 > K2
if (longCondition)
    
    strategy.entry("BUY", strategy.long, comment = "BUY ENTRY")

shortCondition = sellSignalk and showsignalsk and O2 > K1
if (shortCondition )
    
    strategy.entry("SELL", strategy.short, comment = "SELL ENTRY")













// alertcondition(buySignalk and O1 > K2, title='Potential BUY Alarm', message='BUY SIGNAL!')
// alertcondition(sellSignalk and O2 > K1, title='Potential SELL Alarm', message='SELL SIGNAL!')

// alertcondition(buySignalk[1] and O1[1] > K2, title='Confirmed BUY Alarm', message='BUY SIGNAL APPROVED!')
// alertcondition(sellSignalk[1] and O2[1] > K1, title='Confirmed SELL Alarm', message='SELL SIGNAL APPROVED!')



// alertcondition(ta.cross(close, AlphaTrend), title='Price Cross Alert', message='Price - AlphaTrend Crossing!')
// alertcondition(ta.crossover(low, AlphaTrend), title='Candle CrossOver Alarm', message='LAST BAR is ABOVE ALPHATREND')
// alertcondition(ta.crossunder(high, AlphaTrend), title='Candle CrossUnder Alarm', message='LAST BAR is BELOW ALPHATREND!')

// alertcondition(ta.cross(close[1], AlphaTrend[1]), title='Price Cross Alert After Bar Close', message='Price - AlphaTrend Crossing!')
// alertcondition(ta.crossover(low[1], AlphaTrend[1]), title='Candle CrossOver Alarm After Bar Close', message='LAST BAR is ABOVE ALPHATREND!')
// alertcondition(ta.crossunder(high[1], AlphaTrend[1]), title='Candle CrossUnder Alarm After Bar Close', message='LAST BAR is BELOW ALPHATREND!')