ギャップダウン逆転戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-19 16:19:51
タグ:

概要

この戦略はギャップダウン逆転を取引します.当日のキャンドルが前回の閉店値以下に開き,開店値よりも大きな閉店値で終盤を打つとき,戦略は次の日の開店または閉店でロングに入ります.

戦略原則

  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)















もっと