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

作者: リン・ハーンチャオチャン開催日:2024年2月4日 16:00:31
タグ:

img

概要

移動平均クロスオーバー戦略は,一般的な株式取引戦略である. 移動平均は,高速および遅い移動平均を計算し,そのクロスオーバーポイントを検出することによって,購入および販売信号を生成する. 具体的には,移動平均が下からゆっくり移動平均を超えると,購入信号を生成する. 移動平均が上からゆっくり移動平均を下回ると,販売信号を生成する.

戦略の論理

この戦略の基本論理は,高速移動平均は株式の短期的傾向を表し,スロー移動平均は長期的傾向を表す.短期的傾向が上昇すると (黄金十字),それは株式が購入領域に入ることができることを示唆する.短期的傾向が低下すると (死亡十字),それは株式が販売領域に入ることができることを示唆する.

この戦略では,高速移動平均 maFast とスロー移動平均 maSlow が定義される. maFast は 9 日間の短期トレンドを表現する 9 期間の期間を有する. maSlow は 18 日間の長期トレンドを表現する 18 期間の期間を有する. この戦略は,短期および長期トレンドの変化を決定するためにそれらのクロスオーバーを検出する. maFast が maSlow の上を突破すると購入信号,maFast が maSlow の下を突破すると販売信号を生成する.

利点分析

この戦略の利点は次のとおりです.

  1. その論理はシンプルで 分かりやすく 実行できます
  2. 移動平均は価格のノイズを効果的にフィルターし,信頼できる取引信号を生成します.
  3. 速くて遅いMAsは短期と長期のトレンドを組み合わせ,シグナルが安定している.
  4. MAパラメータは,異なるストックに適応するために柔軟に調整できます.
  5. MA 期間のパラメータをさらに最適化することで,より良い取引結果が得られる.

リスク分析

この戦略にはいくつかのリスクもあります:

  1. 価格変動が大きい場合,より誤った信号と過剰な取引が起こる可能性があります.
  2. パラメータの設定が正しくない場合,取引が頻繁すぎたり,信号が遅れる可能性があります.
  3. 急速に変化する市場や 個々の株を効果的に追跡することはできません
  4. 重要な入口や出口の場所が 欠落する可能性があります

このリスクは,MAパラメータを調整し,ストップロスの戦略を設定することによって軽減できます.

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

この戦略にはさらに最適化余地があります.

  1. 他の技術指標を組み合わせてシグナルをフィルタリングする.例えば取引量,STOCH.
  2. トレンド決定メカニズムを追加して,主要なトレンドを見逃さないようにします.
  3. 最良の組み合わせを見つけるために MA パラメータを最適化します.
  4. 単一の取引損失を制御するためのストップ損失戦略を設定します.
  5. ディープラーニングモデルを組み込み 価格変動を予測します

結論

結論として,移動平均クロスオーバー戦略は,全体的に非常に古典的で実践的な戦略である. 単純な論理と実際の取引における幅広い応用があります. パラメータ調整および他の技術指標を組み合わせることで,よりよいリスク・リターン比率を達成するためにさらに改善することができます. 一般的に,それは定量取引の重要な礎石であり,深く研究および適用に値します.


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

//@version=3
strategy(title="Moving Average Cross", overlay=true, initial_capital=10000, currency='USD')



// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 9, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 18, title = "Slow MA Period", minval = 1)


// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)



// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)



// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)



// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)


// === FILL ====

fill(fast, slow, color = maFast > maSlow ? green : red)

もっと