二重移動平均のクロスオーバー戦略

作者: リン・ハーンチャオチャン開催日: 2024-03-11 12:06:22
タグ:

img

戦略の概要

ダブル・ムービング・アベレア・クロスオーバー戦略は,クラシックなトレンドフォロー戦略である.この戦略は,異なる期間の2つのムービング・アベレアを使用して市場のトレンドを把握する.高速移動平均がスロー・ムービング・アベレアの上を横切ると,それは長い信号を生成する.高速移動平均がスロー・ムービング・アベレアの下を横切ると,それは短い信号を生成する.この戦略の核心理念は,高速移動平均が価格の変化により敏感であり,市場のトレンドの変化により迅速に反応することができ,スロー・ムービング・アベレアは市場の長期的トレンドを反映するということだ.二つの移動平均のクロスオーバーを分析することによって,市場のトレンドのターニングポイントを決定し,それに応じて取引を行うことができる.

戦略原則

この戦略コードでは,2つの移動平均が使用されています:高速移動平均 (デフォルト14期) とスロー移動平均 (デフォルト28期).移動平均のタイプは,シンプル移動平均 (SMA),指数的な移動平均 (EMA),重量移動平均 (WMA),相対移動平均 (RMA) から選択できます.

戦略の主な論理は次のとおりです

  1. 移動平均値と移動平均値の値を計算する
  2. 移動平均値が移動平均値を超えた場合,長引信号を発生し,長引のポジションを開きます.
  3. 快速移動平均がスロー移動平均を下回り,ショートリングが許される場合 (allowShorting=true),ショートシグナルを生成しショートポジションを開きます.
  4. 速移動平均がスロー移動平均を下回り,ショートオフは許されない場合 (allowShorting=false),ロングポジションを閉じる.

この論理によって,戦略は,上向きのトレンドでロングポジションと下向きのトレンドでショートポジションまたはポジションがない状態で市場の主要なトレンドを追跡することができます.移動平均期間と種類は,異なる市場と取引機器に応じて調整および最適化できます.

戦略 の 利点

  1. シンプルで明快な論理,理解し実行しやすい
  2. 市場傾向に適しており,中長期市場傾向を効果的に把握できる
  3. 調整可能なパラメータ,異なる市場と取引手段に適しています
  4. 市場特性と個人的な好みに基づいてショート取引を許可するか否かを柔軟に選択できる
  5. 移動平均値は,広く使用され,検証されている従来の技術分析指標です.

戦略リスク

  1. 範囲限定の市場では,移動平均のクロスオーバーが頻繁に行われる場合,取引が頻繁になり,取引コストが上昇する可能性があります.
  2. 快速移動平均値が短すぎたり,遅い移動平均値が長すぎたりすると,信号の遅延を引き起こし,最高の取引機会を逃す可能性があります.
  3. 市場傾向が逆転すると 戦略は連続して損失を起こす可能性があります
  4. 固定移動平均期間のパラメータは,市場の動的変化に適応しない可能性があります.

これらのリスクに対処するために,次の措置が講じられます.

  1. 市場の特徴に基づいて移動平均期間のパラメータを最適化し,高速および遅い移動平均期間の適切な長さを選択する
  2. 範囲限定市場では,ATRフィルタリングや移動平均交差角フィルタリングなどのフィルタリング条件を追加することを検討する.
  3. 単一の取引リスクを制御するために,合理的なストップ・ロースとテイク・プロフィートのレベルを設定する
  4. 定期的なバックテストと評価を行い,市場の変化に応じて戦略パラメータを調整する

戦略の最適化

  1. マックドやRSIなどのより多くの技術指標を導入し,多要素戦略を構築し,シグナル精度を向上させる
  2. ポジション管理を最適化します.例えば,ATRや変動などの要因を考慮し,ポジションサイズを動的に調整します.
  3. 範囲限定市場では,頻繁に取引を避けるため,ADXのような傾向決定指標を導入することを検討してください.
  4. 機械学習または最適化アルゴリズムを使用して,自動的に最適なパラメータ組み合わせを見つけます

これらの最適化は,異なる市場条件により良く適応するために戦略の適応性と安定性を向上させることができる.しかし,過剰な最適化は,戦略の過剰なフィットメントとライブ取引の不良なパフォーマンスにつながる可能性があることも注意すべきである.サンプル外データに対するさらなる検証が必要です.

概要

ダブル・ムービング・平均クロスオーバー戦略は,異なる期間の2つの移動平均値のクロスオーバーを通じてトレード信号を生成する古典的なトレンドフォロー戦略である.シンプルな論理があり,実装が容易で,トレンド市場には適している.しかし,レンジ・バインド市場では,頻繁な取引と連続した損失を経験する可能性がある.したがって,この戦略を使用する際には,市場の特徴に基づいて移動平均値パラメータを最適化し,合理的なストップ・ロストとテイク・プロフィートレベルを設定することが必要である.また,戦略の適応性と安定性は,より多くの技術指標を導入し,ポジション管理を最適化し,トレンド決定などにより改善することができる.しかし,過度に最適化することでオーバーフィットになり,注意を払うべきである.全体として,ダブル・ムービング・平均値クロスオーバー戦略は,学ぶ価値のある古典的な戦略であり,研究に価値がある.継続的な最適化と改善を通じて,効果的なトレードツールになることができる.


/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011

//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"]) 

float fastMA = switch fastMAType
    "Simple" => ta.sma(close, fastMALength)
    "Exponential" => ta.ema(close, fastMALength)
    "Weighted" => ta.wma(close, fastMALength)
    "Relative" => ta.rma(close, fastMALength)

plot(fastMA, color = color.aqua, linewidth = 2)

float slowMA = switch slowMAType
    "Simple" => ta.sma(close, slowMALength)
    "Exponential" => ta.ema(close, slowMALength)
    "Weighted" => ta.wma(close, slowMALength)
    "Relative" => ta.rma(close, slowMALength)

plot(slowMA, color = color.blue, linewidth = 2)


longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
    strategy.entry("Short", strategy.short)

closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
    strategy.close("Long", "Close")


もっと