Strategi breakout 20 level adalah strategi trend following. Ide utamanya adalah bahwa ketika harga menembus tingkat kunci tertentu, itu menunjukkan pembalikan tren. Pada titik ini, posisi panjang atau pendek dapat ditetapkan sesuai dengan arah breakout.
Strategi ini memilih rata-rata bergerak 20 hari sebagai tingkat kunci. Ketika harga penutupan menembus rata-rata bergerak 20 hari dari atas, pergi panjang; ketika harga penutupan menembus rata-rata bergerak 20 hari dari bawah, pergi pendek.
Strategi break-out 20 level menggunakan moving average 20 hari untuk menilai trend breakout. Ketika harga menembus moving average 20 hari dari atas ke bawah, itu menunjukkan tren penurunan di pasar, maka kita harus short. Ketika harga menembus moving average 20 hari dari bawah ke atas, itu menunjukkan tren kenaikan di pasar, maka kita harus long.
Strategi ini juga menggabungkan indikator MACD untuk menentukan kondisi pasar. Sinyal pendek hanya dikeluarkan ketika MACD adalah batang merah; sinyal panjang hanya dikeluarkan ketika MACD adalah batang hijau. Ini menghindari menghasilkan sinyal yang salah selama konsolidasi pasar.
Secara khusus, logika strategi adalah:
Dengan pengaturan ini, strategi ini dapat menangkap peluang tepat waktu ketika transisi tren terjadi, mencapai tujuan melacak tren pasar.
Strategi 20 level breakout memiliki keuntungan berikut:
Peraturan perhitungan dan penilaian rata-rata bergerak 20 hari sangat mudah.
Penggunaan harga breakout sebagai sinyal perdagangan dapat secara efektif menghindari operasi reverse yang tidak perlu.
Kemampuan pelacakan tren yang kuat. Rata-rata bergerak 20 hari dapat mencerminkan perubahan tren jangka menengah dengan sangat baik. Menggabungkan filter MACD menghindari posisi yang salah selama konsolidasi tren.
Strategi 20 level breakout juga memiliki risiko berikut:
Ketika harga berfluktuasi dengan keras, metode rata-rata bergerak 20 hari akan tertinggal, mungkin kehilangan kesempatan masuk terbaik.
Jika tidak ada filter indikator yang baik, akan ada terlalu banyak perdagangan yang tidak valid.
Strategi ini tidak mempertimbangkan amplitudo fluktuasi harga.
Tingkat stop loss dan take profit yang tetap juga akan mempengaruhi operasi yang lancar dari strategi.
Strategi 20 level breakout dapat dioptimalkan dalam aspek berikut:
Cobalah rata-rata bergerak dengan periode yang berbeda, seperti 10 hari, 30 hari, dll, untuk melihat periode mana yang dapat lebih memahami tren.
Tambahkan indikator volatilitas untuk menyesuaikan posisi secara dinamis berdasarkan besarnya fluktuasi harga.
Optimalkan posisi stop loss dan take profit. Parameter optimal dapat dihitung dari data backtest historis.
Cobalah menggabungkan indikator lain seperti KDJ, Bollinger Bands, dll untuk penyaringan sinyal. Ini dapat mengurangi perdagangan yang tidak valid.
Mengembangkan versi yang lebih baik dengan menemukan tren yang lebih besar pada jangka waktu yang lebih tinggi terlebih dahulu, dan kemudian masuk pada jangka waktu yang lebih rendah.
Strategi 20 level breakout mengidentifikasi titik balik tren melalui price breakout. Strategi ini memiliki kelebihan operasi sederhana dan kemampuan pelacakan tren yang kuat. Namun masih ada beberapa risiko yang perlu dioptimalkan lebih lanjut untuk beradaptasi dengan kompleksitas pasar. Secara keseluruhan, strategi 20 level breakout, sebagai strategi tren yang relatif dasar, masih memiliki ruang yang cukup untuk perbaikan. Investor dapat terus mengoptimalkannya sehingga dapat mencapai pengembalian yang stabil di berbagai lingkungan pasar.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //@version=4 strategy("20 Level Breakout", overlay=true) baseLevel = math.floor(close * 100) /100 eigthylevel = baseLevel - 0.002 twentyLevel = baseLevel + 0.002 takeprofitL = baseLevel - 0.01 stoplossL = baseLevel + 0.02 takeprofitS = baseLevel + 0.015 stoplossS = baseLevel - 0.02 isPriceAboveLevel(price, level) => price > level breakout = close > twentyLevel and close > baseLevel breakoutl = close < eigthylevel and close < baseLevel // Entry condition: Only enter if there are no open trades and the close is between baseLevel and baseLevel + 0.01 isLong = breakout and close > baseLevel and close <= (baseLevel + 0.01) and ta.rsi(close, 14) > 40 and ta.ema(close,50)<close isShort = breakoutl and close < baseLevel and close >= (baseLevel - 0.01) // Debugging plot(isLong ? 1 : 0, color=color.blue, style=plot.style_histogram) plotshape(isLong, style=shape.triangledown, color=color.green, size=size.small) plotshape(isShort, style = shape.triangleup, color = color.red, size = size.small) // Plotting the stop loss line plot(stoplossL, color=color.red, linewidth=2, title="Take Profit") plot(stoplossS, color=color.green, linewidth = 2, title = " Take Profit") strategy.entry("Short", strategy.short, when=isLong, stop =twentyLevel) strategy.exit("Stop Loss/Profit", "Short", stop = stoplossL , limit = takeprofitL) strategy.entry("Long",strategy.long, when=isShort , stop = eigthylevel ) strategy.exit("Stop loss/Profit", "Long", stop = stoplossS , limit = takeprofitS)