Strategi ini didasarkan pada price breakout dari 200 hari moving average pada akhir bulan untuk menangkap arah tren harga saham. posisi panjang akan ditetapkan ketika harga menembus 200 hari MA, jika tidak posisi akan dibersihkan.
Strategi ini relatif sederhana dan praktis secara keseluruhan, secara efektif menangkap tren harga saham jangka menengah dan panjang melalui akhir bulan dari MA 200 hari, dengan penarikan dan risiko yang relatif kecil. Dengan menggabungkan lebih banyak indikator dan optimasi dinamis, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*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/ // © muscleriot //200 dma //2000-2016 backtested //1 signal per month only at end of month //If > 200DMA enter long //If < 200DMA goto cash //results: 318% drawdown 17% vs 125% with 55% drawdown for buy and hold //@version=5 strategy("200DMA last DOM - ajh", overlay =true,default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Use 100% of equity always dma200 = ta.sma(close, 200) plot(dma200, color=color.red, linewidth = 2) //e =dayofmonth(time) // backtesting date range from_day = input.int(defval=1, title="From Day", minval=1, maxval=31) from_month = input.int(defval=1, title="From Month", minval=1, maxval=12) from_year = input.int(defval=2018, title="From Year", minval=1900) to_day = input.int(defval=1, title="To Day", minval=1, maxval=31) to_month = input.int(defval=1, title="To Month", minval=1, maxval=12) to_year = input.int(defval=9999, title="To Year", minval=1900) time_cond = time > timestamp(from_year, from_month, from_day, 00, 00) and time < timestamp(to_year, to_month, to_day, 23, 59) xLong = dayofmonth(time) == 30 and (close > dma200) ? true : na xSell = dayofmonth(time) == 30 and (close < dma200) ? true : na plotchar(xLong, "long","L", color=color.green) plotchar(xSell, "Sell","S", color=color.red) if (xLong == true) and time_cond strategy.entry("long", strategy.long) if (xSell == true) and time_cond strategy.close("long")