
Ini adalah strategi perdagangan berdasarkan jurang nilai wajar (FVG) yang menggabungkan pengurusan risiko dinamik dan sasaran keuntungan tetap. Strategi ini berjalan pada kitaran masa 15 minit untuk menangkap peluang perdagangan yang berpotensi dengan mengenal pasti jurang harga di pasaran. Menurut data retrospektif, strategi ini mencapai kadar keuntungan bersih 284.40% antara November 2023 dan Ogos 2024, dengan jumlah 153 transaksi yang diselesaikan, di mana kadar keuntungan mencapai 71.24%, dengan faktor keuntungan sebanyak 2.422
Inti strategi ini adalah untuk mengenal pasti jurang nilai wajar dengan memantau hubungan harga antara tiga garis K berturut-turut. Secara khusus:
Strategi ini menunjukkan keberkesanan perdagangan yang baik dengan menggabungkan teori jurang nilai yang adil dan kaedah pengurusan risiko saintifik. Kadar keuntungan yang tinggi dan faktor keuntungan yang stabil menunjukkan bahawa strategi ini mempunyai nilai pertempuran yang nyata. Dengan arah pengoptimuman yang disyorkan, strategi ini masih mempunyai ruang untuk meningkatkan lagi.
/*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)