
これは、エングルフィング パターンに基づいた定量的な取引戦略であり、市場に現れる複数期間のトレンドの線形エングルフィング パターンを識別して取引を行います。この戦略の核心は、価格反転シグナルを捉え、保有期間とリスク管理を組み合わせ、堅実な取引結果を達成することです。この戦略はあらゆる市場と期間に適用可能であり、高い普遍性を備えています。
この戦略は、ローソク足パターンのエングルフィングパターンを取引することに基づいています。強気のエングルフィングパターン(小さな黒いローソク足の後に、大きな白いローソク足が続き、小さな黒いローソク足を完全に包み込む)が発生すると、下降トレンドで買いシグナルが生成されます。弱気のエングルフィングパターン(小さな黒いローソク足の後に、大きな白いローソク足が続き、小さな黒いローソク足を完全に包み込む)が発生すると、下降トレンドで買いシグナルが生成されます。 (例えば、白いローソク足が小さい方の白いローソク足を完全に飲み込むと)上昇トレンドでは買いシグナルが生成されます。売りシグナルが生成されます。この戦略は、パラメータ化によって保有期間を設定し、指定された期間後にポジションを自動的にクローズして、過剰な保有によってもたらされるリスクを回避します。
この戦略は、体系的なアプローチを使用して市場の巻き込みパターンの機会を捉え、それをパラメータ化されたポジション管理と組み合わせて、リスク管理された取引を実現します。この戦略は非常に実用的で適応性が高いですが、トレーダーは特定の市場特性に応じて戦略を最適化し、調整する必要があります。戦略の安定性と信頼性を向上させるには、他のテクニカル指標とリスク管理手段を組み合わせることをお勧めします。
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Engulfing Candlestick Strategy", overlay=true)
// Input parameters
bull_color = input.color(color.new(color.green, 0), title="Bullish Engulfing Highlight")
bear_color = input.color(color.new(color.red, 0), title="Bearish Engulfing Highlight")
hold_periods = input.int(17, title="Hold Periods", minval=1) // How many bars to hold the position
// Input for selecting the pattern (Bullish or Bearish Engulfing)
pattern_type = input.string("Bullish Engulfing", title="Engulfing Pattern", options=["Bullish Engulfing", "Bearish Engulfing"])
// Input for selecting the trade type (Long or Short)
trade_type = input.string("Long", title="Trade Type", options=["Long", "Short"])
// Conditions for Bullish Engulfing
bullish_engulfing = close > open and open < close[1] and close > open[1] and open[1] > close[1]
// Conditions for Bearish Engulfing
bearish_engulfing = close < open and open > close[1] and close < open[1] and open[1] < close[1]
// Declare the entry condition variable
var bool entry_condition = false // Set initial value to 'false'
// Entry logic based on selected pattern and trade type
if pattern_type == "Bullish Engulfing"
entry_condition := bullish_engulfing
else
entry_condition := bearish_engulfing
// Execute the entry based on the selected trade type
if entry_condition
if trade_type == "Long"
strategy.entry("Long", strategy.long)
else
strategy.entry("Short", strategy.short)
// Close position after specified number of bars
if strategy.position_size != 0 and bar_index - strategy.opentrades.entry_bar_index(0) >= hold_periods
strategy.close("Long")
strategy.close("Short")
// Highlight Bullish Engulfing Candles (Background Color)
bgcolor(bullish_engulfing and pattern_type == "Bullish Engulfing" ? color.new(bull_color, 80) : na, title="Bullish Engulfing Background")
// Highlight Bearish Engulfing Candles (Background Color)
bgcolor(bearish_engulfing and pattern_type == "Bearish Engulfing" ? color.new(bear_color, 80) : na, title="Bearish Engulfing Background")