Strategi Purata Pergerakan Berganda 360°


Tarikh penciptaan: 2024-02-02 14:29:59 Akhirnya diubah suai: 2024-02-02 14:29:59
Salin: 0 Bilangan klik: 656
1
fokus pada
1617
Pengikut

Strategi Purata Pergerakan Berganda 360°

Gambaran keseluruhan

Strategi 360 ° adalah strategi perdagangan kuantitatif yang menggabungkan garis rata-rata ganda dan kekuatan trend. Strategi ini menilai trend harga dengan mengira garis rata-rata untuk tempoh yang berbeza; dan menggabungkan penjumlahan sudut garis pemotong untuk menentukan kekuatan trend, mewujudkan pilihan masa pembelian dan penjualan yang lebih tepat.

Prinsip Strategi

Logik utama 360° adalah:

  1. Hitung garis purata selepas 1 minit dan gelombang Kalman;
  2. Angka penampang dikira melalui perbezaan harga dua garis rata;
  3. Ini adalah satu-satunya cara untuk mendapatkan isyarat trend yang kuat dan lemah.
  4. Isyarat dagangan berdasarkan sama ada sudut garisan penyambung melebihi nilai set.

Khususnya, strategi ini menentukan garis purata asal 1 minit dan garis purata selepas melalui filter Kalman. The filter Kalman boleh menghilangkan sebahagian daripada bunyi di dalam garis purata, menjadikannya lebih halus. Kemudian mengira sudut garis dua garis purata, sudut yang mencerminkan perubahan trend harga.

Strategi memilih 30 minit sebagai kitaran pengiraan, real summed semua sudut garisan negatif positif dalam kitaran tersebut. Apabila sudut garisan dan lebih dari 360 darjah, menunjukkan trend yang sangat kuat, mengeluarkan banyak isyarat; sebaliknya apabila sudut garisan dan kurang dari 360 darjah, menunjukkan trend berbalik, mengeluarkan isyarat kosong.

Analisis kelebihan

Kelebihan utama strategi 360° adalah:

  1. Garis rata menapis kebisingan pasaran jangka pendek, menjadikan keputusan perdagangan lebih stabil dan boleh dipercayai;
  2. Sudut garis memotong mengukur kekuatan trend, mengelakkan penilaian subjektif berdasarkan bentuk garis rata sahaja;
  3. Mengambil lebih banyak sudut pemotongan dan menggabungkannya mempunyai kesan penghapusan bunyi yang lebih baik dan isyarat perdagangan yang lebih dipercayai;
  4. Berbanding dengan strategi single linear, strategi dua linear yang digabungkan dengan penilaian kekuatan trend menjadikan strategi lebih komprehensif dan kukuh.

Analisis risiko

Strategi 360° ini mempunyai beberapa risiko:

  1. Garis purata adalah ketinggalan dan mungkin terlepas titik perubahan trend jangka pendek;
  2. Isyarat kekuatan trend yang hanya bergantung kepada jumlah yang terkumpul mudah terjejas oleh pergolakan pasaran;
  3. Tetapan parameter yang tidak betul (seperti panjang kitaran pengiraan) boleh menyebabkan kehilangan peluang perdagangan atau menghasilkan isyarat yang salah.

Untuk mengurangkan risiko di atas, anda boleh memendekkan kitaran garis rata-rata, mengoptimumkan kombinasi parameter, meningkatkan mekanisme hentikan kerugian dan sebagainya.

Arah pengoptimuman

Strategi 360° mempunyai ruang untuk pengoptimuman yang lebih lanjut:

  1. Menambah garis rata-rata adaptasi, menyesuaikan parameter garis rata-rata mengikut turun naik pasaran;
  2. Menambah pelbagai rujukan kitaran rata-rata untuk membentuk kombinasi parameter yang optimum;
  3. Menambah modul penilaian trend dinamik berdasarkan kadar turun naik, jumlah dagangan dan sebagainya;
  4. Menggabungkan model pembelajaran mesin untuk membantu menyesuaikan parameter atau membuat keputusan perdagangan.

ringkaskan

Strategi dua hala 360 ° menggunakan penapisan hala dan sudut sudut yang komprehensif, mewujudkan strategi perdagangan kuantitatif yang lebih mantap. Berbanding dengan satu petunjuk teknikal, strategi ini membentuk pertimbangan yang lebih menyeluruh dan mempunyai kepraktisan yang lebih kuat.

Kod sumber strategi
/*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="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角