Strategi Big Surge Big Fall mendeteksi lilin bullish dan bearish besar untuk memasuki posisi. Ini pergi pendek ketika mendeteksi lilin bullish besar dan pergi panjang ketika mendeteksi lilin bearish besar. Stop loss ditempatkan di bawah rendah lilin sinyal (kebalikannya untuk panjang), dan mengambil keuntungan ditetapkan pada 1 kali stop loss. Pengguna dapat menentukan ukuran minimum lilin bullish / bearish, dan kelipatan rentang bar rata-rata selama periode tertentu.
Logika inti dari strategi ini adalah:
Menghitung kisaran candlestick saat ini (tinggi - rendah) dan ukuran tubuh candlestick (positif jika ditutup > terbuka, negatif jika ditutup < terbuka)
Menghitung kisaran rata-rata selama N candlesticks terakhir
Periksa apakah candlestick saat ini memuaskan: kisaran >= kisaran rata-rata x kelipatan DAN ukuran tubuh >= kisaran x koefisien ukuran tubuh min
Jika kondisi di atas terpenuhi, sinyal dipicu: pergi pendek pada candlestick bullish, pergi panjang pada candlestick bearish
Opsi untuk mengaktifkan stop loss dan mengambil keuntungan: Stop loss pada rentang rendah ditambah koefisien stop loss x; mengambil keuntungan pada 1 x stop loss
Filter ukuran tubuh tidak termasuk doji. Rentang rata-rata dinamis beradaptasi dengan perubahan pasar. Stop loss dan take profit memungkinkan kontrol penarikan yang wajar.
Keuntungan terbesar dari strategi ini adalah menangkap sinyal pembalikan tren berkualitas tinggi, berdasarkan dua penilaian:
Lilin bullish / bearish besar kemungkinan menunjukkan tren telah habis setelah bergerak diperpanjang
Jangkauan yang luar biasa besar melebihi rata-rata dinamis menegaskan signifikansi
Selain itu, pengaturan stop loss dan take profit masuk akal, memungkinkan kontrol kerugian yang efektif tanpa mengejar.
Secara keseluruhan, strategi ini berhasil mengidentifikasi titik balik struktural berkualitas tinggi, memungkinkan pelaksanaan yang efisien.
Risiko utama berasal dari dua aspek:
Bar besar bisa jadi stop loss hunting, menciptakan sinyal palsu
Stop loss mungkin terlalu luas untuk mengontrol kerugian secara efektif
Untuk risiko pertama, menambahkan filter ukuran minimum dapat mengurangi sinyal palsu tetapi juga kehilangan peluang.
Untuk risiko kedua, penyesuaian koefisien stop loss dapat mengoptimalkan stop di dekat support tanpa terlalu ketat.
Ada beberapa cara untuk meningkatkan strategi ini:
Tambahkan filter arah tren untuk menghindari perdagangan kontra-tren
Mengoptimalkan parameter melalui backtesting untuk menemukan kombinasi terbaik
Tambahkan filter volume untuk memastikan volume tinggi pada lilin besar
Pertimbangkan filter tambahan seperti moving average, Bollinger Bands untuk mengurangi sinyal palsu
Parameter pengujian di berbagai produk untuk optimalisasi
Tambahkan stop loss trailing untuk penyesuaian dinamis berdasarkan aksi harga
Pertimbangkan peluang masuk kembali setelah stop loss awal
Dengan peningkatan di atas, strategi ini dapat menjadi jauh lebih efektif dan meningkatkan probabilitas keuntungan.
Strategi Big Surge Big Fall mendapat keuntungan dari pembalikan lilin besar dengan stop loss dan take profit management. Ini berhasil mengidentifikasi titik balik struktural berkualitas tinggi, memberikan informasi berharga bagi pedagang tren. Dengan optimasi parameter dan logika, strategi ini dapat menjadi alat keputusan praktis. Logika sederhana dan ekonomi intuitifnya juga membuatnya mudah dipahami dan diterapkan. Secara keseluruhan, strategi ini memberikan kerangka kerja yang solid yang layak untuk diteliti dan diimplementasikan.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tweakerID // This strategy detects and uses big bars to enter a position. When the Big Bar // is bearish (red candle) the position will be long and viceversa // for short positions. The stop loss (optional) is placed on the low of the // candle used to trigger the position and user inputs allow you to modify the // size of the SL. Take profit is placed on a reward ratio of 1. User can also modify // the size of the bar body used to determine if we have a real Big Bar and // filter out Doji bars. Big Bars are determined relative to the previous X period size, // which can also be modified, as well as the required size of the Big Bar relative to this period average. //@version=4 strategy("Big Bar Strategy", overlay=false) direction = input(0, title = "Direction (Long=1, Both=0, Short=-1 ", type=input.integer, minval=-1, maxval=1) strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long)) //Inputs barsizemult=input(1, step=.1, title="SL Mult") TPbarsizemult=input(1, step=.1, title="TP Mult") barsizeThreshold=input(.5, step=.1, minval=.5, maxval=.9, title="Bar Body Size") period=input(10) mult=input(2, step=.2, title="Big Size Avg Mult to determine Big Bar") i_reverse=input(false, title="Reverse Trades") SLon=input(false, title="Use SL / TP") //Calculations barsize=high-low barbodysize=close>open?(open-close)*-1:(open-close) barsizeavg=sum(barsize, period)/period bigbar=barsize >= barsizeavg*mult and barbodysize>barsize*barsizeThreshold //Entry Logic longCondition = close < open and bigbar //and strategy.position_size==0 shortCondition = close > open and bigbar //and strategy.position_size==0 //SL & TP Calculations longTP=strategy.position_avg_price + (valuewhen(longCondition,barsize,0)*TPbarsizemult) longSL=strategy.position_avg_price - (valuewhen(longCondition,barsize,0)*barsizemult) shortTP=strategy.position_avg_price - (valuewhen(shortCondition,barsize,0)*TPbarsizemult) shortSL=strategy.position_avg_price + (valuewhen(shortCondition,barsize,0)*barsizemult) TP=strategy.position_size>0?longTP:shortTP SL=strategy.position_size>0?longSL:shortSL //Entries if (longCondition) strategy.entry("long", long=not i_reverse?true:false) alert("Big Bar") if (shortCondition) strategy.entry("short", long=not i_reverse?false:true) alert("Big Bar") if SLon strategy.exit("SL & TP", "long", stop=SL, limit=TP) strategy.exit("SL & TP", "short", stop=SL, limit=TP) // Plots barcolor(bigbar ? color.white : na) plot(barsizeavg, transp=100, title="Barsize Avg") plot(barsize, transp=100, title="Bar Size") plot(barbodysize, transp=100, title="Bar Body Size") plot(SLon?TP:na, color=color.green, style=plot.style_cross, title="TP") plot(SLon?SL:na, color=color.red, style=plot.style_cross, title="SL") plotshape(longCondition ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Setup") plotshape(shortCondition ? 1 : na, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Setup")