Strategi purata bergerak berganda 360°

Penulis:ChaoZhang, Tarikh: 2024-02-02 14:29:59
Tag:

img

Ringkasan

Strategi purata bergerak berganda 360 ° adalah strategi perdagangan kuantitatif yang menggabungkan purata bergerak berganda dan penentuan kekuatan trend. Dengan mengira purata bergerak dalam tempoh yang berbeza, ia menentukan trend harga; sementara itu, dengan mengumpulkan sudut tangen, ia menilai kekuatan trend dan mencapai entri dan keluar yang lebih tepat.

Logika Strategi

Logik teras Strategi Purata Bergerak Berganda 360 ° adalah:

  1. Mengira purata bergerak 1 minit dan penapis Kalman;
  2. Mengira sudut tangen berdasarkan perbezaan harga antara kedua-dua purata bergerak;
  3. Mengumpul sudut tangen untuk menentukan isyarat kekuatan trend;
  4. Mengeluarkan isyarat dagangan berdasarkan sama ada sudut tangen yang terkumpul melebihi ambang yang telah ditetapkan.

Secara khusus, strategi ini menentukan purata bergerak 1 minit mentah dan purata bergerak yang disaring oleh Kalman. Penapis Kalman menghilangkan beberapa bunyi bising dari purata bergerak untuk menjadikannya lebih lancar. Sudut tangen antara kedua-dua purata bergerak mencerminkan perubahan trend harga. Sebagai contoh, apabila sudut tangen positif, ia menunjukkan trend menaik; sebaliknya, sudut negatif mewakili trend menurun.

Strategi ini memilih 30 minit sebagai tempoh pengiraan untuk menjumlahkan semua sudut tangen positif dan negatif dalam tempoh itu. Apabila jumlah melebihi 360 darjah, ia menandakan trend yang sangat kuat dan mengeluarkan isyarat panjang; sebaliknya, apabila jumlahnya di bawah -360 darjah, ia menunjukkan pembalikan trend dan mengeluarkan isyarat pendek.

Analisis Kelebihan

Kelebihan utama strategi purata bergerak berganda 360 ° adalah:

  1. Purata bergerak menapis bunyi pasaran jangka pendek untuk keputusan perdagangan yang lebih boleh dipercayai;
  2. Sudut tangen mengukur kekuatan trend, mengelakkan subjektiviti menilai dengan corak purata bergerak sahaja;
  3. Menjumlahkan pelbagai sudut tangen mempunyai kesan pengurangan bunyi yang lebih baik, menghasilkan isyarat perdagangan yang lebih boleh dipercayai;
  4. Berbanding dengan strategi purata bergerak tunggal, purata bergerak berganda digabungkan dengan penentuan kekuatan trend menjadikan strategi lebih komprehensif dan kukuh.

Analisis Risiko

Strategi purata bergerak berganda 360 ° juga membawa beberapa risiko:

  1. purata bergerak ketinggalan perubahan harga dan mungkin terlepas titik perubahan trend jangka pendek;
  2. Mengandalkan hanya isyarat kekuatan trend terkumpul boleh terganggu oleh turun naik pasaran;
  3. Tetapan parameter yang tidak betul (seperti panjang tempoh pengiraan) boleh menyebabkan perdagangan hilang atau menghasilkan isyarat yang salah.

Untuk mengurangkan risiko di atas, langkah-langkah seperti memperpendek tempoh purata bergerak, mengoptimumkan kombinasi parameter, menambah mekanisme berhenti rugi boleh diterima pakai.

Arahan pengoptimuman

Strategi purata bergerak berganda 360 ° boleh dioptimumkan lagi dengan:

  1. Menggabungkan purata bergerak adaptif yang menyesuaikan parameter berdasarkan turun naik pasaran;
  2. Menghubungkan beberapa tempoh purata bergerak untuk membentuk kombinasi parameter yang dioptimumkan;
  3. Menambah modul penentuan trend dinamik berdasarkan turun naik, jumlah dagangan, dan lain-lain;
  4. Membantu penyesuaian parameter atau keputusan perdagangan dengan model pembelajaran mesin.

Ringkasan

Strategi purata bergerak berganda 360 ° menggunakan penapisan purata bergerak dan penilaian trend sudut tangen kuantitatif untuk mencapai strategi perdagangan kuantitatif yang agak kukuh. Berbanding dengan penunjuk teknikal tunggal, strategi ini membentuk pertimbangan yang lebih komprehensif dan mempunyai kepraktisan yang lebih kuat. Tetapi penyesuaian parameter dan kawalan risiko masih penting, dan strategi dapat dioptimumkan lebih lanjut untuk hasil yang lebih baik ke hadapan.


/*backtest
start: 2024-01-25 00:00:00
end: 2024-01-30 08:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@library=math
strategy("策略360°(测试)", overlay=true)

// 定义1分钟均线
ma1 = request.security(syminfo.tickerid, "1", ta.sma(close, 1)) // 在这里使用了 math.sma() 函数
//plot(ma1, color=color.yellow, title="原始均线")

// 定义卡尔曼滤波函数,参考了[1](https://www.tradingview.com/pine-script-docs/en/v5/language/Methods.html)和[2](https://www.tradingview.com/pine-script-docs/en/v5/language/Operators.html)的代码
kalman(x, g) => 
    kf = 0.0 
    dk = x - nz(kf[1], x) // 在这里使用了 nz() 函数
    smooth = nz(kf[1], x) + dk * math.sqrt(g * 2) // 在这里使用了 math.sqrt() 函数
    velo = 0.0 
    velo := nz(velo[1], 0) + g * dk // 在这里使用了 nz() 函数
    kf := smooth + velo 
    kf 

// 定义卡尔曼滤波后的均线
ma2 = kalman(ma1, 0.01) 
plot(ma2, color=color.blue, title="卡尔曼滤波后的均线")

// 定义切线角
angle = math.todegrees(math.atan(ma2 - ma2[1])) // 在这里使用了 math.degrees() 和 math.atan() 函数

// 定义累加的切线角
cum_angle = 0.0
cum_angle := nz(cum_angle[1], 0) + angle // 在这里使用了 nz() 函数

// 定义30分钟周期
period = 30 // 您可以根据您的需要修改这个参数

// 定义周期内的切线角总和
sum_angle = 0.0
sum_angle := math.sum(angle, period) // 在这里使用了 math.sum() 函数,把周期内的切线角总和改成简单地把 5 个切线角相加

// 定义买入和卖出条件
buy = sum_angle > 360// 在这里使用了 math.radians() 函数
sell = sum_angle < -360

// 执行买入和卖出操作
strategy.entry("Long", strategy.long, when=buy)
strategy.close("Short", when=buy)
strategy.entry("Short", strategy.short, when=sell)
strategy.close("Long", when=sell)

// 绘制曲线图
plot(sum_angle, color=color.green, title="周期内的切线角总和")
plot(angle, color=color.red, title="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角


Lebih lanjut