Strategi Pullback Breakout

Penulis:ChaoZhang, Tarikh: 2024-02-01 14:37:02
Tag:

img

Ringkasan

Strategi penarikan balik adalah strategi trend berikut. Prinsip asasnya adalah untuk pergi lama atau pendek apabila harga memecahkan tinggi atau rendah lilin sebelumnya dan membiarkan keuntungan terus berjalan selepas menetapkan mengambil keuntungan dan menghentikan kerugian.

Logika Strategi

Logik teras strategi ini adalah untuk menentukan masa kemasukan dengan menilai sama ada harga memecahkan tinggi atau rendah lilin sebelumnya. Logik khusus adalah:

Jika tinggi lilin semasa lebih tinggi daripada tinggi lilin sebelumnya, isyarat panjang dicetuskan.

Jika paras terendah lilin semasa lebih rendah daripada paras terendah lilin sebelumnya, isyarat pendek dicetuskan.

Setelah menerima isyarat panjang atau pendek, masukkan kedudukan dengan serta-merta. Selepas memasuki kedudukan, tetapkan mengambil keuntungan kepada 50 pip dan hentikan kerugian kepada 100 pip.

Apabila kerugian lebih besar daripada atau sama dengan pip stop loss atau keuntungan lebih besar daripada atau sama dengan pips mengambil keuntungan, keluar dari kedudukan secara aktif.

Analisis Kelebihan

Strategi penarikan keluar ini mempunyai kelebihan berikut:

  1. Logiknya mudah dan mudah dilaksanakan.
  2. Ia dapat menangkap permulaan trend dengan berkesan dan memasuki kedudukan dengan cara yang tepat pada masanya.
  3. Menetapkan mengambil keuntungan dan menghentikan kerugian membolehkan keuntungan untuk terus berjalan, mengelakkan keluar awal.
  4. Keupayaan yang baik untuk mengawal pengeluaran dan risiko.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Isyarat keluar mungkin palsu keluar, menyebabkan entri yang salah.
  2. Ia mudah untuk terperangkap dalam pasaran konsolidasi yang terikat julat.
  3. Pips mengambil keuntungan dan berhenti rugi yang munasabah harus ditetapkan untuk mengawal risiko.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Tambah pemeriksaan kesahihan untuk penembusan harga untuk mengelakkan penembusan palsu, seperti menggunakan penapis penunjuk dan pengesahan jumlah.

  2. Tambahkan mekanisme penentuan trend untuk mengelakkan risiko terperangkap dalam pasaran terhad julat. purata bergerak dan penunjuk trend lain boleh digunakan.

  3. Mengoptimumkan mengambil keuntungan dan strategi hentian kerugian, seperti hentian kerugian, memindahkan hentian kerugian selepas keuntungan, dll, untuk memaksimumkan keuntungan.

  4. Pengoptimuman parameter untuk mencari keuntungan yang optimum dan berhenti kerugian pips.

Kesimpulan

Secara umum, strategi penarikan balik pecah ini mempunyai kelebihan logik yang mudah, pelaksanaan yang mudah, dan menangkap permulaan trend dengan berkesan. Ia juga mempunyai keupayaan yang baik untuk mengawal risiko dan penarikan. Dengan pengoptimuman lanjut, ia boleh menjadi strategi kuant yang sangat praktikal.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Breakout Strategy", shorttitle="BS", overlay=true)

// Input for take profit and stop loss in pips
tp_pips = input(50, title="Take Profit (in pips)")
sl_pips = input(100, title="Stop Loss (in pips)")

// Calculate take profit and stop loss levels in points
tp_level = tp_pips * syminfo.mintick
sl_level = sl_pips * syminfo.mintick

// Function to check if a breakout has occurred
breakout(high_or_low) =>
    high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false

// Buy condition
buy_condition = breakout(high)
strategy.entry("Buy", strategy.long, when=buy_condition)

// Sell condition
sell_condition = breakout(low)
strategy.entry("Sell", strategy.short, when=sell_condition)

// Take profit and stop loss conditions for Buy
tp_buy_condition = strategy.position_avg_price + tp_level
sl_buy_condition = strategy.position_avg_price - sl_level
strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition)

// Take profit and stop loss conditions for Sell
tp_sell_condition = strategy.position_avg_price - tp_level
sl_sell_condition = strategy.position_avg_price + sl_level
strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)


Lebih lanjut