Strategi ini adalah variasi yang lebih baik dari strategi penembusan swing tinggi / rendah yang bertujuan untuk memanfaatkan pembalikan trend yang berpotensi disinyalkan oleh corak lilin yang menelan bullish dan bearish. Strategi ini mengenal pasti swing tinggi dan rendah dan menghasilkan isyarat perdagangan apabila harga menembusi tahap utama ini. Di samping itu, strategi menggunakan nisbah risiko-balasan yang telah ditentukan untuk menetapkan tahap mengambil keuntungan dan berhenti kerugian untuk pengurusan risiko yang lebih baik.
Strategi penembusan swing tinggi/rendah yang dipertingkatkan dengan corak bullish dan bearish engulfing menggabungkan penembusan harga dan corak candlestick untuk menangkap peluang pembalikan trend yang berpotensi sambil menekankan pengurusan risiko. Kelebihan strategi terletak pada pertimbangan kedua-dua tindakan harga dan sentimen pasaran, menyesuaikan diri dengan persekitaran pasaran yang berbeza. Walau bagaimanapun, strategi ini juga menghadapi risiko seperti isyarat palsu, turun naik pasaran, dan kos dagangan, yang perlu ditangani melalui pengenalan penanda pengesahan trend, penyesuaian stop-loss dinamik, dan pengoptimuman parameter. Secara keseluruhan, strategi ini menyediakan pendekatan untuk menangkap peluang pembalikan trend yang berpotensi, tetapi ia memerlukan penyesuaian dan pengoptimuman yang sesuai berdasarkan ciri pasaran tertentu dan keperluan dagangan apabila digunakan dalam amalan.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Markoline007 //@version=5 strategy("Improved Swing High/Low Breakout Strategy", overlay=true) // Define input variables length = input(14, title="Swing Length") multiplier = input(3, title="Multiplier") risk_reward_ratio = input(1.6, title="Risk-Reward Ratio") target_multiplier = input(2, title="Target Multiplier") // Calculate swing highs and swing lows var float lastHigh = na var float lastLow = na var bool isHigh = na var bool isLow = na if high[1] < high and high[2] < high[1] lastHigh := high[1] isHigh := true isLow := false else if low[1] > low and low[2] > low[1] lastLow := low[1] isLow := true isHigh := false else isHigh := false isLow := false // Define buy and sell conditions buySignal = close > lastHigh and close > open and close[1] < open[1] // Bullish engulfing sellSignal = close < lastLow and close < open and close[1] > open[1] // Bearish engulfing // Calculate stop and target levels stopLevel = close targetLevel = close + (close - stopLevel) * risk_reward_ratio // Execute buy and sell trades if buySignal strategy.entry("Buy", strategy.long) strategy.exit("TP/SL", "Buy", profit=targetLevel, loss=stopLevel) if sellSignal strategy.entry("Sell", strategy.short) strategy.exit("TP/SL", "Sell", profit=targetLevel, loss=stopLevel)