この戦略は,CMOとWMAをベースとしたモメンタム・トレーディング・ストラテジー (
この戦略の核心指標はCMOである.CMOは,RSIのような他のモメンタム指標と密接に関連しているが,独自の特性もある.CMOは直接価格変化のモメンタムを測定する.その計算は,原始の未滑らなデータに基づいているため,極端な短期価格変化を反映している.CMO値は+100から-100まで,証券の絶対的なモメンタム強さを比較するのが便利である.
戦略は,まず1日間の価格変動 abs ((close - close[1]) を元のモメンタム xMomとして計算する.その後,xSMA_momとして表記される長日間のxMomのSMAを計算する.その後,長日間のxMomLength,すなわち近 - 近[長さ]における価格変化を計算する.最後に,CMOはxMomLengthをxSMA_momで割って100で掛けると計算される.このCMOは,WMA (パラメータ LengthWMA) によって滑らかにしてxWMACMOを導きます.CMOがWMAを超えたとき,取引信号は長 (短) になる.
この戦略の最大の利点は,価格動向内のモメンタム特性を把握することである.CMOの境界設計はモメンタム変化をより直接的に反映している.SMAと比較して,WMAは短期的なノイズをよりよく滑らかにする.したがって,この戦略は,中長期のトレンド内のエントリーポイントを効果的に特定することができる.さらに,CMOとWMAの組み合わせは,単一の指標よりもより良い安定性を提供します.
この戦略の最大のリスクは,スリッパージコストの増加につながる高い取引頻度である.CMOとWMAの両方には短期的なパラメータがあり,過剰な無意味なウィップソーを引き起こす可能性があります.これは,取引車両が大きな変動がある場合に特に深刻です.また,固定パラメータは変化する市場環境に適応することができません.
CMOとWMAパラメータの適応最適化を導入することを検討し,動的に調整できるようにすることができます.不要な取引を減らすためにフィルター条件を追加することはもう1つのオプションです.ポートフォリオの多様化による波動性を低下させることも役立ちます.
戦略は次の側面から強化される:
CMO パラメータメカニズムを追加し,異なる変動レジムの最適なパラメータを見つけます.
調整可能なWMAパラメータメカニズムを追加し,その順に滑らかな効果が変化します.
波動指数のようなフィルター条件を追加して 意味のないウィップソウを制御します
安定性を高めるため,他の指標と組み合わせることを検討する.
ストップ損失メカニズムを最適化する. ダイナミックストップ損失ラインを設定して,単回戦損失を積極的に制御する.
この戦略は,CMOとWMAに基づいてシンプルで効果的なトレンドフォローを実現する.その利点は価格の勢力の特徴を明確に把握することにある.しかし,ポジションを開設した後,利益保持能力にもいくつかの弱点がある.パラメータチューニングとコンボの両方が安定性を大幅に改善することができます.全体的に,この戦略には改善の余地と価値が豊富です.
/*backtest start: 2022-11-21 00:00:00 end: 2023-11-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 13/02/2017 // This indicator plots Chandre Momentum Oscillator and its WMA on the // same chart. This indicator plots the absolute value of CMO. // The CMO is closely related to, yet unique from, other momentum oriented // indicators such as Relative Strength Index, Stochastic, Rate-of-Change, // etc. It is most closely related to Welles Wilder?s RSI, yet it differs // in several ways: // - It uses data for both up days and down days in the numerator, thereby // directly measuring momentum; // - The calculations are applied on unsmoothed data. Therefore, short-term // extreme movements in price are not hidden. Once calculated, smoothing // can be applied to the CMO, if desired; // - The scale is bounded between +100 and -100, thereby allowing you to clearly // see changes in net momentum using the 0 level. The bounded scale also allows // you to conveniently compare values across different securities. //////////////////////////////////////////////////////////// strategy(title="CMO & WMA", shorttitle="CMO & WMA") Length = input(9, minval=1) LengthWMA = input(9, minval=1) reverse = input(false, title="Trade reverse") hline(0, color=gray, linestyle=line) xMom = abs(close - close[1]) xSMA_mom = sma(xMom, Length) xMomLength = close - close[Length] nRes = 100 * (xMomLength / (xSMA_mom * Length)) xWMACMO = wma(nRes, LengthWMA) pos = iff(nRes > xWMACMO, 1, iff(nRes <= xWMACMO, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue) plot(nRes, color=blue, title="CMO") plot(xWMACMO, color=red, title="WMA")