
Strategi ini adalah sistem perdagangan berdasarkan Inverted Fair Value Gap (IFVG) yang digabungkan dengan pengesahan trend dan mekanisme penghentian pengesanan dinamik. Strategi ini mula-mula mengenal pasti jurang nilai adil di pasaran (Fair Value Gap, FVG), kemudian mencari isyarat pembalikan untuk jurang ini, sambil menggunakan purata bergerak sederhana (SMA) untuk mengesahkan trend pasaran keseluruhan, dan akhirnya dengan set penghentian kerugian dinamik untuk pengendalian risiko yang dioptimumkan melalui purata gelombang sebenar (ATR).
Strategi ini berpusat pada pengesanan dan pengembalian untuk mengenal pasti dan memanfaatkan jurang nilai adil (FVG). Prinsip-prinsip strategi ini boleh dibahagikan kepada beberapa langkah penting berikut:
Pengenalan FVGStrategi pertama adalah untuk mengesan jurang nilai wajar, iaitu kawasan harga yang terbentuk apabila harga terendah pada baris K adalah lebih tinggi daripada harga terendah pada baris K terdahulu (FVG bullish) atau apabila harga terendah pada baris K adalah lebih rendah daripada harga terendah pada baris K terdahulu (FVG bearish). Kawasan-kawasan ini mewakili tahap harga yang tidak diperdagangkan apabila pasaran bergerak cepat.
IFVG mengesahkan: Apabila harga kembali ke kawasan FVG dan muncul isyarat pembalikan, terdapat jurang nilai wajar terbalik ((IFVG)). Secara khusus, IFVG disahkan apabila harga lebih tinggi daripada titik tinggi FVG yang lebih rendah dan harga penutupan lebih tinggi daripada harga pembukaan, atau apabila harga lebih rendah daripada titik rendah FVG yang lebih rendah dan harga penutupan lebih rendah daripada harga pembukaan.
Penegasan trendStrategi menggunakan purata bergerak sederhana (SMA) 50 dan 200 kitaran untuk menentukan trend pasaran. Apabila jangka pendek (SMA) 50 kitaran lebih tinggi daripada jangka panjang (SMA) 200 kitaran, mengesahkan trend naik; sebaliknya mengesahkan trend menurun.
Syarat kemasukan:
Pengurusan Risiko:
Mekanisme pengesahan bergandaStrategi ini menggabungkan struktur harga (IFVG), arah trend (SMA) dan pengurusan risiko dinamik (ATR), membentuk sistem penapisan berlapis, yang secara ketara mengurangkan isyarat palsu.
Pemandu Struktur PasaranDengan mengenal pasti FVG dan IFVG, strategi dapat menangkap perubahan struktur mikro pasaran, yang biasanya mewakili ketidakseimbangan dan kemungkinan peluang arah dalam kekuatan membeli dan menjual dalam jangka pendek.
Keserasian trendStrategi ini hanya berdagang di arah trend, mengelakkan risiko tinggi perdagangan berlawanan arah.
Pengurusan risiko dinamikStrategi ini bukan sahaja menetapkan tahap stop loss dan stop loss yang tetap, tetapi juga mewujudkan stop loss pelacakan dinamik berasaskan ATR yang dapat menyesuaikan tahap perlindungan mengikut turun naik pasaran.
Perlindungan Mekanisme Keuntungan: Apabila perdagangan mencapai separuh daripada keuntungan yang ditetapkan, stop loss akan bergerak secara automatik ke atas kedudukan jaminan, memastikan perdagangan tidak berubah dari keuntungan menjadi kerugian.
Fleksibiliti jangka masaWalaupun pengukuran dilakukan pada kitaran 1 minit, logik teras strategi (FVG, pengesahan trend dan hentian dinamik) boleh digunakan untuk pelbagai bingkai masa.
Isu kebolehpercayaan FVG: Dalam pasaran yang bergelombang tinggi, FVG mungkin sering berlaku tetapi tidak semestinya mempunyai nilai dagangan, yang boleh menyebabkan perdagangan berlebihan. Penyelesaian adalah dengan menambah syarat penapis tambahan, seperti meminta FVG mempunyai lebar minimum atau terbentuk berhampiran dengan tahap harga kritikal.
Trend Menentukan Batasan: Menggunakan hanya dua SMA untuk menentukan trend mungkin menghasilkan isyarat yang salah dalam pasaran yang bergolak. Penyelesaian adalah dengan menambah penunjuk pengesahan trend tambahan, seperti ADX (Indeks Arah Rata-rata) untuk mengukur kekuatan trend.
Risiko terhadPenangguhan tetap 0.5% mungkin terlalu sempit dalam beberapa jenis yang berfluktuasi tinggi, mudah dicetuskan oleh bunyi pasaran. Penyelesaian adalah untuk menghubungkan tetapan penangguhan dengan ATR, menjadikannya sesuai dengan sifat fluktuasi pelbagai jenis.
Kekurangan pengurusan pengunduran diri: Apabila pasaran tiba-tiba berbalik, penghentian pengesanan mungkin tidak dapat bertindak balas dengan cepat, menyebabkan penarikan balik meluas. Penyelesaian adalah menetapkan had penarikan balik maksimum yang boleh diterima, dan keluar dengan serta-merta apabila melebihi.
Kepekaan ParameterPrestasi strategi sangat sensitif terhadap parameter seperti kitaran SMA, kadar henti dan penggandaan ATR. Penyelesaian adalah dengan mencari kombinasi parameter yang mantap dengan mengoptimumkan pengulangan dan menilai semula secara berkala.
Integrasi analisis pelbagai kerangka masaMengintegrasikan maklumat FVG dan trend pada bingkai masa yang lebih tinggi dalam proses membuat keputusan dapat meningkatkan kualiti isyarat. Sebagai contoh, isyarat pada carta 1 minit boleh diminta sesuai dengan FVG dan arah trend pada carta 15 minit atau 1 jam.
Mekanisme penangguhan dinamikStrategi semasa menggunakan penutupan peratusan tetap, yang boleh ditingkatkan menjadi penutupan dinamik berdasarkan ATR, atau penutupan sasaran penutupan yang disesuaikan secara automatik dengan turun naik pasaran.
Kebolehan berpatah balik dan menyusun pasaran: Tambah logik untuk mengenal pasti keadaan pasaran, menggunakan strategi semasa pada tempoh trend yang jelas, dan menggunakan kriteria masuk dan keluar yang berbeza pada tempoh penyusunan.
Pengesahan jumlah transaksiAnalisis jumlah urus niaga yang bersepadu untuk mengesahkan keberkesanan FVG dan IFVG. Kesenjangan harga yang benar-benar bermakna biasanya disertai dengan perubahan jumlah urus niaga yang ketara.
Pengoptimuman Pembelajaran Mesin: Menggunakan algoritma pembelajaran mesin untuk mengenal pasti kombinasi ciri FVG yang paling boleh diramalkan, seperti saiz lubang, kelajuan pembentukan, dan hubungan dengan sokongan / rintangan.
Penyesuaian parameterPembangunan mekanisme yang membolehkan strategi menyesuaikan parameternya secara automatik mengikut prestasi pasaran terkini, seperti memperluaskan ruang berhenti apabila turun naik turun naik.
Menambah pengurusan kedudukanStrategi semasa menggunakan kedudukan tetap ((10 unit), yang dapat ditingkatkan menjadi sistem pengurusan kedudukan dinamik berdasarkan turun naik dan risiko, meningkatkan kedudukan pada isyarat kepastian yang tinggi, mengurangkan pendedahan di pasaran yang tidak pasti.
Strategi jurang nilai saksama reverse trend confirmation dengan stop loss pengesanan dinamik adalah sistem perdagangan bertingkat yang menggabungkan secara organik analisis struktur harga (FVG dan IFVG), pengesanan trend (SMA) dan pengurusan risiko dinamik (ATR tracking stop loss). Kelebihan utama strategi ini adalah mekanisme pengesanan berganda dan pengurusan risiko penyesuaian, yang menyaring isyarat berkualiti rendah dengan berkesan dan melindungi keuntungan yang telah dicapai.
Walau bagaimanapun, strategi ini juga menghadapi cabaran seperti kebolehpercayaan FVG, batasan penentuan trend dan sensitiviti parameter. Arah pengoptimuman masa depan merangkumi integrasi analisis pelbagai kerangka masa, pengembangan mekanisme penangguhan dinamik, peningkatan kesesuaian dalam keadaan pasaran yang berbeza dan pengenalan teknologi pembelajaran mesin untuk mengoptimumkan kualiti isyarat dan pilihan parameter.
Dengan penambahbaikan ini, strategi ini mempunyai potensi untuk berkembang menjadi sistem perdagangan yang lebih stabil dan beradaptasi, yang mampu mengekalkan prestasi yang konsisten dalam pelbagai keadaan pasaran. Secara khusus, dengan meningkatkan daya tanggapnya terhadap perubahan struktur dan turun naik pasaran, strategi ini dapat menyesuaikan diri dengan lebih baik dengan keadaan pasaran yang berubah-ubah, meningkatkan keuntungan jangka panjang dan kestabilan pertumbuhan modal.
/*backtest
start: 2025-05-31 00:00:00
end: 2025-06-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
args: [["RunMode",1,358374]]
*/
//@version=6
strategy("Inverted FVG Strategy with Trend Check and Trailing Stops", default_qty_value = 10, overlay=true)
// Function to detect FVG
fvgDetected(src, high, low) =>
float prevHigh = na
float prevLow = na
float prevClose = na
float fvgHigh = na
float fvgLow = na
bool fvg = false
if (not na(src[3]))
prevHigh := high[3]
prevLow := low[3]
prevClose := src[3]
if (src[2] > prevClose and low[2] > prevHigh) or (src[2] < prevClose and high[2] < prevLow)
fvg := true
fvgHigh := low[2] > prevHigh ? high[2] : na
fvgLow := high[2] < prevLow ? low[2] : na
[fvg, fvgHigh, fvgLow]
// Detect FVG on the chart
[fvg, fvgHigh, fvgLow] = fvgDetected(close, high, low)
// Detect IFVG - Inversion of FVG
bool ifvg = false
float ifvgHigh = na
float ifvgLow = na
if (fvg)
if (high[1] > fvgHigh and close[1] > open[1]) or (high[1] < fvgLow and close[1] < open[1])
ifvg := true
ifvgHigh := close[1] > open[1] ? high[1] : na
ifvgLow := close[1] < open[1] ? low[1] : na
// Plot FVG and IFVG zones for visualization
plot(ifvgHigh, title="IFVG High", color=color.red, linewidth=2, style=plot.style_cross)
plot(ifvgLow, title="IFVG Low", color=color.red, linewidth=2, style=plot.style_cross)
// Trend Check using Simple Moving Averages
smaShort = ta.sma(close, 50) // Short term SMA
smaLong = ta.sma(close, 200) // Long term SMA
bool uptrend = false
bool downtrend = false
uptrend := smaShort > smaLong // Up trend if short SMA is above long SMA
downtrend := smaShort < smaLong // Down trend if short SMA is below long SMA
// Plot SMAs for visualization
plot(smaShort, title="SMA Short", color=color.blue, linewidth=1)
plot(smaLong, title="SMA Long", color=color.orange, linewidth=1)
// Trading logic with trend confirmation
longCondition = ifvg and close < ifvgLow and uptrend
shortCondition = ifvg and close > ifvgHigh and downtrend
// Risk Definition - 使用百分比
stopLoss = 0.005 // 0.5% 止损
takeProfit = 0.015 // 1.5% 止盈
if (longCondition and strategy.position_size == 0)
strategy.entry("Long", strategy.long)
stopPrice = close * (1 - stopLoss)
limitPrice = close * (1 + takeProfit)
strategy.exit("Initial Long Exit", "Long", stop=stopPrice, limit=limitPrice)
if (shortCondition and strategy.position_size == 0)
strategy.entry("Short", strategy.short)
stopPrice = close * (1 + stopLoss)
limitPrice = close * (1 - takeProfit)
strategy.exit("Initial Short Exit", "Short", stop=stopPrice, limit=limitPrice)
// ATR for dynamic trailing stop
atr = ta.atr(14)
// Trailing Stop for Long Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size > 0)
profitThreshold = takeProfit * 0.5 // 1.5% profit threshold
if (close - strategy.position_avg_price >= strategy.position_avg_price * profitThreshold)
// 将止损移动到盈亏平衡点加上一点利润
trailingStopLong = math.max(strategy.position_avg_price * (1 + profitThreshold), close - (atr * 2))
strategy.exit("Trailing Stop Long", "Long", stop=trailingStopLong)
// Trailing Stop for Short Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size < 0)
profitThreshold = takeProfit * 0.5 // 1.5% profit threshold
if (strategy.position_avg_price - close >= strategy.position_avg_price * profitThreshold)
// 将止损移动到盈亏平衡点加上一点利润
trailingStopShort = math.min(strategy.position_avg_price * (1 - profitThreshold), close + (atr * 2))
strategy.exit("Trailing Stop Short", "Short", stop=trailingStopShort)