
Đây là một chiến lược theo dõi xu hướng rất đơn giản. Nó sẽ làm nhiều hơn khi có sự chênh lệch giá trị công bằng đa đầu, và nó sẽ đóng cửa hoặc đóng cửa khi có sự chênh lệch giá trị công bằng đầu không.
Lý luận cốt lõi của chiến lược này là nhận diện các hình thức chênh lệch giá trị công bằng. Cái gọi là chênh lệch giá trị công bằng là khi giá cao nhất trong ngày thấp hơn giá thấp nhất trong ngày trước, hoặc giá thấp nhất trong ngày cao hơn giá cao nhất trong ngày trước, sẽ tạo ra một khoảng cách phá vỡ bốc đồng. Điều này thường báo hiệu một sự đảo ngược xu hướng có thể xảy ra.
Ở đây, hai lag được sử dụng, tức là giá cao thấp của hai đường K trước để đánh giá chênh lệch giá trị công bằng, để tránh bị ảnh hưởng bởi đột phá giả hoặc điều chỉnh lại ngắn hạn, cải thiện độ tin cậy của phán đoán hình dạng và chất lượng tín hiệu.
Chiến lược này xác định sự khác biệt giá trị công bằng để phán đoán xu hướng có thể đảo ngược, thuộc chiến lược theo dõi xu hướng cơ bản. Ưu điểm là thời gian quay ngược xu hướng là chính xác hơn, nhưng cũng có một tỷ lệ báo cáo sai.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
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/
// © Greg_007
//@version=5
strategy("Fair Value Gap Strategy", "FVG Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding = 1)
var longOnly = input.bool(false, "Take only long trades?")
var pyramid = input.bool(false, "Since this can generate a lot of trades, make sure to fill in the commission (if applicable) for a realistic ROI.", group = "REMINDERS")
var pyramid2 = input.bool(false, "Modify pyramiding orders to increase the amount of trades.", group = "REMINDERS")
var bearFVG = false
var bullFVG = false
var plotBull = false
var plotBear = false
var bearTrend = false
var bullTrend = false
//BEARISH FVG
if high < low[2] and close[1] < low[2]
bullFVG := false
bearFVG := true
plotBear := true
if not longOnly
strategy.entry("Short", strategy.short)
else
strategy.close_all()
else
//BULLISH FVG
if low > high[2] and close[1] > high[2]
bullFVG := true
bearFVG := false
plotBull := true
strategy.entry("Long", strategy.long)
// plotshape(plotBull, style=shape.labeldown, location=location.abovebar, color=color.green, text="FVG",textcolor=color.white, size=size.tiny, title="Bull FVG", display=display.all - display.status_line)
// plotshape(plotBear, style=shape.labelup, location=location.belowbar, color=color.red, text="FVG",textcolor=color.white, size=size.tiny, title="Bear FVG", display=display.all - display.status_line)
// //reset the status
// plotBull := false
// plotBear := false