Ini adalah strategi dagangan berdasarkan pengesanan jurang nilai wajar (FVG), menggabungkan pengurusan risiko dinamik dengan sasaran keuntungan tetap. Bekerja pada jangka masa 15 minit, strategi mengenal pasti peluang dagangan yang berpotensi dengan mengesan jurang harga di pasaran. Menurut data backtest dari November 2023 hingga Ogos 2024, strategi ini mencapai keuntungan bersih 284.40% dengan 153 jumlah dagangan, mengekalkan kadar kemenangan 71.24% dan faktor keuntungan 2.422.
Mekanisme teras berputar di sekitar mengesan jurang nilai saksama dengan memantau hubungan harga di tiga lilin berturut-turut:
Strategi ini menunjukkan hasil yang mengagumkan dengan menggabungkan teori Gap Nilai Adil dengan pengurusan risiko saintifik. Kadar kemenangan yang tinggi dan faktor keuntungan yang stabil menunjukkan nilai praktikalnya. Melalui arah pengoptimuman yang dicadangkan, terdapat potensi untuk peningkatan lanjut. Pedagang dinasihatkan untuk melakukan pengoptimuman parameter yang menyeluruh dan pengujian belakang sebelum pelaksanaan langsung.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fair Value Gap Strategy with % SL and Fixed TP", overlay=true, initial_capital=500, default_qty_type=strategy.fixed, default_qty_value=1) // Parameters fvgThreshold = input.float(0.5, "FVG Threshold (%)", minval=0.1, step=0.1) // Fixed take profit in pips takeProfitPips = 50 // Function to convert pips to price pipsToPriceChange(pips) => syminfo.mintick * pips * 10 // Function to detect Fair Value Gap detectFVG(dir) => gap = 0.0 if dir > 0 // Bullish FVG gap := low[2] - high[1] else // Bearish FVG gap := low[1] - high[2] math.abs(gap) > (close * fvgThreshold / 100) // Detect FVGs bullishFVG = detectFVG(1) bearishFVG = detectFVG(-1) // Entry conditions longCondition = bullishFVG shortCondition = bearishFVG // Calculate take profit level longTakeProfit = strategy.position_avg_price + pipsToPriceChange(takeProfitPips) shortTakeProfit = strategy.position_avg_price - pipsToPriceChange(takeProfitPips) // Calculate stop loss amount (5% of capital) stopLossAmount = strategy.equity * 0.01 // Execute trades if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Set exit conditions if (strategy.position_size > 0) strategy.exit("Long TP", "Long", limit=longTakeProfit) strategy.close("Long SL", when=strategy.openprofit < -stopLossAmount) else if (strategy.position_size < 0) strategy.exit("Short TP", "Short", limit=shortTakeProfit) strategy.close("Short SL", when=strategy.openprofit < -stopLossAmount) // Plot signals plotshape(longCondition, "Buy Signal", location = location.belowbar, color = color.green, style = shape.triangleup, size = size.small) plotshape(shortCondition, "Sell Signal", location = location.abovebar, color = color.red, style = shape.triangledown, size = size.small)