この戦略は,株価のトレンド方向を把握するために,月の終わりに200日間の移動平均値の価格ブレイクに基づいています.価格が200日間のMAを突破したとき,ロングポジションが確立されます.そうでなければ,ポジションはクリアされます.
この戦略は比較的シンプルで,全体的に実用的で,200日間MAの月末ブレイクを通じて,比較的少ない引き下げとリスクで,株の中長期価格動向を効果的に把握しています.より多くの指標とダイナミックな最適化を組み合わせることで,戦略の安定性と収益性がさらに向上することができます.
/*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")