モメンタムブレイクアウト移動平均戦略


作成日: 2023-11-16 10:47:41 最終変更日: 2023-11-16 10:47:41
コピー: 1 クリック数: 772
1
フォロー
1617
フォロワー

モメンタムブレイクアウト移動平均戦略

概要

この戦略は,動きの突破と均線に基づくショートラインの取引戦略である.それは,移動平均,K線形状,取引量,および波動性などの複数の指標を組み合わせて,突破の動力を持つ方向的な機会を特定し,よりショートラインのトレンド状態を捕捉する.

戦略原則

  1. 3日間のEMAを平均線として使用し,閉盘価格が平均線を下回ると,市場が下落傾向にあると考えられる (Cond01).

  2. 開場価格が前日のOHLC価格より高い ((開場価格,最高価格,最低価格,閉場価格の平均価格),つまり,開場価格を上昇させた買い物取引があることを示し,上昇信号 ((Cond02) 。

  3. volumeは前日のvolumeより小さい,動力が不足していることを示し,方向性突破に有利である ((Cond03) 。

  4. コンド04 (Cond04) の値が,前日の価格区間を突破し,コンド04 (Cond04) を突破した.

  5. 上記の4つの条件が同時に満たされたとき,より多くのポジションを開きます.

  6. ストップ・ロスの条件:開設したポジションが10K線を超えたり,既得の平仓が5回に達したときに平仓 ((Exits) 〜.

この戦略は,市場突破方向を判断する複数の指標を統合し,短期間に価格トレンドを捕捉し,強い方向性を持っています.しかし,各条件は,1〜3つのK線の情報のみを考慮し,長期的なトレンド判断能力は弱いです.

優位分析

  1. 複数の指標の総合判断を使用して,偽突破をフィルターし,有効突破を識別できます.

  2. 動力が不足すると,価格が方向性突破やトレンドの突破を起こすことができ,より明確な方向性の機会を捉えることができます.

  3. 取引回数が多く,ショートライン操作に適し,毎回小さな利益を迅速にロックすることができます.

  4. ストップ・ロズとストップ・ストップの設定は合理的で,単一の損失とリスクを効果的にコントロールできます.

リスク分析

  1. 複数のポジションを同時に開設し,加仓のリスクがあります.

  2. 単一の指標パラメータの設定は過度に固執し,自適化パラメータを導入することができる.

  3. 突破の失敗の可能性は存在し,破網を形成する可能性があります.

  4. 短期的な情報に注目し,大きなトレンドを把握できていない.

  5. 停損点が近すぎると,20〜30K線まで放寬することができる.

最適化の方向

  1. トレンド判断に加入し,逆勢開設を避ける.長期平均線判断を加えることを検討し,大きなトレンド方向のみでポジションを開設する.

  2. 最適化パラメータ設定。EMA周期,突破パラメータをテストして最適化して,異なる市場状態に適合させることができる。また,適応パラメータを設定して,指標が自動的に周期を調整させることができる。

  3. 条件最適化: 突破の有効性を検証し,偽突破を減らすために,エネルギー潮,ブリン帯域幅,RSIなどの他の補助指標を追加することを考慮することができます.

  4. 十分にテストし,極端な状況下での収益曲線をチェックする. 過去の状況の反省を行うことができ,特大暴落や震動などの極端な状況下での戦略のテストを行う.

  5. 停止の最適化 停止の柔軟性を高めるために,停止の追跡,停止の割合,自動停止などの方法を考慮することができます.

要約する

この戦略は,EMA,取引量,波動性などの複数の指標を統合し,短期間に突破の可能性のある機会を識別し,典型的なショートライン突破戦略に属します.それは頻繁に返金し,動作し,ショートラインの利益を迅速にロックすることができます.しかし,最近の情報のみに注目し,大市場の把握が不足しています.我々は,トレンド要因,最適化パラメータ設定,突破効果の向上,極端な状況の検査などの側面から最適化することができます.

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

//@version=3
strategy("Free Strategy #01 (ES / SPY)", overlay=true)

// Inputs
Quantity = input(1, minval=1, title="Quantity")
EmaPeriod = input(3, minval=1, title="EMA Period")
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
Ema = ema(close, EmaPeriod)
OHLC = (open + high + low + close) / 4.0

// Conditions
Cond00 = strategy.position_size == 0
Cond01 = close < Ema
Cond02 = open > OHLC
Cond03 = volume <= volume[1]
Cond04 = (close < min(open[1], close[1]) or close > max(open[1], close[1]))

// 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=(Cond00 and Cond01 and Cond02 and Cond03 and Cond04))
 
// Exits
strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))