
Strategi penelusuran dua arah AlphaTrend adalah strategi untuk berdagang berdasarkan isyarat pembelian dan penjualan penunjuk AlphaTrend. Strategi ini dapat membuka kedudukan overhead dan overhead di kawasan di mana penunjuk AlphaTrend menghasilkan isyarat pembelian dan penjualan.
Inti strategi pengesanan dua arah AlphaTrend adalah penunjuk AlphaTrend. Penunjuk AlphaTrend berdasarkan kepada gabungan gelombang sebenar rata-rata ((ATR) dan harga ((harga penutupan atau harga rata-rata berat).
Naik ke atas = harga terendah - ATR * faktor Laluan bawah = harga tertinggi + ATR * faktor
Di mana ATR adalah purata gelombang sebenar untuk tempoh tertentu yang lalu, faktor adalah parameter yang boleh disesuaikan. Apabila harga lebih tinggi daripada lintasan, garis penunjuk mendekati lintasan; apabila harga lebih rendah daripada lintasan, garis penunjuk mendekati lintasan. Dengan cara ini, penunjuk AlphaTrend membentuk saluran yang menyesuaikan diri.
Strategi pengesanan dua hala AlphaTrend adalah berdasarkan isyarat penunjuk AlphaTrend untuk membina kedudukan overhead dan overhead kosong. Logiknya ialah:
Ini adalah cara untuk menjejaki perdagangan dua hala berdasarkan saluran dinamik penunjuk AlphaTrend.
Kelebihan terbesar strategi pengesanan dua arah AlphaTrend adalah keupayaan untuk mengesan perubahan trend pasaran. ATR yang beradaptasi dapat menyesuaikan ruang saluran mengikut perubahan kadar turun naik pasaran, mengelakkan masalah bahawa indikator tradisional seperti Bollinger Bands mudah gagal kerana peningkatan kadar turun naik.
Selain itu, penunjuk AlphaTrend menggabungkan harga dan jumlah transaksi (atau momentum) untuk menyaring beberapa pecah palsu. Ini juga meningkatkan kualiti isyarat strategi.
Risiko utama strategi pengesanan dua hala AlphaTrend berasal dari kejatuhan pasaran yang besar terhadap saluran petunjuk. Apabila pasaran mengalami turun naik yang tidak normal, titik hentian boleh ditembusi dan menyebabkan kerugian yang lebih besar. Ini perlu mengawal risiko dengan menyesuaikan parameter ATR dan titik hentian dengan sewajarnya.
Selain itu, penunjuk ALPHA sendiri akan mempunyai kelewatan tertentu. Oleh itu, isyarat yang salah juga akan dihasilkan berhampiran titik perubahan. Ini memerlukan bantuan penunjuk lain untuk mengesahkan.
Strategi pengesanan dua hala AlphaTrend boleh dioptimumkan dalam beberapa aspek:
Dengan mengoptimumkan beberapa perkara di atas, anda boleh meningkatkan lagi kestabilan dan keuntungan strategi AlphaTrend.
Strategi pengesanan dua arah AlphaTrend secara keseluruhan adalah strategi yang berkesan untuk mengesan perubahan pasaran. Ia menyelesaikan masalah yang mudah berlaku dengan indikator teknikal tradisional, dan menggabungkan jumlah transaksi untuk menapis isyarat. Dengan pengoptimuman yang betul, strategi ini boleh menjadi alat yang kuat dalam sistem perdagangan kuantitatif.
/*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!')