逆公允价值缺口(IFVG)交易策略(基础篇)
📘

逆公允价值缺口(IFVG)交易策略(基础篇)

第 1/3 篇

◍ 逆公允价值缺口的 MT5 实战起点

逆公允价值缺口(IFVG)是价格行为里一种反直觉的介入逻辑:当一段原本被视作公允的缺口被价格反向回补并站回,原缺口方向失效,反向结构反而成了高概率触发区。在 MT5 上跑这套,不需要额外指标,纯 K 线结构即可识别。

  • 年 10 月 10 日发布的示例帖在 06:54 挂出,截至统计节点获得 1524 次查看、0 条评论,说明这类裸 K 策略在中文交易圈仍属低讨论度的高信息差内容。外汇与贵金属品种波动剧烈,用 IFVG 抄反手务必先在小周期验证流动性是否真实回补,高风险品种建议仅用微型手数试单。

开 MT5 调出任意货币对 15 分钟图,把近期三根 K 线组成的缺口标出,等待价格反向收线吞没缺口中线,这就是 IFVG 的雏形观察点。

价格无视缺口时市场在暗示什么

当报价回踩到先前划定的公允价值缺口(FVG)区域,却没有出现应有的支撑或阻力反应,反而直接穿过,这种走势在价格行为里被定义为逆公允价值缺口(IFVG)。它不是一个新指标,而是对原 FVG 失效现象的命名。 这种“无视”往往出现在趋势末端或流动性扫单之后,意味着原方向的多空平衡被打破,方向转换的概率上升。对 MT5 交易者来说,它给出的是一个反向介入的参考位,而非确认信号。 外汇与贵金属杠杆高、滑点大,IFVG 失效也常见,任何反向单都必须带止损。下文会拆我写的量化判定逻辑,以及怎么塞进 EA 里跑。

「从FVG失效里抠反转机会」

标准公允价值缺口(FVG)看三根K线:上涨中若K线C的最低价高于K线A的最高价,两者之间的空白就是FVG,代表机构订单流造成的价格失衡。传统思路是等价格回补缺口,再顺着原方向做。 逆公允价值缺口(IFVG)反着用:先找一个看涨FVG,等价格回到缺口区,却不把它当支撑。若价格没往上启动,反而直接穿过缺口,说明大单可能已撤或成交完,原方向动能衰竭。 具体识别看跌IFVG就三步:确认看涨FVG → 价格回碰缺口 → 穿破且无强劲反弹,此时做空,赌市场没法把缺口当跳板继续涨。外汇和贵金属波动大,这种穿破失败只是倾向反转,必须配合止损。 传统FVG依赖回补后延续趋势,但动态市场里不是每个缺口都恢复趋势。IFVG专门抓“正常策略失效”的瞬间,把本来会亏的设置转成反向高概率交易,属于工具箱里的附加项而非必胜法。

◍ 把IFVG主观规则压成可跑的EA骨架

IFVG若不加筛选地全量交易,表现大概率趋近随机漫步——多数缺口不满足战略逻辑。作者用特征测试把主观标准量化成七条硬规则:顺400周期均线定宏观方向;只在1~5分钟周期找‘订单填补’,本文取3分钟;只认最近一个FVG;缺口相对周边K线不能过大过小,过大常是新闻引起的延迟反转;突破K线不能过大以免信号滞后;FVG形成后限定时间内价格必须回缺口并反向下破收盘;突破需与先前拒绝位共振代表强度增加。 代码层面先铺全局变量:previousGapHigh/Low 与 LastGapIndex 跟踪最近缺口,handleMa 存均线句柄,buypos/sellpos 记持仓单号,currentFVGstatus/newFVGformed 标记状态。以下片段是全局声明与订单号捕获的起点,可直接贴进MT5看变量结构。 OnTradeTransaction 只在订单新增时把对应magic的买/卖单号写进 buypos/sellpos,这是‘同刻只做一单’的前提。executeSell 开头先卡 IsWithinTradingHours(),说明时间过滤嵌在交易函数里而非OnTick主流程。 整策略在OnTick头部判断新Bar才往下跑,省算力;getFVG()每根新柱调用,有效且异于上次才更新全局并画图。外汇与贵金属杠杆高,这套规则仅降低随机性,实盘仍可能连续止损,需先在策略测试器跑历史验证。

MQL5 / C++
class="type">class="kw">string previousGapObjName = "";
class="type">class="kw">double previousGapHigh = class="num">0.0;
class="type">class="kw">double previousGapLow = class="num">0.0;
class="type">int LastGapIndex = class="num">0;
class="type">class="kw">double gapHigh = class="num">0.0;
class="type">class="kw">double gapLow = class="num">0.0;
class="type">class="kw">double gap = class="num">0.0;
class="type">class="kw">double lott= class="num">0.1;
class="type">class="kw">ulong buypos = class="num">0, sellpos = class="num">0;
class="type">class="kw">double anyGap = class="num">0.0;
class="type">class="kw">double anyGapHigh = class="num">0.0;
class="type">class="kw">double anyGapLow = class="num">0.0;
class="type">int barsTotal = class="num">0;
class="type">int newFVGformed = class="num">0;
class="type">int currentFVGstatus = class="num">0;
class="type">int handleMa;
class="macro">#include <Trade/Trade.mqh>
CTrade trade;
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//|     Store order ticket number into buypos/sellpos variables        |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">void OnTradeTransaction(const MqlTradeTransaction& trans, const class="type">MqlTradeRequest& request, const class="type">MqlTradeResult& result) {
    if (trans.type == TRADE_TRANSACTION_ORDER_ADD) {
        COrderInfo order;
        if (order.Select(trans.order)) {
            if (order.Magic() == Magic) {
                if (order.OrderType() == ORDER_TYPE_BUY) {
                    buypos = order.Ticket();
                } else if (order.OrderType() == ORDER_TYPE_SELL) {
                    sellpos = order.Ticket();
                }
            }
        }
    }
}
class=class="str">"cmt">//+------------------------------------------------------------------+
class=class="str">"cmt">//| Execute sell trade function                                      |
class=class="str">"cmt">//+------------------------------------------------------------------+
class="type">void executeSell() {
    if (IsWithinTradingHours()){

常见问题

先看一段单边K线后出现的普通FVG,若价格之后重新插回缺口并收盘站稳另一侧,原FVG即转为IFVG;用一根水平线标出被吞没的失衡区即可。
可能是。价格无视缺口支撑说明原动量失效,若随后在缺口另一侧形成止跌结构,倾向视为IFVG反转信号,概率上优于直接追破。
可以。小布盯盘的AIGC已内置IFVG识别,打开对应品种页即可看到缺口被逆穿的标记与预警,省去手动画线。
先锁两条:缺口K线实体范围、价格收盘越过缺口另一侧;其余过滤项留参数,避免过拟合。外汇贵金属波动大,先跑模拟验证。
黄金隔夜跳空与瞬时扫单多,IFVG易被噪音逆穿。建议加滑点容差与时段过滤,并认知贵金属高风险,仓位减半测试。