Strategi pembalikan breakout dengan stop loss

Penulis:ChaoZhang, Tanggal: 2024-02-05 14:56:16
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan kuantitatif panjang/pendek berdasarkan teori breakout. Ini menghitung harga penutupan tertinggi selama 100 hari perdagangan terakhir dan menentukan apakah akan terjadi breakout berdasarkan apakah harga penutupan terakhir melebihi level tersebut. Jika breakout terdeteksi, sinyal panjang dipicu. Setelah masuk panjang, posisi akan ditutup dengan stop loss setelah 25 bar.

Logika Strategi

Logika inti dari strategi ini memanfaatkan teori breakout dalam analisis teknis. Teori breakout percaya bahwa ketika harga menembus level tertinggi atau terendah baru-baru ini selama periode waktu, itu menandakan pembalikan dan pasar dapat memulai tren naik atau turun baru.

Secara khusus strategi ini menggunakan fungsi Pine Script built-inta.highest()untuk menghitung penutupan tertinggi selama 100 bar terakhir. kemudian membandingkan jika harga penutupan bar saat ini lebih tinggi dari level tersebut. jika harga penutupan menerobos dan melebihi harga penutupan tertinggi 100 hari, sinyal masuk panjang dipicu.

Setelah memasuki posisi long, strategi menetapkan kondisi stop loss untuk menutup posisi.ta.barssince()untuk menghitung jumlah bar yang telah berlalu sejak masuk panjang, itu akan memaksa untuk menutup posisi setelah 25 bar.

Logika entri dapat diringkas sebagai:

  1. Menghitung penutupan tertinggi dari 100 hari perdagangan terakhir
  2. Bandingkan jika harga penutupan bar saat ini melebihi harga penutupan tertinggi
  3. Jika melebihi, memicu sinyal masuk panjang
  4. Tutup posisi panjang dengan stop loss setelah 25 bar

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah menangkap titik pembalikan harga dengan tingkat keberhasilan yang relatif tinggi dari perdagangan yang mengikuti tren.

Keuntungan konkretnya adalah:

1. Mengikuti tren, tingkat keberhasilan yang lebih tinggi

Teori breakout percaya bahwa setelah harga melampaui tingkat kunci, itu dapat memulai tren baru.

2. Risiko yang terkontrol, dengan stop loss

Strategi ini menetapkan stop loss exit setelah 25 bar hingga kerugian tunggal maksimum, menghindari kerugian besar.

3. Cocok untuk kepemilikan jangka menengah hingga panjang

Periode pemegang default adalah 25 bar, sekitar 1 bulan. Frekuensi ini cocok untuk strategi jangka menengah hingga panjang, tidak terlalu pendek untuk whipsaws, dan tidak terlalu lama untuk meningkatkan risiko.

4. Beberapa parameter, mudah dioptimalkan

Pada dasarnya ada 2 parameter yang dapat disetel. Dengan beberapa parameter, mudah untuk menguji dan menemukan parameter optimal untuk perdagangan yang sebenarnya.

5. Dapat ditransfer ke berbagai produk

Strategi ini tidak menjawab indikator khusus produk tertentu. Logikanya berlaku untuk saham, forex, komoditas, cryptocurrency dll. Jadi fleksibel untuk beralih antara produk.

Analisis Risiko

Sementara strategi ini memiliki beberapa keunggulan, ada juga beberapa risiko ketika digunakan dalam perdagangan yang sebenarnya, terutama:

1. Risiko memegang posisi yang kehilangan

Strategi ini tidak memiliki trailing stop loss untuk mengikuti posisi yang menguntungkan. Jika tren harga tidak berjalan seperti yang diharapkan, atau breakout ternyata palsu, maka keluar paksa pada titik stop loss yang telah ditetapkan sebelumnya dapat menyebabkan kerugian besar. Ini adalah risiko terbesar.

2. Pengaturan parameter mungkin diperlukan

Parameter default mungkin tidak optimal. Mereka perlu dioptimalkan selama perdagangan langsung untuk menemukan yang paling cocok untuk produk dan rezim pasar tertentu. Ini menambahkan pekerjaan tambahan.

3. Korelasi kinerja dengan pasar

Strategi ini terlalu bergantung pada tren harga yang terus-menerus. Ini tidak bekerja dengan baik selama rezim yang terbatas pada kisaran. Jika terjadi pasar whipsaw, keluar paksa akan sering terjadi yang menyebabkan keuntungan / kerugian yang tidak stabil.

Optimalisasi

Untuk membuat strategi ini lebih kuat dan menguntungkan untuk penyebaran yang sebenarnya, beberapa peningkatan dapat dilakukan dari aspek berikut:

1. Tambahkan mekanisme stop loss trailing

Tambahkan logika stop loss trailing untuk mengikuti posisi menguntungkan, dengan secara dinamis memperbarui titik stop loss berdasarkan keuntungan yang mengambang.

2. Parameter adaptatif berdasarkan pasar

Membuat parameter seperti periode breakout dan periode holding adaptif berdasarkan kekuatan pasar, diukur dengan menggunakan metrik seperti ATR. Ini dapat secara dinamis menyesuaikan parameter.

**3. Gabungkan filter tren **

Menyaring lebih baik tren yang tidak jelas ketika menerapkan strategi, melalui analisis tren sebelumnya, baik secara diskresional atau kuantitatif.

4. Uji pada produk dan interval yang berbeda

Memeriksa parameter dan aturan yang dioptimalkan pada produk yang berbeda (misalnya indeks, komoditas, forex, crypto) dan interval (misalnya harian, 60m bar) akan membuat strategi ini lebih kuat dan dapat diterapkan secara luas.

Kesimpulan

Strategi pembalikan breakout ini dengan stop loss mudah diterapkan dengan aturan yang jelas tentang identifikasi tren dan manajemen posisi. Kami menganalisis kekuatan dan risikonya, memberikan saran untuk meningkatkan profitabilitas dan penerapannya. Dengan optimasi lebih lanjut, ini dapat menjadi strategi perdagangan kuantitatif yang solid.


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

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © All_Verklempt

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

// Input variable for breakout period
breakoutPeriod = input.int(100, title="Breakout Period", minval=1)

// Calculate the highest close of the past breakout period
highestClose = ta.highest(close, breakoutPeriod)

// Input variables for start and end dates
startYear = input.int(2022, title="Start Year", minval=1900)
startMonth = input.int(1, title="Start Month", minval=1, maxval=12)
startDay = input.int(1, title="Start Day", minval=1, maxval=31)

endYear = input.int(2023, title="End Year", minval=1900)
endMonth = input.int(12, title="End Month", minval=1, maxval=12)
endDay = input.int(31, title="End Day", minval=1, maxval=31)

// Convert start and end dates to timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// Entry condition: Breakout and higher close within the specified date range
enterLong = close > highestClose[1] and close > close[1]

// Exit condition: Close the long position after twenty-five bars
exitLong = ta.barssince(enterLong) >= 25

// Strategy logic
if (enterLong)
    strategy.entry("Long", strategy.long)

if (exitLong)
    strategy.close("Long")


Lebih banyak