ブレイクアウト・プルバック戦略は,トレンドフォロー戦略である.その基本原理は,価格が前のキャンドルスティックの高値や低値を突破するとロングまたはショートに進むことであり,利益を得てストップ・ロスを設定した後も利益が継続することを許すことである.
この戦略の基本論理は,価格が前のキャンドルスティックの高値や低値を突破するかどうかを判断することによってエントリータイミングを決定することです. 具体的な論理は:
現在のキャンドルの高値が前のキャンドルの高値より高くなった場合,ロング信号が発信されます.
現在のキャンドルストイックの低値が 前回のキャンドルストイックの低値よりも低い場合,ショート信号が発信されます.
ロングまたはショートシグナルを受信すると,すぐにポジションに入ります. ポジションに入ると,取利益を50ピップに設定し,ストップロスを100ピップにします.
損失がストップ・ロスのピップより大きいか,利益がテイク・プロフィートのピップより大きいか,またはそれに等しい場合,ポジションから積極的に退場します.
この脱退戦略には次の利点があります
この戦略にはいくつかのリスクもあります:
この戦略は,次の側面においてさらに最適化することができる.
誤ったブレイクを避けるために,指標フィルターやボリューム確認などの価格ブレイクの有効性チェックを追加します.
レンジ・バインド市場でのリスクの捉え方を避けるために,トレンド決定メカニズムを追加します.移動平均値やその他のトレンド指標を使用できます.
利回しストップロスの戦略を最適化し,利益を最大化するために,ストップロスを追いかける,ストップロスを利益の後押しするなど.
パラメータ最適化により 最適の利得とストップ損失のピップを見つけます
一般的に,このブレイクバック・プルバック戦略は,シンプルな論理,容易な実装,そしてトレンドスタートを効果的に捕捉する利点があります.また,リスクと引き下げを制御する能力も良好です.さらなる最適化により,非常に実践的な量子戦略になることができます.
/*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)