この戦略は,異なるサイクルの移動平均値の黄金十字と死十字に基づいて取引信号を生成する.これは典型的なトレンドフォローする戦略に属している.重み付け移動平均値 (WMA) と適応移動平均値 (ALMA) が主に使用されている.
この戦略は,まず,価格の中期および短期移動平均,ma1およびma2を計算し,ma1は短いサイクル,ma2は長いサイクルを有する.その後,ma1とma2の違いをma3として計算し,さらにma3の滑らかな移動平均ma4を計算する.ma3がma4を上向きに横切ると,購入信号が生成される.下向きに横切ると,販売信号が生成される.
ma3は,価格の中期トレンドを反映し,ma3からのノイズをフィルタリングしてより信頼性の高い取引信号を形成する. ma1とma2のサイクルは,パラメータ maLen によって設定されます.ユーザーは,異なる市場のための最適な設定を達成するためにパラメータを最適化することができます.
この戦略の利点は以下の通りです.
この戦略にはいくつかのリスクもあります:
戦略は以下の側面から最適化できます.
この戦略は,移動平均値の黄金十字と死十字に基づいて取引信号を生成する.ALMAとマルチサイクル価格平均を用いて,信号はより正確で信頼性が高くなります.調整可能なパラメータにより広く適用できます.また,論理はシンプルで明確で,トレンド市場ではうまく機能します.したがって,高い実用的な価値があります.
/*backtest start: 2024-01-08 00:00:00 end: 2024-01-15 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Oracle Move Strategy", overlay=true) maLen = input(30, "ma period") mode = input(defval="wma", options=["alma", "ema", "wma"]) price = close ma(src, len) => mode=="alma" ? alma(src, len, 0.85, 6) : mode=="ema"? ema(src, len) : wma(src, len) ma1 = ma(price, floor(maLen / 2)) ma2 = ma(price, maLen) ma3 = 2.0 * ma1 - ma2 ma4 = ma(ma3, floor(sqrt(maLen))) //plot(ma1, color = red) //plot(ma2, color = green) plot(ma3, color = blue) plot(ma4, color = orange) mafast = ma3 maslow = ma4 if (crossover(mafast, maslow)) strategy.entry("MA2CrossLE", strategy.long, comment="MA2CrossLE") if (crossunder(mafast, maslow)) strategy.entry("MA2CrossSE", strategy.short, comment="MA2CrossSE") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)