単一移動平均の組み合わせ取引戦略


作成日: 2024-02-21 15:11:32 最終変更日: 2024-02-21 15:11:32
コピー: 1 クリック数: 642
1
フォロー
1617
フォロワー

単一移動平均の組み合わせ取引戦略

概要

この戦略は,シンプル・ムービング・アヴェアに基づいた組み合わせ取引戦略である.これは,9日線と21日線の均線交差を,買入と売却の信号として使用する.短期平均線が,下から長期平均線を横切るときに買入の信号が生じる.短期平均線が,上から下から長期平均線を横切るときに売出の信号が生じる.

戦略原則

この戦略の核心的な論理は,2つの異なるパラメータを使用した単純な移動平均であり,9日線が短期トレンドを表す1日線が長期トレンドを表す21日線である.短期トレンドラインが下から長期トレンドラインを横切るときは,市場が下から上へ転がり,買入シグナルを生じ,短期トレンドラインが上から下から長期トレンドラインを横切るときは,市場が上から上へ転がり,下へ転がり,売り込みシグナルを生じます.

この戦略は主に均線の金交差と死交差の2つの信号に依存する.いわゆる金交差は,短期平均線が下から上へ突破し,市場が下から上へと転向する可能性があることを示している.死交差は,短期平均線が上から下へと突破し,市場が上から下へと転向するであろうことを示している.この戦略は,これらの2つの信号を利用して,市場情勢の長期短期傾向関係を判断し,購入と販売の決定を生成する.

戦略的優位性

  1. 操作が簡単で分かりやすい
  2. パラメータが少なく,テストや最適化が多くない
  3. 取引の頻度を適正にし,極端な取引を避ける
  4. 長期的・短期的なトレンドの転換点を 比較的正確に捉えることができる
  5. 測定可能性と安定性がある

戦略リスク

  1. 双均線戦略は誤信号と頻繁な切り替えを容易にする
  2. 購入・販売点の選択とパラメータの設定は経験に依存し,十分に体系化されていない.
  3. 9と21のアンテナは最適ではない
  4. 騒音取引は,地震を効果的にフィルターできない.
  5. 大規模な震災で不良なパフォーマンス,損失の危険性

改善や最適化には以下の方法があります.

  1. フィルタリング機能が追加され,誤った信号を避ける
  2. 他の指標と組み合わせたトレンド信号の信頼性
  3. 異なる品種とパラメータに応じてテスト最適化
  4. ストップダストストップロジックを設定し,リスクを制御する

要約する

この戦略は,全体的に比較して従来的でシンプルな二均線組合せ戦略である.理解しやすく,実行しやすく,パラメータ選択も比較的シンプルで,長期短期トレンドの変換を効果的に追跡することができる.しかし,この戦略には,誤信号の発生,PARAMETERSの選択の経験化,大震動の状況での不良パフォーマンスのようないくつかの問題がある.これは,私たちが使用するときにリスク管理に注意を払い,適切な最適化,改善,組合せを行うことを必要とする.

ストラテジーソースコード
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)