Strategi Stop Loss Take Profit Supertrend adalah strategi perdagangan kuantitatif berdasarkan penunjuk Supertrend. Strategi ini membina syarat masuk dan keluar yang panjang dan pendek untuk melaksanakan stop loss dan mengambil keuntungan bergerak. Kelebihan strategi ini adalah bahawa ia dapat mencapai keuntungan yang lebih tinggi dalam trend yang berterusan, sambil mengunci sebahagian besar keuntungan melalui mengambil keuntungan bergerak.
Strategi ini adalah trend mengikuti strategi berdasarkan penunjuk Supertrend. Indikator Supertrend boleh menentukan arah trend harga. Ia menjana isyarat beli dan jual apabila garis Supertrend melintasi garis 0. Khususnya, isyarat beli dihasilkan apabila garis Supertrend melintasi di atas garis 0; isyarat jual dihasilkan apabila garis melintasi di bawah garis 0. Nisbah antara harga penutupan dan harga penutupan hari sebelumnya menentukan titik keuntungan bergerak. ATR menentukan titik kerugian berhenti. Oleh itu, strategi kerugian berhenti mengambil keuntungan bergerak dibina berdasarkan indikator Supertrend untuk menentukan arah trend.
Kelebihan terbesar strategi ini adalah gabungan pengenalan trend dan mengambil keuntungan bergerak. Indikator Supertrend boleh menangkap trend dengan sangat tepat melalui persilangan garis 0. Memindahkan mengambil keuntungan membolehkan mengunci dalam kebanyakan keuntungan sementara trend berterusan. Tetapan stop loss juga membantu mengawal risiko. Oleh itu, strategi dapat mencapai keuntungan yang lebih tinggi dalam pasaran yang jelas. Di samping itu, logik yang mudah dan jelas juga merupakan kelebihan strategi.
Risiko terbesar strategi ini adalah sensitiviti terhadap kegagalan pecah. Dalam tempoh yang terikat julat, penunjuk Supertrend boleh menghasilkan pecah palsu yang mengakibatkan kedudukan yang ditetapkan dengan salah. Ini boleh dengan mudah membawa kepada terperangkap dalam perangkap. Juga, mekanisme mengambil keuntungan bergerak boleh keluar dari kedudukan terlalu awal, kehilangan langkah berikutnya. Akhirnya, tetapan stop loss yang tidak betul juga boleh terlalu longgar atau terlalu agresif, meningkatkan risiko. Oleh itu, ini adalah bidang yang perlu dijaga oleh strategi.
Strategi boleh dioptimumkan dari aspek berikut: 1) Tentukan parameter Supertrend dengan munasabah untuk mengelakkan isyarat palsu; 2) Tambah mekanisme untuk menilai kebolehpercayaan pecah, seperti isyarat jumlah; 3) Optimumkan parameter bergerak mengambil keuntungan untuk mengurangkan kemungkinan whipsaw sambil memastikan keuntungan; 4) Gunakan hentian dinamik berdasarkan turun naik dan bukannya hentian statik; 5) Tambah penunjuk lain untuk strategi ensemble untuk meningkatkan ketahanan.
Secara keseluruhan, strategi Stop Loss Take Profit Moving Supertrend adalah strategi trend yang baik. Ia boleh menentukan arah trend dengan munasabah dan mempunyai mekanisme mengambil keuntungan bergerak. Tetapi ia juga sensitif terhadap gangguan yang tidak sah dan mempunyai beberapa risiko. Mengoptimumkan parameter, peraturan penilaian, mekanisme berhenti dan lain-lain dapat meningkatkan strategi dan menjadikannya strategi perdagangan yang stabil dan cekap.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ST Michael Moving TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15) // Stop loss and profit amount stop_loss = input(1500, title="Stop Loss Amount") profit = input (15000, title="Profit Amount") LongTrailProfit = input (0.91, title = "Long Trailing Profit Taking") ShortTrailProfit = input (1.01, title = "Short Trailing Profit Taking") atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) long_condition = ta.change(direction) <0 short_condition = ta.change(direction) >0 stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0) profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0) stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0) profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0) atr=ta.atr(10) intrade_long = strategy.position_size > 0 intrade_short = strategy.position_size < 0 exitConditionLong = (close < (close[1]*LongTrailProfit)) exitConditionShort = (close > (close[1]*ShortTrailProfit)) if (long_condition) strategy.entry("Long3", strategy.long) if (intrade_long and exitConditionLong) strategy.close("Long3") if (short_condition) strategy.entry("Short3", strategy.short) if (intrade_short and exitConditionShort) strategy.close ("Short3") if (strategy.position_size>0) strategy.exit("exit_long",from_entry="Long3",limit=profit_price_long,stop=stop_price_long) if (strategy.position_size<0) strategy.exit("exit_short",from_entry="Short3",limit=profit_price_short,stop=stop_price_short)