
Gambaran keseluruhan
Strategi ini berasaskan pada lereng sederhana bergerak rata-rata ((SMA) untuk mengenal pasti trend naik dan membuka lebih banyak kedudukan apabila syarat-syarat tertentu dipenuhi. Di samping itu, ia memperkenalkan mekanisme tracking stop loss yang boleh dipilih untuk melindungi keuntungan dengan menyesuaikan harga stop loss secara dinamik. Di samping itu, strategi ini juga menetapkan syarat untuk masuk semula selepas berhenti untuk mencegah penubuhan semula kedudukan apabila harga terlalu tinggi.
Prinsip Strategi
- Hitung SMA untuk tempoh yang ditetapkan dan menilai sama ada kecenderungan dalam tempoh tetingkap yang diberikan adalah lebih besar daripada paras kecenderungan minimum untuk menentukan trend ke atas.
- Strategi membuka posisi lebih banyak apabila SMA bergelombang positif dan harga semasa lebih tinggi daripada SMA.
- Jika anda mengaktifkan Tracking Stop Loss, harga Tracking Stop Loss akan dikira berdasarkan harga pasaran semasa dan peratusan Tracking Stop Loss yang ditetapkan. Harga Tracking Stop Loss akan terus disesuaikan dengan kenaikan harga, dan dengan itu melindungi keuntungan.
- Strategi melonggarkan kedudukan apabila harga melepasi SMA atau mencetuskan tracking stop loss.
- Selepas mencetuskan kedudukan stop loss, strategi tidak akan memasuki semula jika harga melebihi peratusan yang ditetapkan daripada SMA, untuk mengelakkan pembelian apabila harga terlalu tinggi.
Kelebihan Strategik
- Pengesanan Trend: Mengesan trend menaik dengan menggunakan kemerosotan SMA untuk menangkap peluang trend secara berkesan.
- Pengurusan risiko: fungsi berhenti kerugian yang boleh dipilih dapat melindungi keuntungan secara dinamik dan mengehadkan kerugian yang berpotensi.
- Kemasukan semula disiplin: Syarat kemasukan semula selepas hentian mencegah pembelian apabila harga terlalu tinggi, memastikan disiplin perdagangan.
- Fleksibiliti parameter: menyediakan pelbagai parameter yang boleh disesuaikan, seperti panjang SMA, kemerosotan minimum, peratusan stop loss, dan lain-lain, yang boleh disesuaikan dengan pasaran dan gaya perdagangan yang berbeza.
Risiko Strategik
- Sensitiviti parameter: Prestasi strategi lebih sensitif terhadap pilihan parameter, dan tetapan parameter yang tidak betul boleh menyebabkan hasil suboptimal.
- Pasaran goyah: Dalam keadaan pasaran goyah, perdagangan yang kerap boleh menyebabkan kos transaksi yang tinggi dan potensi kerugian.
- Kejadian yang tidak dijangka: Kejadian yang tidak dijangka dan turun naik yang luar biasa dalam pasaran boleh menyebabkan strategi gagal atau menyebabkan kerugian yang tidak dijangka.
Arah pengoptimuman strategi
- Pengoptimuman parameter dinamik: Memperkenalkan mekanisme penyesuaian diri, menyesuaikan parameter seperti panjang SMA, slope minimum dan lain-lain mengikut keadaan pasaran yang dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
- Pengendalian risiko yang dipertingkatkan: Pengendalian risiko yang lebih lanjut digabungkan dengan teknik pengurusan risiko lain, seperti penyesuaian kedudukan berdasarkan kadar turun naik, hentian dinamik dan sebagainya.
- Perdagangan dua hala yang banyak: strategi pelebaran untuk menyokong perdagangan kosong, yang juga boleh menguntungkan dalam trend menurun.
- Pengesahan pelbagai bingkai masa: menggabungkan isyarat pelbagai bingkai masa untuk meningkatkan kebolehpercayaan dan kestabilan penilaian trend.
ringkaskan
Strategi ini menggunakan mekanisme seperti pemantauan trend SMA, pemantauan hentian dan kemasukan semula disiplin untuk mengawal risiko sambil menangkap trend menaik. Keupayaan dan ketahanan strategi dapat ditingkatkan lagi dengan cara seperti menetapkan parameter yang dioptimumkan, meningkatkan pengurusan risiko, menyokong perdagangan dua hala dan pengesahan bingkai masa berbilang.
Kod sumber strategi
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA Incline Strategy with Optional Trailing Stop-Loss", overlay=true, calc_on_every_tick=true)
// Input parameters
windowSize = input.int(20, title="Window Size")
maLength = input.int(150, title="Moving Average Length")
minSlope = input.float(0.1, title="Minimum Slope")
useTrailingStop = input.bool(true, title="Use Trailing Stop-Loss")
trailingStopPercentage = input.float(2.8, title="Trailing Stop Percentage (%)") / 100
// Calculate the moving average
ma = ta.sma(close, maLength)
// Calculate the slope of the moving average over the window size
previousMa = ta.sma(close[windowSize], maLength)
slopeMa = (ma - previousMa) / windowSize
// Check conditions
isAboveMinSlope = slopeMa > minSlope
isAboveMa = close > ma
// Buy condition
buyCondition = isAboveMinSlope and isAboveMa
// Execute strategy
if (buyCondition and strategy.opentrades == 0)
strategy.entry("Long", strategy.long)
// Trailing stop-loss (optional)
if (strategy.opentrades == 1 and useTrailingStop and isAboveMa)
// Calculate the trailing stop price
trailPrice = close * (1 - trailingStopPercentage)
// Use the built-in strategy.exit function with the trailing stop
strategy.exit("Trail Stop", "Long", stop=trailPrice)
// Exit condition
sellCondition = ta.crossover(ma, close)
if (sellCondition and strategy.opentrades == 1)
strategy.close("Long")