資源の読み込みに... 荷物...

マルチMAペア取引戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-23 15:16:50
タグ:

概要

この戦略は,シグナル品質を改善するためのより包括的なエントリーメカニズムを形成するために,移動平均の選択と価格パターンの認識を組み合わせます.また,堅牢なリスク管理を達成するために,利益のコントロールと最大保持期間を組み込みます.

戦略の論理

戦略には以下の指標と規則が含まれます.

  1. 3つのSMAは全体的な傾向を判断します.

  2. 2 EMA は詳細な方向判断を行っています.

  3. SARはトレンドとモメントを助けます

  4. 価格パターンは 格付けをエントリーシグナルとして識別します

  5. 最大利益の制限は 利益の記録です

  6. 保有期間制限は損失拡大を回避します

複数の指標の組み合わせにより,安定した取引のために,収益性とリスク管理を均衡させる強力なエントリーシグナルと退出メカニズムが形成されます.

利点

単一指標戦略と比較すると,以下のような利点があります.

  1. 複数の指標が精度を向上させる

  2. 価格パターンの認識により 入場タイミングが向上します

  3. 利益はコントロールを握り 利益を実現します

  4. 保有期間で損失拡大を避けます

  5. SMAはトレンドをたどっています

  6. EMAは敏感性を向上させる.

  7. SARは脱出の信頼性を確認する

  8. リスクと報酬のバランスが良く 安定性がある

  9. 調節パラメータは安定したアルファを達成します.

リスク

利点はありますが,以下のリスクは注意すべきです.

  1. 複数の指標が複雑さを高めます

  2. パラメータを幅広く調整すると 過剰な最適化が危険です

  3. 価格パターン認識の有効性は不確実です

  4. 利益のリスクを冒す 傾向の継続が欠けている

  5. 保有期間が利益の可能性を制限する

  6. 安定と収益性には 妥協が必要です

  7. 多国市場における安定性には検証が必要です

  8. モデルの安定性の継続的なモニタリングは 極めて重要です

強化

分析に基づいて,改善は以下の通りである.

  1. 戻り安定のパラメータを調整する

  2. 機械学習を組み込み 入力タイミングを調整します

  3. ダイナミックストップ・ロスを最適化し 利益を上げます

  4. 保有期間が株式曲線に与える影響を評価する.

  5. 異なる市場での耐久性をテストする

  6. 過剰なフィットメントを防ぐためにパラメータ強度チェックを追加します.

  7. 定量的なリスク管理を発展させる.

  8. 戦略の有効性を継続的に検証する

結論

概要すると,マルチインジケーターアプローチは比較的堅牢な取引システムを形成する.しかし,継続的な最適化と検証は,市場の適応性のためのパラメータの堅牢性に焦点を当てて,どの戦略にとっても鍵である.量子取引は繰り返しのプロセスである.


//@version=3
strategy("Free Strategy #08 (Combo of #01 and #02) (ES / SPY)", overlay=true)

// Inputs
Quantity = input(1, minval=1, title="Quantity")
SmaPeriod01 = input(3, minval=1, title="SMA Period 01")
SmaPeriod02 = input(8, minval=1, title="SMA Period 02")
SmaPeriod03 = input(10, minval=1, title="SMA Period 03")
EmaPeriod01 = input(5, minval=1, title="EMA Period 01")
EmaPeriod02 = input(3, minval=1, title="EMA Period 02")
MaxProfitCloses = input(5, minval=1, title="Max Profit Close")
MaxBars = input(10, minval=1, title="Max Total Bars")

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
Sma01 = sma(close, SmaPeriod01)
Sma02 = sma(close, SmaPeriod02)
Sma03 = sma(close, SmaPeriod03)
Ema01 = ema(close, EmaPeriod01)
Ema02 = ema(close, EmaPeriod02)
OHLC = (open + high + low + close) / 4.0

// Conditions
Cond00 = strategy.position_size == 0
Cond01 = close < Sma03
Cond02 = close <= Sma01
Cond03 = close[1] > Sma01[1]
Cond04 = open > Ema01
Cond05 = Sma02 < Sma02[1]
Entry01 = Cond00 and Cond01 and Cond02 and Cond03 and Cond04 and Cond05

Cond06 = close < Ema02
Cond07 = open > OHLC
Cond08 = volume <= volume[1]
Cond09 = (close < min(open[1], close[1]) or close > max(open[1], close[1]))
Entry02 = Cond00 and Cond06 and Cond07 and Cond08 and Cond09

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Entries
strategy.entry(id="L1", long=true, qty=Quantity, when=(Entry01 or Entry02))
 
// Exits
strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))

もっと