変数と移動平均に基づく変動戦略

作者: リン・ハーンチャオチャン, 日付: 2024-03-28 17:33:08
タグ:

img

変動と移動平均に基づく変動戦略という戦略は,過去30カ月の価格変動の変動と3つの移動平均値 (MA5,MA15,MA30) を使って取引を決定します.

戦略の主な考え方は,価格変動の変動を計算し,それを異なる期間の移動平均値と組み合わせてトレンド方向を決定することによって市場変動を測定することです. 変動が低く,短期移動平均値が長期移動平均値以上になると,戦略はロングポジションに入ります. 同時に,戦略はリスクを制御し,利益をロックするためにストップ・ロストとテイク・プロフィート条件を設定します.

戦略の原則は次のステップに分けられる:

  1. 5日,15日,および30日間の移動平均値 (MA5,MA15,MA30) を計算する.
  2. 過去30個のキャンドルの間での価格変動の変数 (最高価格と最低価格を閉店価格で割った差) を計算し 1,000,000 で掛けます.
  3. 購入条件を定義します.分散は35未満で,MA5はMA15より大きく,MA15はMA30より大きくなります.
  4. ストップ・ロスの条件を定義します.閉じる価格がMA30以下またはMA5がMA30以下です.
  5. 利得率の条件を定義します:分散は500以上です.
  6. 購入条件が満たされると,戦略はロングポジションに入ります.ストップ・ロースまたはテイク・プロフィート条件が満たされると,戦略はポジションを閉じる.

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

  1. 波動性とトレンド指標を組み合わせることで,トレンドが明確で波動性が低いときに取引することができ,非常に波動性の高い市場条件での取引を避けることができます.
  2. 複数の移動平均値を使用することで,トレンド方向のより包括的な評価が可能になり,取引の精度が向上します.
  3. 明確なストップ・ロストとテイク・プロフィートの条件を設定することで リスクと利益のロックが効果的に制御されます

戦略のリスクは主に以下の通りである.

  1. 市場の動向が不明確で,変動が急激に増加すると,戦略は頻繁に取引または誤った信号を経験する可能性があります.
  2. ストップ・ロストとテイク・プロフィートの条件は,すべての市場環境に完全に適応できない可能性があり,実際の状況に基づいて調整が必要になる可能性があります.
  3. 戦略は過去のデータに基づいているため,予期せぬ出来事や異常な市場変動に迅速に対応しない可能性があります.

この戦略を最適化するために,次の方向性を考慮することができます:

  1. 購入条件における変数値と移動平均の組み合わせについては,バックテストとパラメータ最適化によって最適な値を見つけることができる.
  2. RSIやMACDなどのより多くの技術指標や市場情勢指標が,ストップ・ロストとテイク・プロフィート条件に導入され,シグナルの信頼性が向上します.
  3. 市場リスク管理メカニズム (ダイナミックポジション調整や波動性調整など) は,市場の状況の変化に適応するために導入できる.

総括すると,変動と移動平均に基づく変動戦略は,変動とトレンド指標を組み合わせた取引戦略である.価格変動の変動を計算し,異なる期間の移動平均と組み合わせてトレンド方向を決定し,適切な市場条件で取引を行うことで,市場の変動を測定する.この戦略は,リスクを効果的に制御し,利益をロックできる明確なストップ・ロストとテイク・プロフィート条件を設定する.同時に,戦略には最適化余地があり,パラメータの最適化,より多くの指標導入,リスク管理メカニズムの実施を通じて適応性と強度を改善することができます.


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

//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)

// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)

// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000

// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30

// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true

// 定义止盈条件
take_profit_condition = variance > 500

// 执行交易逻辑
if (buy_condition)
    strategy.entry("Long", strategy.long)
if (stop_loss_condition)
    strategy.close("Long")
if (take_profit_condition)
    strategy.close("Long")
    
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")

// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")


もっと