ブレイクアウト・プルバック・戦略

作者: リン・ハーンチャオチャン開催日:2024年2月1日14時37分02秒
タグ:

img

概要

ブレイクアウト・プルバック戦略は,トレンドフォロー戦略である.その基本原理は,価格が前のキャンドルスティックの高値や低値を突破するとロングまたはショートに進むことであり,利益を得てストップ・ロスを設定した後も利益が継続することを許すことである.

戦略の論理

この戦略の基本論理は,価格が前のキャンドルスティックの高値や低値を突破するかどうかを判断することによってエントリータイミングを決定することです. 具体的な論理は:

現在のキャンドルの高値が前のキャンドルの高値より高くなった場合,ロング信号が発信されます.

現在のキャンドルストイックの低値が 前回のキャンドルストイックの低値よりも低い場合,ショート信号が発信されます.

ロングまたはショートシグナルを受信すると,すぐにポジションに入ります. ポジションに入ると,取利益を50ピップに設定し,ストップロスを100ピップにします.

損失がストップ・ロスのピップより大きいか,利益がテイク・プロフィートのピップより大きいか,またはそれに等しい場合,ポジションから積極的に退場します.

利点分析

この脱退戦略には次の利点があります

  1. 論理はシンプルで 実行も簡単です
  2. トレンドの始まりを効果的に把握し,タイミングでポジションを設定できます
  3. 利益とストップロスを設定することで 利益は継続し 早期出口を回避できます
  4. 引き上げとリスクを制御する能力が良い.

リスク分析

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

  1. ブレイクシグナルが 誤ったブレイクシグナルで
  2. 範囲限定のコンソリデート市場に 引っかかるのは簡単です
  3. リスクをコントロールするために,合理的な利益とストップロスを設定する必要があります.

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

この戦略は,次の側面においてさらに最適化することができる.

  1. 誤ったブレイクを避けるために,指標フィルターやボリューム確認などの価格ブレイクの有効性チェックを追加します.

  2. レンジ・バインド市場でのリスクの捉え方を避けるために,トレンド決定メカニズムを追加します.移動平均値やその他のトレンド指標を使用できます.

  3. 利回しストップロスの戦略を最適化し,利益を最大化するために,ストップロスを追いかける,ストップロスを利益の後押しするなど.

  4. パラメータ最適化により 最適の利得とストップ損失のピップを見つけます

結論

一般的に,このブレイクバック・プルバック戦略は,シンプルな論理,容易な実装,そしてトレンドスタートを効果的に捕捉する利点があります.また,リスクと引き下げを制御する能力も良好です.さらなる最適化により,非常に実践的な量子戦略になることができます.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Breakout Strategy", shorttitle="BS", overlay=true)

// Input for take profit and stop loss in pips
tp_pips = input(50, title="Take Profit (in pips)")
sl_pips = input(100, title="Stop Loss (in pips)")

// Calculate take profit and stop loss levels in points
tp_level = tp_pips * syminfo.mintick
sl_level = sl_pips * syminfo.mintick

// Function to check if a breakout has occurred
breakout(high_or_low) =>
    high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false

// Buy condition
buy_condition = breakout(high)
strategy.entry("Buy", strategy.long, when=buy_condition)

// Sell condition
sell_condition = breakout(low)
strategy.entry("Sell", strategy.short, when=sell_condition)

// Take profit and stop loss conditions for Buy
tp_buy_condition = strategy.position_avg_price + tp_level
sl_buy_condition = strategy.position_avg_price - sl_level
strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition)

// Take profit and stop loss conditions for Sell
tp_sell_condition = strategy.position_avg_price - tp_level
sl_sell_condition = strategy.position_avg_price + sl_level
strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)


もっと