Strategi Penembusan Fractal Berganda

Penulis:ChaoZhang, Tarikh: 2024-01-30 15:53:27
Tag:

img

Ringkasan

Strategi pecah fraktal berganda adalah strategi perdagangan kuantitatif berdasarkan pengenalan corak teknikal. Ia mengenal pasti pembalikan trend yang berpotensi dengan mengesan pembentukan fraktal bawah dan atas berganda, dan menghasilkan isyarat beli dan jual apabila harga keluar dari fraktal ini.

Logika Strategi

Idea utama di sebalik strategi ini terletak pada teori fraktal. Kemunculan titik giliran jangka pendek berbentuk M atau berbentuk W menunjukkan kemungkinan pembalikan trend yang berlaku. Khususnya, fraktal bawah atau atas terbentuk apabila 5 bar berturut-turut mewujudkan kombinasi tinggi / rendah tertentu yang lebih tinggi / lebih rendah. Sebagai contoh, fraktal atas terbentuk apabila harga tertinggi dari 2 bar pertama lebih tinggi daripada 3 bar terakhir.

Strategi ini menghasilkan isyarat panjang dan pendek apabila harga memecahkan di bawah fraktal bawah dan di atas fraktal atas masing-masing, kerana pecah seperti itu menunjukkan kemungkinan pembalikan trend yang lebih tinggi.

Kelebihan

Kelebihan utama strategi ini adalah keupayaannya untuk mengesan titik pembalikan trend yang berpotensi, yang boleh sangat berguna untuk sistem perdagangan yang mengikuti trend.

Risiko

Risiko utama adalah bahawa pengesanan fraktal tidak menjamin pembalikan harga dengan kepastian penuh. Kadang-kadang harga mungkin hanya membuat pembetulan jangka pendek tanpa perubahan trend sebenar. Isyarat yang tidak betul boleh menyebabkan kerugian yang tidak perlu dalam kes seperti itu. Untuk mengurangkan risiko ini, penunjuk lain seperti jumlah perdagangan boleh digunakan untuk mengesahkan kesahihan isyarat pembalikan.

Peningkatan

Cara yang mungkin untuk meningkatkan strategi ini termasuk:

  1. Menambah penapis seperti kelantangan untuk mengelakkan pembalikan palsu.

  2. Penyesuaian parameter untuk mengesan fraktal berganda yang lebih besar dan menangkap perubahan trend yang besar.

  3. Menggabungkan pergerakan stop loss untuk mengurangkan kerugian daripada perdagangan yang tidak baik.

Kesimpulan

Strategi pecah fraktal berganda mengenal pasti pembalikan harga yang berpotensi dengan mengesan corak teknikal tertentu. Sebagai pendekatan yang didorong oleh penunjuk teknikal, ia dapat dengan berkesan mengesan trend jangka pendek dan sederhana di pasaran dan memberikan hasil risiko-balasan yang terhormat.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

strategy("Fractal Breakout Strategy", overlay=true)

FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or 
   high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2] or 
   high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and 
   high[3] <= high[2] and high[1] < high[2] and high < high[2] or 
   high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and 
   high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and 
   high < high[2] or 
   high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and 
   high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")

FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or 
   low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and 
   low > low[2] or 
   low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and 
   low[1] > low[2] and low > low[2] or 
   low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and 
   low[3] >= low[2] and low[1] > low[2] and low > low[2] or 
   low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and 
   low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")

if crossover(close, FractalUp)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(close, FractalDown)
    strategy.entry("Short", strategy.short, comment="Short")


Lebih lanjut