Strategi Dagangan Kuantitatif Komprehensif Berdasarkan Pelbagai Penunjuk

Penulis:ChaoZhang, Tarikh: 2023-12-28 17:46:45
Tag:

img

Ringkasan

Strategi ini dinamakan Comprehensive Quantitative Trading Strategy Based on Multiple Indicators. Ia mengintegrasikan beberapa penunjuk teknikal termasuk SuperTrend, QQE dan Trend Indicator A-V2 untuk membentuk sistem perdagangan yang komprehensif yang menganalisis pasaran dari pelbagai dimensi.

Idea utamanya adalah untuk menggabungkan penunjuk yang berbeza untuk meningkatkan ketepatan penghakiman sambil menangkap trend utama di pasaran, untuk menyediakan peniaga dengan isyarat perdagangan yang stabil dan cekap. Strategi ini mengambil kira trend, tahap overbought / oversold, serta trend pertengahan dan jangka panjang, membentuk logik pengesahan pelbagai lapisan untuk keputusan perdagangan.

Logika Strategi

Logik perdagangan teras strategi ini adalah berdasarkan penilaian gabungan tiga penunjuk berikut:

  1. SuperTrend: Untuk menentukan sama ada harga berada dalam trend menaik atau menurun. Ia menghasilkan isyarat beli dan jual apabila harga penutupan memecahkan jalur atas atau bawah.

  2. QQE: Versi RSI yang dipertingkatkan yang menggabungkan ciri-ciri pembalikan purata. Ia digunakan untuk menilai sama ada pasaran terlalu banyak dibeli atau terlalu banyak dijual. ambang disesuaikan secara dinamik berdasarkan jalur penyimpangan standard RSI.

  3. Penunjuk Trend A-V2: Bandingkan EMA harga dan EMA harga terbuka untuk menentukan arah trend.

Tiga penunjuk di atas mempunyai tumpuan yang berbeza. SuperTrend menyasarkan pada trend dan titik pembalikan. QQE memberi tumpuan kepada tahap overbought / oversold. A-V2 membantu menentukan trend jangka menengah dan panjang. Strategi ini mengintegrasikannya untuk membentuk sistem keputusan perdagangan yang lengkap.

Logik perdagangan khusus adalah seperti berikut:

Isyarat beli dihasilkan apabila SuperTrend menunjukkan trend menaik, QQE menunjukkan RSI berada di bawah tahap oversold, dan A-V2 EMA meningkat.

Isyarat jual dihasilkan apabila SuperTrend menunjukkan trend menurun, QQE menunjukkan RSI berada di atas tahap overbought, dan EMA A-V2 jatuh.

Penghakiman komprehensif pelbagai penunjuk memastikan ketepatan tinggi dalam isyarat sambil memaksimumkan peluang di pasaran untuk mencapai perdagangan yang stabil dan cekap.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Penghakiman yang lebih tepat kerana penggabungan penunjuk. Integrasi pelbagai penunjuk membolehkan pengesahan bersama, dengan itu meningkatkan ketepatan.

  2. Liputan yang lebih komprehensif untuk perdagangan dua arah. Memperbolehkan kedudukan panjang dan pendek boleh memperoleh keuntungan yang baik dari kedua-dua turun naik dan turun pasaran.

  3. Pengendalian risiko yang lebih baik. Gabungan penunjuk menghalang isyarat palsu penunjuk individu. Penunjuk seperti QQE juga mengawal risiko secara semula jadi.

  4. Mudah digunakan, penyesuaian parameter yang fleksibel. Parameter input mudah untuk pengguna menyesuaikan berdasarkan pilihan mereka sendiri untuk memenuhi keadaan pasaran yang berbeza.

  5. Ia boleh digunakan untuk pasaran seperti saham, forex, cryptocurrency dan sesuai dengan peniaga teknikal khususnya.

Analisis Risiko

Risiko utama strategi ini termasuk:

  1. Risiko bias dalam penilaian penunjuk: Kelainan harga yang jarang berlaku boleh menyebabkan bias dalam isyarat penunjuk dan dengan itu risiko.

  2. Risiko pembalikan trend. Strategi ini memberi tumpuan kepada trend-mengikuti, jadi pembalikan asas utama yang didorong boleh menyebabkan kerugian besar.

  3. Risiko dari penyesuaian parameter yang tidak betul. Tetapan pengguna yang tidak mencukupi pada parameter boleh menyorok isyarat penunjuk.

Penyelesaian pengurusan risiko utama adalah: 1) Memastikan isyarat di seluruh penunjuk untuk mengelakkan bergantung pada satu penunjuk sahaja; 2) Kawalan saiz kedudukan untuk kerugian yang diuruskan setiap perdagangan; 3) Penyesuaian parameter untuk pasaran yang berbeza.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Tambah stop loss untuk mengambil keuntungan dan pengurangan pengeluaran. Stop loss atau stop loss dengan keuntungan boleh diperkenalkan.

  2. Mengintegrasikan lebih banyak penunjuk untuk meningkatkan kestabilan sistem. Penunjuk seperti MACD, DMI, OBV boleh ditambah untuk pengesahan isyarat.

  3. Memperkenalkan saiz kedudukan berdasarkan turun naik. Sesuaikan saiz kedudukan secara dinamik mengikut perubahan turun naik pasaran.

  4. Mengoptimumkan penyesuaian parameter. Ujian belakang yang lebih lama boleh dijalankan untuk mencari set parameter optimum untuk strategi ini.

  5. Gunakan set parameter yang berbeza untuk pasaran yang berbeza. Parameter boleh dioptimumkan secara berasingan untuk hasil terbaik di pasaran yang berbeza ( saham, forex, crypto dll).

Kesimpulan

Strategi ini mengintegrasikan penunjuk SuperTrend, QQE dan A-V2 ke dalam sistem perdagangan kuantitatif yang komprehensif dengan penghakiman isyarat yang kukuh. Dengan menggabungkan trend, tahap overbought / oversold dan pengesahan trend jangka menengah dan panjang, ia dapat mengenal pasti peluang dengan berkesan sambil mengawal risiko dengan ketat. Strategi ini mempunyai kelebihan yang signifikan dan bernilai dinilai dan dioptimumkan dalam perdagangan langsung oleh peniaga teknikal. Ia juga menyediakan rujukan berharga untuk pembangunan strategi lain.


/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//author:盧振興 芙蓉中華中學畢業 育達科技大學畢業碩士
//參考資料 : QQE MOD By:Mihkel00 ,SuperTrend By:KivancOzbilgic , TrendIndicator A-V2 By:Dziwne

strategy("綜合交易策略", shorttitle="Comprehensive Strategy", overlay=true)

// 添加單邊或多空參數
OnlyLong = input(true, title="單邊")

// SuperTrend 参数
PeriodsST = input(9, title="ST ATR Period")
MultiplierST = input(3.9, title="ST ATR Multiplier")
srcST = input(hl2, title="ST Source")

atrST = atr(PeriodsST)
upST = srcST - (MultiplierST * atrST)
upST := close[2] > upST[1] ? max(upST, upST[1]) : upST
dnST = srcST + (MultiplierST * atrST)
dnST := close[2] < dnST[1] ? min(dnST, dnST[1]) : dnST
trendST = 1
trendST := nz(trendST[1], trendST)
trendST := trendST == -1 and close[2] > dnST[1] ? 1 : trendST == 1 and close[2] < upST[1] ? -1 : trendST

// QQE 参数
RSI_PeriodQQE = input(6, title='QQE RSI Length')
SFQQE = input(5, title='QQE RSI Smoothing')
QQE = input(3, title='QQE Fast Factor')
ThreshHoldQQE = input(3, title="QQE Thresh-hold")
srcQQE = input(close, title="QQE RSI Source")

Wilders_PeriodQQE = RSI_PeriodQQE * 2 - 1

RsiQQE = rsi(srcQQE, RSI_PeriodQQE)
RsiMaQQE = ema(RsiQQE, SFQQE)
AtrRsiQQE = abs(RsiMaQQE[1] - RsiMaQQE)
MaAtrRsiQQE = ema(AtrRsiQQE, Wilders_PeriodQQE)
darQQE = ema(MaAtrRsiQQE, Wilders_PeriodQQE) * QQE

basisQQE = sma(RsiMaQQE - 50, 50)
devQQE = 0.35 * stdev(RsiMaQQE - 50, 50)
upperQQE = basisQQE + devQQE
lowerQQE = basisQQE - devQQE

qqeCondition = RsiMaQQE[1] - 50 > upperQQE[1] ? true : RsiMaQQE[1] - 50 < lowerQQE[1] ? false : na

// Trend Indicator A-V2 参数
ma_periodA_V2 = input(52, title="TIA-V2 EMA Period")
oA_V2 = ema(open, ma_periodA_V2)
cA_V2 = ema(close, ma_periodA_V2)
trendIndicatorAV2Condition = cA_V2[1] >= oA_V2[1] ? true : false

// 综合交易逻辑
longCondition = trendST == 1 and qqeCondition and trendIndicatorAV2Condition
shortCondition = trendST == -1 and not qqeCondition and not trendIndicatorAV2Condition

// 针对多单的开平仓逻辑
if (OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)        
    else
        strategy.close("Buy")

// 多空都做时的逻辑
if (not OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)
    else if (shortCondition)
        strategy.entry("Sell",strategy.short)

    // 添加多空平仓逻辑
    if (not longCondition)
        strategy.close("Buy")
    if (not shortCondition)
        strategy.close("Sell")

// 可视化信号
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition and not OnlyLong, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


Lebih lanjut