ダイナミック・モメント・戦略

作者: リン・ハーンチャオチャン, 日付: 2023-12-07 15:26:38
タグ:

img

概要

この戦略は,14日間の単純な移動平均線 (SMA) と28日間のSMAを計算し,プロットします. 2つの線が黄金十字を持つとき長くなって,死亡十字があるとき短くなって,市場の勢力の変化を把握します.

戦略の論理

この戦略の主な指標は14日SMAと28日SMAである.14日SMAは短期的なトレンドを反映し,価格変化に迅速に対応する.28日SMAは中期的なトレンドを反映し,より安定している.より短いSMAがより長いSMAを越えると,短期的なトレンドが長期的なトレンドよりも強いことを示唆する.ロングに行くことは上向きの勢力を捕捉することができる.より短いSMAがより長いSMAを下回ると,長期的なトレンドが弱まっていることを示唆する.ショートに行くことは下向きの勢力を捕捉することができる.

長/短ポジションを決定するためにSMAクロスを使用することは一般的な取引信号である.単一のSMA指標と比較して,ダブルSMAクロスは異なる時間軸からの情報を組み合わせ,偽信号を回避する.

利点分析

この戦略の利点は以下の通りです.

  1. 実行し操作するのも簡単です
  2. 価格変動に迅速に対応し 市場の変化を把握します
  3. 比較的信頼性の高いシグナルを得るため 短期と中期情報を組み合わせます
  4. SMAパラメータは,異なる市場に対応するために調整できます.

リスク分析

リスクもあります:

  1. SMA自体には遅延効果があり,信号が遅れる可能性があります.
  2. フラッシュ・クラッシュのような 極端な市場変動に対応できない
  3. SMAのクロス数が増えると 取引頻度とコストが上がります
  4. シンプルな入口/出口規則には最適化余地があります

リスク管理措置には,より広いストップを許可し,リスク管理を強調し,SMA期間を市場に基づいて調整し,他のフィルターを組み合わせることがある.

オプティマイゼーションの方向性

戦略は以下のような分野において改善できる:

  1. 偽のクロスを避けるためにフィルターを追加します 音量,ストカスティックなどで確認します
  2. ATR停止や脱出停止など
  3. 適性的なSMA,MLパラメータ選択など.
  4. 他の戦略と組み合わせる.抽出制御,トレンドフォローなど.

結論

モメントSMAクロス戦略は,ダブルSMAクロスシグナルを計算することによって,市場の動向を動的に捉える.実装し,迅速に対応しやすいが,遅れのリスクも伴う.将来の改善は,シグナル確認,ストップ損失,パラメータ選択など,またはより良い結果のための他の戦略と組み合わせることができます.


/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Tu Estrategia", overlay=true)

// Variables de estrategia
var bool longCondition = na
var bool shortCondition = na

// Indicador
emaValue = ta.ema(close, 30)
plotColor = close > open ? color.green : color.red
plot(emaValue, color=plotColor, linewidth=2)
value = 10 * open / close
plotColor2 = close == open ? color.orange : color.blue
plot(value, color=plotColor2, linewidth=2)

// Lógica de la estrategia
longCondition := ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition := ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// Entradas de estrategia
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

plotColor3 = strategy.position_size > 0 ? color.green :
     strategy.position_size < 0 ? color.red :
     color.yellow

plot(ta.sma(close, 10), color=plotColor3)


もっと