Strategi ini mengadopsi penyeberangan rata-rata bergerak 20 hari dan rata-rata bergerak 60 hari untuk menghasilkan sinyal perdagangan. Ini pergi panjang ketika harga melanggar di atas MA 20 hari dan menutup posisi ketika harga melanggar di bawah MA 20 hari. Demikian pula, itu membentuk sinyal perdagangan ketika harga melintasi MA 60 hari. Strategi ini termasuk dalam sistem trend berikut yang khas.
Aturan di atas mendefinisikan sinyal perdagangan dan logika untuk strategi ini. Ketika harga melintasi garis MA, itu menunjukkan tren baru muncul dan kita dapat mengikuti tren untuk pergi panjang. Ketika harga turun di bawah garis MA, itu menunjukkan tren berakhir sehingga kita menutup posisi.
Solusi Risiko:
Ini adalah strategi crossover rata-rata bergerak ganda yang khas. Ide utamanya adalah mengikuti tren dengan menetapkan posisi ketika harga melintasi garis MA. Strategi ini sederhana dan praktis untuk diterapkan. Sementara itu, ada ruang untuk optimasi lebih lanjut, dengan penyesuaian parameter, stop loss, ukuran posisi dll untuk mencapai hasil yang lebih baik.
/*backtest start: 2022-12-01 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h 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/ // © Astorhsu //@version=5 strategy("Astor SMA20/60 TW", overlay=true, margin_long=100, margin_short=100) backtest_year = input(2018, title='backtest_year') //回測開始年分 backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份 backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期 start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數 //Indicators sma20 = ta.sma(close,20) sma60 = ta.sma(close,60) plot(sma20, color=color.green, title="sma(20)") plot(sma60, color=color.red, title="sma(60)") //進場條件 longCondition = ta.crossover(close, ta.sma(close, 20)) if (longCondition) and time >= start_time strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多") shortCondition = ta.crossunder(close, ta.sma(close, 20)) if (shortCondition) and time >= start_time strategy.close("open long20",comment="跌破m20平倉", qty=1) longCondition1 = ta.crossover(close, ta.sma(close, 60)) if (longCondition1) and time >= start_time strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多") shortCondition1 = ta.crossunder(close, ta.sma(close, 60)) if (shortCondition1) and time >= start_time strategy.close("open long60",comment="跌破m60平倉", qty=1)