モメンタム・ブレイク・ミニアス・リバース・戦略

作者: リン・ハーンチャオチャン開催日:2023年11月16日 10:47:41
タグ:

img

概要

これは,モメンタム・ブレイクアウトと平均逆転をベースとした短期間の取引戦略です.短期のトレンドを把握するためのブレイクアウトモメンタムの方向的な機会を特定するために,移動平均,キャンドルスティックパターン,ボリューム,変動を含む複数の指標を組み込みます.

戦略の論理

  1. 3日間の EMA を基準移動平均線として使用します.閉じる価格がこの線を下回ると,市場の下落傾向を示します (Cond01).

  2. オープン価格は前日のOHLC価格 (オープン価格,高値,低値,閉値の平均値) より高い.これはオープン価格に対する強い購入関心を示しており,これは上昇信号 (Cond02) である.

  3. 前日のボリュームより低くなっている.これは方向的なブレイク (Cond03) を有利にする十分なモメンタムを示している.

  4. 閉じる価格が前日の価格範囲を突破する.これは突破を示します (Cond04).

  5. 上記4つの条件がすべて満たされたら,ロング (エントリー) になります.

  6. 出口規則:入場以来のバーが10を超えた場合または最大利益が5に達した場合 (出口) 閉じるポジション

この戦略は,短期的なトレンドを把握するための市場突破方向を決定するために複数の指標を組み合わせています. しかし,各条件は,長期的トレンドを決定する能力が弱いため,1〜3バーのみを見ています.

利点分析

  1. 複数の指標を使用することで 偽のブレイクをフィルターし 正確なブレイクを識別できます

  2. 十分な勢力がなければ 方向的なブレイクアウトやトレンド・イグニッションが起こり より明確な方向的な機会を捉えることができます

  3. 高い取引頻度は 短期取引に適しており 迅速な小利益を得ることができます

  4. 合理的なストップ・ロストとテイク・プロフィートは,効果的な単一の取引損失とリスク管理を可能にします.

リスク分析

  1. 複数の同時公開取引は,過剰取引の危険性がある.

  2. 静的パラメータの設定は 厳格すぎます 適応パラメータを導入できます

  3. 失敗したブレイクアウトの確率は存在し,損する取引につながる可能性があります.

  4. 主要な動向を全面的に理解することなく 短期的な情報だけに焦点を当てます

  5. ストップ・ロストポイントは 狭すぎるかもしれない 20~30バーに拡大する

オプティマイゼーションの方向性

  1. トレンド決定を組み込み,主要なトレンドに逆らって取引を避ける. 長期移動平均を追加して,主要なトレンド方向に沿った取引のみを行うことができます.

  2. パラメータ設定を最適化する. EMA期間,ブレイクアウトパラメータは,異なる市場条件に合わせてテストおよび最適化することができます. 適応パラメータは,自動調整にも使用できます.

  3. 条件を改善する. A/D,ボリンガーバンド幅,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))

もっと