
Ini ialah strategi dagangan kuantitatif berdasarkan corak engulfing, yang berdagang dengan mengenal pasti corak engulfing linear trend berbilang tempoh yang muncul di pasaran. Teras strategi adalah untuk menangkap isyarat pembalikan harga, menggabungkan tempoh pegangan dan kawalan risiko, dan mencapai hasil dagangan yang mantap. Strategi ini boleh digunakan untuk semua pasaran dan tempoh masa serta mempunyai kesejagatan yang kukuh.
Strategi ini adalah berdasarkan perdagangan corak menyelubungi dalam corak batang lilin. Apabila corak engulfing kenaikkan berlaku (stick candlestick hitam yang lebih kecil diikuti dengan candlestick putih yang lebih besar sepenuhnya menyelubungi candlestick hitam yang lebih kecil), ia menjana isyarat beli dalam aliran menurun apabila corak engulfing menurun berlaku (candlestick hitam yang lebih kecil diikuti oleh putih yang lebih besar; candlestick sepenuhnya menyelubungi candlestick hitam yang lebih kecil), ia menjana isyarat beli dalam aliran menaik Isyarat jual dijana. Strategi menetapkan tempoh pegangan melalui parameterisasi dan secara automatik menutup kedudukan selepas tempoh yang ditetapkan untuk mengelakkan risiko yang dibawa oleh pegangan berlebihan.
Strategi ini menggunakan pendekatan sistematik untuk menangkap peluang corak yang melanda dalam pasaran dan menggabungkannya dengan pengurusan kedudukan berparameter untuk mencapai dagangan terkawal risiko. Strategi ini sangat praktikal dan boleh disesuaikan, tetapi pedagang masih perlu mengoptimumkan dan menyesuaikannya mengikut ciri pasaran tertentu. Adalah disyorkan untuk menggabungkan penunjuk teknikal lain dan langkah kawalan risiko untuk meningkatkan kestabilan dan kebolehpercayaan strategi.
/*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")