ギャップ反転戦略


作成日: 2023-09-19 16:19:51 最終変更日: 2023-09-19 16:19:51
コピー: 0 クリック数: 841
1
フォロー
1617
フォロワー

概要

この戦略は跳躍空隙の形状に対して逆転取引を行う.指数の跳躍空隙が下落した後,逆転して上昇すると,戦略は次の日に開盘または閉盤で買取操作を行い,トラッキングストップを設定して利益をロックする.

戦略原則

  1. 標識の商品が空白の隙間を発生していないか判断します.つまり,当日の開場価格は前日の閉場価格より低いです.

  2. 跳躍隙の下落が発生した場合,当日の閉盘価格が開盘価格より高いかどうかを観察して,反転上昇を示します.

  3. 跳躍隙の反転条件を満たす場合は,翌日の開盘または閉盘時に買い取り操作を行う.

  4. 入場後,一定パーセントの追跡ストップを設定します.例えば5%です. ストップラインは価格上昇に伴い上昇します.

  5. 価格が止損ラインに戻ったときに止損シールをトリガーし,止損をオフにします.

優位分析

この戦略のメリットは

  1. ギャップの形状によってもたらされる反転取引の機会を捉える.

  2. 逆転形状の高確率で,多空心理交代の行動法則に合致する.

  3. ストップ・ロスを追跡し,人工監視なしで利益を固定します.

  4. 入場時間とストップ・ローズレベルを柔軟に設定し,個々の株の特徴に合わせて設定できます.

  5. プログラムで実行し,反省し,最適化しやすい.

リスク分析

この戦略の主なリスクは

  1. 空飛ぶ穴の逆転失敗の可能性は存在し,形状を検証する必要がある.

  2. ストップレードレベルが設定されすぎると,破られやすくなり,損失が拡大する.

  3. 株の選択が間違っていたら,ハードランディングで大逆転が起こるかもしれない.

  4. データの復元が不十分であり,過適合の危険性があります.

  5. リアルディスク操作と反測の違いはあります.

対応方法:

  1. ストップ・ロスのレベルを最適化し,単発損失の割合を制御する.

  2. 市場全体を見据え,株主から株主を選ばないこと.

  3. 形状を検証し,取引量の変化を検査する.

  4. テストサンプルを拡大し,実態検証を模擬する.

最適化の方向

この戦略は以下の点から最適化できます.

  1. トレンド指標のフィルターと組み合わせて逆転エントリーを回避します.

  2. 動的にストップレベルを調整し,利益を保護する.

  3. 指定日での取引のみで,時間フィルターを追加することを検討してください.

  4. 形式の強弱を評価し,入場資金の比率を調整する.

  5. ポジションの保持時間をテストし,最適の退出点を探します.

要約する

空飛ギャップ反転策は,高確率反転形状を利用して取引する.止損策によってリスクを効果的に制御する.しかし,偽反転と市場構造の変化に警戒する.実況時には,形状とトレンドの方向を慎重に評価し,パラメータを継続的に最適化することをお勧めする.

ストラテジーソースコード
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RolandoSantos

//@version=2

strategy(title="Gap Down reversal strat", overlay=true, pyramiding=1, default_qty_type =  strategy.cash, default_qty_value = 10000, initial_capital = 10000 )

/// Start date

startDate = input(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", defval=2009, minval=1800, maxval=2100)


// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0))

// STEP 1:
// Configure trail stop level with input options (optional)
longTrailPerc = input(title="Trail Long Loss (%)",
     type=float, minval=0.0, step=0.1, defval=5.0) * 0.01


// Calculate trading conditions
gap_d_r = open < close[1] and close > open


// Plot Shapes
plotshape(gap_d_r, style=shape.triangleup, location=location.belowbar)
///plotshape(gap_u_r, style=shape.triangledown, location=location.abovebar)

///// Use Low, or close/////

//hlco = input(title="Stop Modifier", defval="close", options=["open", "high", "low"])


// STEP 2:
// Determine trail stop loss prices
longStopPrice = 0.0   ///, shortStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0


// Plot stop loss values for confirmation
plot(series=(strategy.position_size > 0) ? longStopPrice : na,
     color=red, style=circles,
     linewidth=1, title="Long Trail Stop")


// Submit entry orders
if (afterStartDate and gap_d_r)
    strategy.entry(id="EL", long=true)


// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="Stop out", stop=longStopPrice)