この戦略は,主に月間線と四半期線の移動平均線をベースに運用する.具体的には,20日線が月間線,60日線が四半期線として使用される.戦略信号は,両移動平均線の黄金十字と死十字から来る.月間線が四半期線を超えると,ロング;月間線が四半期線を下回ると,ポジションを閉じる.この戦略は,統合と分散の機会を把握するために中期および長期間の運用に適している.
この戦略は,月間線指標として20日間の単純な移動平均値と四半期線指標として60日間の単純な移動平均値を使用しています. 具体的な取引信号生成論理は以下のとおりです.
月間線と四半期線の移動平均クロスオーバーを使用して,中期および長期的トレンドを決定します.ロングに行くためのゴールデンクロスは中期および長期の牛市場開始を示し,ショートに行くためのデスクロスは中期および長期の熊市場開始を示します.同時に,リスクを制御するためにストップ・プロフィートおよびストップ・ロスト戦略を使用します.
解決策:
この戦略は,移動平均値の黄金十字と死十字を通して中期および長期的トレンド方向を判断することによって,月間および四半期移動平均値の利点を体系的に利用する.同時に,リスクを制御するために合理的なストップ損失と利益メカニズムが設定されている.この戦略を最適化するにはまだ多くの余地があり,さらなるテストと最適化に価値がある.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30) sma20 = sma(close, 20) sma60 = sma(close, 60) plot(sma20, title="月線", color=color.purple,linewidth=2) plot(sma60, title="季線", color=color.yellow,linewidth=2) backtest_year = input(title="backtest_year",type=input.integer,defval=2020) backtest_month = input(title="backtest_month",type=input.integer,defval=10) backtest_date = input(title="backtest_date",type=input.integer,defval=1) backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0) to_long = sma20 > sma60 and close > highest(10)*0.9 // 黃金交叉 to_close = sma20 < sma60 // 死亡交叉 to_exit = close < highest(10)*0.9 //股價嚴重回檔 to_stop = close < 0.9*strategy.position_avg_price // to_long = crossover(sma20, sma60) // 黃金交叉 // to_close = crossunder(sma20, sma60) // 死亡交叉 //plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar) //plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar) //strategy.close("open long",when = tslide, comment="多單滑價7%出場") if true strategy.entry("golden", strategy.long, when=to_long,comment="多單入場") strategy.close("golden", when=to_exit,comment="多單滑價7%出場") strategy.close("golden", when=to_close,comment="月線季線死亡交叉") strategy.close("golden", when=to_stop,comment="虧損10%強迫停損")