Chiến lược này dựa trên sự phá vỡ giá của đường trung bình động 200 ngày vào cuối tháng để nắm bắt hướng xu hướng của giá cổ phiếu. Một vị trí dài sẽ được thiết lập khi giá phá vỡ đường MA 200 ngày, nếu không vị trí sẽ được xóa.
Chiến lược tương đối đơn giản và thực tế nói chung, có hiệu quả nắm bắt xu hướng giá cổ phiếu trung và dài hạn thông qua việc phá vỡ cuối tháng của MA 200 ngày, với mức rút tương đối nhỏ và rủi ro. Bằng cách kết hợp nhiều chỉ số và tối ưu hóa năng động hơn, sự ổn định và lợi nhuận của chiến lược có thể được tăng thêm.
/*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")