移動平均クロスオーバーに基づく損切りと利益確定の戦略


作成日: 2023-12-21 15:52:57 最終変更日: 2023-12-21 15:52:57
コピー: 0 クリック数: 840
1
フォロー
1623
フォロワー

移動平均クロスオーバーに基づく損切りと利益確定の戦略

概要

この戦略は,異なる周期の移動平均を計算し,ストップとストップポイントを設定し,自動取引を実現する. 短期移動平均の上を長周期移動平均を横切るときは多行し,短期移動平均の下を長周期移動平均を横切るときは空きをする. 同時に,リスクを管理するために,ストップとストップポイントを設定する.

戦略原則

この戦略は均線交差の原理に基づいている。それは9日間の簡易移動平均と55日間の簡易移動平均を同時に計算する。9日間の平均線上を55日間の平均線を越えると,短期トレンドが反転して上昇する,このとき多めにする;9日間の平均線下を55日間の平均線を越えると,短期トレンドが反転して低下する,このとき空っぽにする。

同時に,この戦略はATR指数を使用してストップとストップポイントを設定する.ATR指数は,市場の変動幅を測定できる.ストップポイントは,市場変動に応じて合理的なストップを設定するために,ATRを減算したクローズアップ価格に設定する.ストップポイントは,リスク・リターン比率を利用して設定する.ここでは,リスク・リターン比率は2,つまり,ストップポイント =クローズアップ価格 + 2 *ATR値に設定する.

戦略的優位性

これは非常にシンプルで実用的なショートライン取引戦略で,以下の利点があります.

  1. 平均線交差の原理は簡単で理解しやすい.
  2. リスクの管理と実用性の強化を目的として,ストップ・ローズとストップ・ストップを組み合わせる.
  3. 移動平均のパラメータは,異なる市場状況に合わせて柔軟に調整できます.
  4. ATRのストップは,市場の変動に応じてストップポイントを設定し,比較的にスマートである.
  5. リスク・リターン比率の設定は,個人のリスク・好みに合わせて調整できます.

戦略リスク

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

  1. 均線交差信号は誤った取引を誘発する偽破裂を引き起こす可能性があります.
  2. ストップ・ロストやストップ・フードを正しく設定しないことにより 損失が増加したり 利益が減少したりする可能性があります
  3. 移動平均のパラメータを正しく設定しないことにより,取引頻度が高すぎたり,信号が遅れたりします.
  4. ATRパラメータを正しく設定しない場合,ストップポイントが近すぎたり,遠すぎたりする.

これらのリスクは,最適化パラメータ,厳格な止損,合理的な位置管理によって軽減できます.

戦略の最適化

この戦略はさらに改善できる:

  1. オプティマイゼーションツールを活用し,最適な移動平均の組み合わせを探します.
  2. 偽突破を防ぐために,他の指標をフィルタリングする均線交差信号を追加する.
  3. 他の種類の移動平均,例えば指数移動平均を試してみてください.
  4. ATRパラメータも最適化して,止損止めをスマートにすることも検討できます.

要約する

この戦略は,全体的な考え方が明確で,実行が容易で,特に初心者向けに適しています. 基本的なショートライン取引戦略として,操作が簡単で,最適化が容易であるなどの利点があります.COMPLETEまたは他のフレームワークを使用すると,この戦略をさらに強化して,十分な実用的な量化取引システムにすることができます.

ストラテジーソースコード
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true)

// Input for selecting the length of the moving averages
maShortLength = input(9, title="Short MA Length")
maLongLength = input(55, title="Long MA Length")

// Input for setting the risk-reward ratio
riskRewardRatio = input(2, title="Risk-Reward Ratio")

// Calculate moving averages
maShort = ta.sma(close, maShortLength)
maLong = ta.sma(close, maLongLength)

// Buy condition: 9-period MA crosses above 55-period MA
buyCondition = ta.crossover(maShort, maLong)

// Sell condition: 9-period MA crosses below 55-period MA
sellCondition = ta.crossunder(maShort, maLong)

// Set stop-loss and take-profit levels
atrValue = ta.atr(14)
stopLossLevel = close - atrValue  // Use ATR for stop-loss (adjust as needed)
takeProfitLevel = close + riskRewardRatio * atrValue  // Risk-reward ratio of 1:2

// Execute buy and sell orders with stop-loss and take-profit
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel)

// Plot moving averages on the chart
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")