Strategi Breakout Fraktal

Penulis:ChaoZhang, Tanggal: 2023-12-19 15:32:57
Tag:

img

Gambaran umum

Ini adalah strategi pelacakan garis panjang yang mengikuti tren yang menilai tren berdasarkan fraktal harga. Ini memutuskan untuk membuka posisi berdasarkan terobosan titik fraktal terbaru. Pada saat yang sama, ini menilai arah tren dengan menghitung harga rata-rata dari N titik fraktal terakhir dan menutup posisi ketika tren berubah.

Prinsip-prinsip

  1. Menghitung titik fraktal harga. titik fraktal didefinisikan sebagai harga tertinggi hari ini yang lebih tinggi dari harga tertinggi dari dua hari sebelumnya dan dua hari ke depan.

  2. Catat harga titik fraktal terakhir sebagai resistance.

  3. Ketika harga penutupan menembus titik fraktal terakhir, dianggap bahwa resistensi telah dipecahkan dan posisi panjang telah ditetapkan.

  4. Hitung harga rata-rata dari N titik fraktal terakhir untuk menentukan tren. Ketika harga rata-rata naik, itu adalah tren bullish, dan ketika turun, itu adalah tren bearish.

  5. Jika harga titik fraktal rata-rata turun selama posisi panjang, tutup posisi.

Analisis Keuntungan

Keuntungan terbesar dari strategi penilaian tren berbasis fraktal ini adalah dapat secara efektif menyaring kebisingan pasar dan menentukan arah tren jangka panjang.

Selain itu, kriteria untuk membuka dan menutup posisi strategi ini sangat jelas, yang menghindari perdagangan yang sering.

Analisis Risiko

Risiko terbesar dari strategi ini terletak pada sifat probabilistik dari titik-titik fraktal itu sendiri. Fraktal tidak dapat sepenuhnya memprediksi apakah harga pasti akan berbalik, yaitu, kemungkinan penilaian yang salah masih ada. Ketika penilaian yang salah terjadi, itu akan menghadapi risiko kerugian.

Selain itu, rentang waktu untuk menilai titik fraktal panjang dan tidak dapat beradaptasi dengan perdagangan frekuensi tinggi.

Arahan Optimasi

Mempertimbangkan kemungkinan kesalahan penilaian titik fraktal, kita dapat mengoptimalkan dengan cara berikut:

  1. Gabungkan dengan indikator lain seperti Bollinger Bands, moving average, dll untuk menghindari penilaian yang salah berdasarkan hanya pada titik fraktal.

  2. Sesuaikan parameter titik fraktal, seperti jumlah periode sebelum dan sesudah penilaian, untuk mengoptimalkan penilaian titik fraktal.

  3. Tambahkan strategi stop loss untuk menghentikan kerugian ketika kerugian berkembang sampai batas tertentu.

Ringkasan

Fraktal Breakout Strategy sangat cocok untuk menilai tren jangka panjang secara keseluruhan dan sangat cocok untuk digunakan oleh investor jangka panjang. Selama kita menyesuaikan parameter dengan tepat, menambahkan indikator penyaringan lainnya dengan premis untuk memastikan akurasi penilaian, kita dapat sangat mengoptimalkan strategi ini dan menjadikannya bagian penting dari Keputusan Kuantitatif.


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

//@version=2
strategy("Fractal Breakout Strategy (by ChartArt)", shorttitle="CA_-_Fractal_Breakout_Strat", overlay=true)

// ChartArt's Fractal Breakout Strategy
//
// Version 1.0
// Idea by ChartArt on April 24, 2016.
//
// This long only strategy determines the last fractal top
// and enters a trade when the price breaks above the last
// fractal top. The strategy also calculates the average
// price of the last 2 (or 3) fractal tops to get the trend.
//
// The strategy exits the long trade when the average of the
// fractal tops is falling (when the trend is lower highs).
// And the user can manually set a delay of this exit.
//
// In addition the fractals tops can be colored in blue
// and a line can be drawn based on the fractal tops.
// This fractal top line is colored by the fractal trend.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


// input

n_time = input(title='Always exit each trade after this amount of bars later (Most important strategy setting)', defval=3)
price = input(hl2,title='Price type to determine the last fractal top and the fractal breakout, the default is (high+low)/2')


// fractal calculation

fractal_top = high[2] > high[3] and high[2] > high[4] and high[2] > high[1] and high[2] > high[0]
fractal_price = valuewhen(fractal_top, price, 1)
use_longer_average = input(true,title='Use Fractal price average of the last 3 fractals instead of the last 2 fractals?')
fractal_average = use_longer_average?(fractal_price[1] + fractal_price[2] + fractal_price[3] ) / 3 : (fractal_price[1] + fractal_price[2]) / 2
fractal_trend = fractal_average[0] > fractal_average[1]
no_repainting = input(true,title='Use the price of the last bar to prevent repainting?')
fractal_breakout = no_repainting?price[1] > fractal_price[0]:price[0] > fractal_price[0]


// highlight fractal tops

show_highlight = input(true,title='Highlight fractal tops in blue and color all other bars in gray?')
highlight = fractal_top?blue:silver
barcolor(show_highlight?highlight:na,offset=-2)
show_fractal_top_line = input(true,title='Draw a colored line based on the fractal tops?')
fractal_top_line = change(fractal_top) != 0 ? price : na
fractal_top_line_color = change(fractal_price) > 0 and fractal_breakout == true ? green : change(fractal_price) < 0 and fractal_breakout == false ? red : blue
plot(show_fractal_top_line?fractal_top_line:na,offset=-2,color=fractal_top_line_color,linewidth=4)


// strategy

trade_entry = fractal_trend and fractal_breakout
trade_exit = fractal_trend[n_time] and fractal_trend == false 
 
if (trade_entry)
    strategy.entry('Long', strategy.long)
 
if (trade_exit)
    strategy.close('Long')

Lebih banyak