この戦略はギャップダウン逆転を取引します.当日のキャンドルが前回の閉店値以下に開き,開店値よりも大きな閉店値で終盤を打つとき,戦略は次の日の開店または閉店でロングに入ります.
ダウンにギャップが発生するかどうかを確認します.つまり,前回の閉じるより下にある現在の開口です.
ダウンにギャップされている場合,現在の閉鎖がオープンよりも上にあるかどうかを観察し,上向きの逆転を示します.
ギャップダウン逆転条件が満たされている場合,次の日のオープンまたは閉鎖で長い.
入場後,ストップ・ロスをパーセントに設定します.例えば,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)