Ini adalah strategi perdagangan kuantitatif panjang / pendek berdasarkan teori pecah. Ia mengira harga penutupan tertinggi dalam 100 hari perdagangan yang lalu dan menentukan sama ada pecah berlaku berdasarkan sama ada harga penutupan terkini melebihi tahap itu. Jika pecah dikesan, isyarat panjang dicetuskan. Selepas memasuki panjang, kedudukan akan ditutup dengan stop loss selepas 25 bar.
Logik teras strategi ini memanfaatkan teori
Khususnya, strategi ini menggunakan Pine Script built-in fungsita.highest()
untuk mengira penutupan tertinggi dalam 100 bar terakhir. Ia kemudian membandingkan jika harga penutupan bar semasa lebih tinggi daripada tahap itu. Jika harga penutupan memecahkan dan melebihi harga penutupan tertinggi 100 hari, isyarat masuk panjang dicetuskan.
Setelah memasuki kedudukan yang panjang, strategi menetapkan keadaan stop loss untuk menutup kedudukan.ta.barssince()
untuk mengira bilangan bar yang telah berlalu sejak memasuki panjang, ia akan memaksa untuk menutup kedudukan selepas 25 bar.
Logik kemasukan boleh diringkaskan sebagai:
Kelebihan terbesar strategi ini adalah untuk menangkap titik pembalikan harga dengan kadar kejayaan yang agak tinggi dari perdagangan yang mengikuti trend.
Kelebihan konkrit adalah:
1. Mengikuti trend, kadar kejayaan yang lebih tinggi
Teori pecah percaya selepas harga melebihi tahap utama, ia boleh memulakan trend baru. Strategi ini direka berdasarkan logik ini, dengan itu dengan kebarangkalian yang agak tinggi untuk menangkap titik pembalikan harga dan mendapat manfaat dari trend-mengikuti.
2. Risiko terkawal, dengan stop loss
Strategi ini menetapkan keluar stop loss yang dipaksa selepas 25 bar untuk kerugian perdagangan tunggal maksimum, mengelakkan kerugian besar.
3. Sesuai untuk memegang jangka menengah hingga panjang
Tempoh tahan lalai adalah 25 bar, kira-kira 1 bulan. Frekuensi ini sesuai untuk strategi jangka menengah hingga panjang, tidak terlalu pendek untuk whipsaws, dan tidak terlalu lama untuk meningkatkan risiko.
4. Beberapa parameter, mudah untuk mengoptimumkan
Terdapat terutamanya 2 parameter yang boleh disesuaikan. Dengan beberapa parameter, mudah untuk menguji dan mencari parameter yang optimum untuk perdagangan sebenar.
5. Boleh dipindahkan di antara produk yang berbeza
Strategi ini tidak menjawab kepada penunjuk khas produk tertentu. Logiknya berlaku untuk saham, forex, komoditi, cryptocurrency dll. Jadi ia fleksibel untuk beralih antara produk.
Walaupun strategi ini mempunyai beberapa kelebihan, terdapat juga beberapa risiko apabila digunakan dalam perdagangan sebenar, terutamanya:
1. Risiko memegang kedudukan kehilangan
Strategi ini tidak mempunyai stop loss yang mengikuti kedudukan yang menguntungkan. Jika trend harga tidak berjalan seperti yang dijangkakan, atau pecah menjadi pecah palsu, maka keluar paksa pada titik stop loss yang ditetapkan sebelumnya boleh menyebabkan kerugian besar. Ini adalah risiko terbesar.
2. Penyesuaian parameter mungkin diperlukan
Parameter lalai mungkin tidak optimum. Mereka perlu dioptimumkan semasa perdagangan langsung untuk mencari yang paling sesuai untuk rejimen produk dan pasaran tertentu. Ini menambah kerja tambahan.
3. Hubungan prestasi dengan pasaran
Strategi ini terlalu bergantung kepada trend harga yang berterusan. Ia tidak berfungsi dengan baik semasa rejim terhad julat. Jika menghadapi pasaran whipsaw, keluar paksa akan sering berlaku yang membawa kepada keuntungan / kerugian yang tidak stabil.
Untuk menjadikan strategi ini lebih kukuh dan menguntungkan untuk penggunaan sebenar, beberapa penambahbaikan boleh dilakukan dari aspek berikut:
1. Tambahkan mekanisme stop loss
Tambah logik stop loss untuk mengikuti kedudukan yang menguntungkan, dengan mengemas kini titik stop loss secara dinamik berdasarkan keuntungan terapung.
2. Parameter penyesuaian berdasarkan pasaran
Membuat parameter seperti tempoh pecah dan tempoh memegang adaptif berdasarkan kekuatan pasaran, dikurangkan menggunakan metrik seperti ATR. Ini dapat menyesuaikan parameter secara dinamik.
**3. Gabungkan penapis trend **
Penapisan yang lebih baik terhadap trend yang tidak jelas apabila menggunakan strategi, melalui analisis trend terlebih dahulu, sama ada secara pertimbangan atau kuantitatif.
4. Ujian pada produk dan selang yang berbeza
Ujian parameter dan peraturan yang dioptimumkan pada produk yang berbeza (contohnya indeks, komoditi, forex, crypto) dan selang (contohnya harian, 60m bar) akan menjadikan strategi ini lebih kukuh dan boleh digunakan secara meluas.
Strategi pembalikan pecah dengan stop loss ini mudah dilaksanakan dengan peraturan yang jelas mengenai pengenalan trend dan pengurusan kedudukan. Kami menganalisis kekuatan dan risikonya, memberikan cadangan untuk meningkatkan keuntungan dan penerapannya. Dengan pengoptimuman lanjut, ia boleh menjadi strategi perdagangan kuantitatif yang kukuh.
/*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")