Fair Value Gap简称FVG,必须先有可操作定义才能检验。阴影区不能说明谁成交、流动性缺失或返回有利可图。本策略以已收盘三根K线建立固定区域,只允许之后首次返回触发交易。K线图指南解释OHLC及报价侧。所有阈值都是声明的研究选择,并非已验证设置或当前交易建议。
1. 区分三根K线条件与实际报价缺口
看涨FVG要求第三根最低价严格高于第一根最高价,看跌反向。中间K线可能交易整个区间。因此外侧两根OHLC不重叠,不代表区间没有报价或成交,也不能识别银行订单、衡量基本面公允价值或保证价格返回。更窄的研究假设是:首次返回后出现规定收盘拒绝,能否作为延续入场检验。
使用一个已声明数据源的普通EURUSD H1 Bid K线,并以对应的历史Bid/Ask报价检查执行。本规则的pip大小为0.0001。索引随时间递增;O、H、L、C分别表示开盘、最高、最低、收盘。识别只使用已收盘K线。MT4时间序列shift方向相反:shift 0尚未完成,shift 1是最近已收盘K线。应用公式前必须明确转换索引。
从c−2开始,经过形成与等待窗口,要求每小时时间戳连续。包括周末在内的时间缺口取消候选,不把旧区域带入重新开市。新形成必须具备缺口后的全部必要观测。记录数据源、服务器时区、合约及排除项。缺失不能编造。FVG可在没有缺失小时K线时形成,而缺失K线本身不是FVG信号。执行和Ask侧检查仍需历史Bid/Ask报价。
2. 第三根收盘后才识别
c为最近已收盘三根窗口中的第三根。BUY要求L[c]严格大于H[c−2],设ZL = H[c−2]、ZU = L[c]。SELL要求H[c]严格小于L[c−2],设ZL = H[c]、ZU = L[c−2]。相等不成区域。两边界都是Bid价格。宽度ZU−ZL须为4至30 pips,含两端。形成中的第三根不能确定有效区域或历史入场。
中间K线c−1的最高至最低范围必须为正。绝对实体至少20 pips,且至少为范围的0.60,均含边界。BUY要求C[c−1]高于O[c−1]并严格高于H[c−2]加2 pips;SELL要求C[c−1]低于O[c−1]并严格低于L[c−2]减2 pips。这是本实验的位移定义,不是订单流测量或机构活动证明。
另要求C[c]在BUY严格高于ZU,在SELL严格低于ZL,使第三根收盘处于预定接近侧。此时固定区域、方向与标识c。识别不需要摆动转折点或未来K线。BOS/CHoCH指南与流动性扫单指南描述不同条件,本策略没有暗加结构突破或扫单过滤。
3. 仅保留一个候选并固定边界
只有该K线开始时空仓且没有有效候选,才在收盘建立候选。已有候选则先处理,忽略该根新形成,即使旧候选到期、失败或发信号也一样。持仓中不激活或排队新区域。平仓后等后续K线收盘再检查新窗口。这避免用更好看的后来区域替换不利旧区域。
保持ZL和ZU不变。不因部分穿入缩小区域,不合并重叠区域,不选择中点入场,也不重新采用曾忽略区域。固定保护价S,BUY为ZL减2 pips,SELL为ZU加2 pips。这是价格基准,不是成交保证。取消后不恢复;后来候选必须有自己的新收盘第三根且满足全部条件。
4. 定义到期与首次返回
仅c+1至c+12可提供返回,含两端,c不可。每根等待K线收盘先检查时间缺口、BUY的Bid最低价小于等于S、SELL的Ask最高价大于等于S,任一则取消。失效优先于同根的漂亮收盘。c+12收盘仍无返回则到期。c+12返回在其他条件全通过时可用,c+13太晚。
首次BUY返回为首根Bid最低价小于等于ZU的合格K线;SELL为首根Bid最高价大于等于ZL的K线。相等也算返回。首次返回即标记区域已使用,即使后续确认失败。开在区域内部或跳越区域的K线不保留重试。穿越全区域达到S可失效,填满阴影带不意味着自动交易。
5. BUY:首次返回必须当根确认
取消检查后,首次BUY返回K线t的Bid开盘O[t]须严格高于ZU,C[t]高于O[t],Bid收盘C[t]严格高于ZU加2 pips。最低价须严格高于S。固定门槛G = ZU加2 pips。收盘等于G或仅影线越过都不够。任一失败则已用区域结束,不入场,不等第二根确认或后来返回。
仅检查信号收盘后的首个Bid/Ask报价,必须在60秒内到达。当前Bid仍严格高于G,点差不超过1.5 pips,Ask减信号Bid收盘不超过5 pips。Ask更低可以接受,但其他检查须全部通过。迟到、缺失、过贵或无效即放弃并记录原因。后续报价、第二次收盘或回测边界均不能恢复同一序列。
6. SELL:镜像形态,区分执行侧
首次SELL返回K线t的Bid开盘O[t]须严格低于ZL,C[t]严格低于O[t],Bid收盘C[t]严格低于ZL减2 pips。Ask最高价严格低于S。G为ZL减2 pips。首次返回失败即消耗,不等新K线。60秒内首个后续报价的Bid仍严格低于G,点差不超过1.5 pips,信号收盘减Bid不超过5 pips。更好Bid在G以下也可通过;首次报价失败结束机会。
SELL按Bid开仓、Ask平仓,BUY按Ask开仓、Bid平仓。区域识别和返回触发使用Bid K线,SELL保护及入场前失效要求历史Ask最高价。这是刻意区分的检查。不得将收盘点差加到Bid最高价来估计历史Ask最高价。缺少必要数据则无法验证。本规则不在区域内挂限价单,也不交易区域失败的反向突破;突破策略为另一套规则。
7. 成交前后检查可执行性
按可用入场报价,要求到S的正距离在8至60 pips之间,包含两端。检查价格tick对齐、最小及最大手数、手数步长、保证金、交易许可、佣金和经纪商止损限制。未知或失败条件意味着放弃,不为满足经纪商而移动S。公布的最小止损距离为零,不代表任何止损请求都会获批。入场信号和订单请求并非实际成交证明。
使用该报价及已声明成本计算仓位。记录实际成交E,保持S不变,以E复核距离与现金预算。若成交突破限制,或保护单无法建立,应按可用报价请求立即平仓,并将真实交易、成本和原因保留在结果中。不得将已成交的失败重新归为跳过。即使形态识别正确,延迟、拒单和紧急平仓仍属于执行风险。
8. 固定退出并用账户币种计算仓位
BUY价格风险为E−S,T为E加两倍距离;SELL风险为S−E,T为E减两倍距离。目标依据实际成交至止损距离,不是FVG宽度、中点或填补另一区域的承诺。BUY按Bid退出,SELL按Ask退出。S和T固定,无追踪或保本移动。若均未触及,在12根H1已收盘后,入场所在K线算第一根,以首个后续真实报价请求退出。
示例预算为当前账户净值的0.5%,本规则最多同时持有一个仓位。现金预算除以每手预估损失,后者包括价格距离、往返佣金及总不利滑点预留。按允许的手数步长向下取整;低于最小手数就放弃。预留不保证最大损失,跳空和执行故障可能超出它。与其他系统的组合敞口应另按风险管理指南评估。
pip、平台point和最小tick是不同单位。用真实合约与账户币种计算pip或tick货币价值,并将价格距离和tick大小转换为一致的价格单位。point数值在与价格距离结合前需要换算。每pip USD 10并非通用值。正确的Ask/Bid开平仓已体现点差,不要重复添加。适用时加入隔夜费用。pip指南与仓位计算指南说明这些换算。
9. BUY实例:形成、首次返回与成交
假设形成于c = 22完成。K线20最高价1.10280。中间21开盘1.10200、最低1.10180、最高1.10480、收盘1.10450。25 pips实体超过30 pips范围的0.60,收盘越过第一高点所需缓冲。K线22最低1.10400,收盘1.10470。固定区域ZL = 1.10280至ZU = 1.10400,宽12 pips。中间K线跨越区域,不主张这里没有成交。
K线23的Bid最低1.10420、收盘1.10460,尚未返回。首次返回t = 24,Bid开盘1.10460、最低1.10340、最高1.10560、收盘1.10530。最低价进入区域但高于S = 1.10260,阳线严格收于G = 1.10420之上。首个报价在2秒后:Bid 1.10540、Ask 1.10550,点差1 pip,不利追价2 pips。假设保护获批,实际成交E = 1.10550。信号收盘本身不是可执行历史入场价。
固定止损在E下方29 pips,T = 1.11130在上方58 pips。USD 10000账户的0.5%预算为USD 50。假设每1手的pip价值为USD 10,每手往返佣金USD 7,每种替代结果的总不利滑点预留为2 pips。每手模型损失为USD 317。按0.01步长向下取整得到0.15手,模型损失USD 47.55。向上取整会超过预算。
| 计算项目 | 声明值 | 含义 |
|---|---|---|
| 信号阈值G | 1.10420 | 区域上端加收盘缓冲 |
| 固定止损S | 1.10260 | 区域下端减保护缓冲 |
| 价格目标T | 1.11130 | 实际入场至止损距离的两倍 |
| 现金预算 | USD 50 | 净值乘以风险比例 |
| 每手模型损失 | USD 317 | 价格距离加佣金与预留 |
| 取整后仓位 | 0.15 lot | 向下取整,不向上增加风险 |
| 模型损失 | USD 47.55 | 条件预留,不是损失上限 |
| 目标处模型净收益 | USD 82.95 | 条件结果,不是预测 |
在T处,价格毛收益为USD 87.00。减去佣金USD 1.05、滑点预留USD 3.00,模型净收益为USD 82.95。预留在每种替代结果中各使用一次,不在同一交易中重复使用。价格距离比为2,净现金比则更低。本例假设无隔夜费用及额外成交偏差。目标和止损都不保证成交价,计算也不是回报预测。
10. 测试完整顺序并保留所有排除
按时间重放K线与报价。保存三根形成时间、c、方向、中央实体和范围检查、固定ZL/ZU/S、到期、首次返回、取消或确认失败原因、收盘、首个后续报价、订单请求、实际成交、数量、成本和退出。也记录忽略形成以复现优先级。完成图不能证明区域当时可用或已用。方程只是参考,不是完整EA或订单管理程序。
保留形成失败、失效/到期候选、首次返回失败、不良报价与经纪商限制。不因后次回踩获胜而删除。用历史Bid/Ask判断止损目标顺序。若两退出同处一根OHLC且顺序未知,标记歧义并另报止损先发生的保守敏感性,不挑有利顺序。入场前取消区域不是已成交亏损交易,两组分别报告。
评估未使用期间前固定规则。报告所有参数版本、候选数、排除、报价失败、紧急平仓和完成交易,以及净期望、回撤、换手、样本不确定性。测试邻近容差和不同数据源,不只保留赢家。回测指南与执行成本指南解释相关限制。本文不提供绩效研究或已证明优势。
常见错误:c收盘前画区域,称中间K线交易范围为空白市场,穿入后移动边界,首次失败后用第二次回踩,忽略Ask,以过去收盘买入,重试失败报价。区域可能不被再访、首次接触失败或信号后遭遇不利执行。缺口、消息和相关持仓可能超预算。漂亮FVG图与双倍目标不证明盈利。
可选:区域、返回及仓位公式
buy_zone: ZL = H[c-2]; ZU = L[c]; require L[c] > H[c-2]
sell_zone: ZL = H[c]; ZU = L[c-2]; require H[c] < L[c-2]
4*pip <= ZU-ZL <= 30*pip
body = abs(C[c-1]-O[c-1]); range = H[c-1]-L[c-1]; body >= 20*pip and body >= 0.60*range
zone_known_at = close_time[c]; eligible_return_bars = [c+1, c+12]
buy_first_return: L_Bid[t] <= ZU; sell_first_return: H_Bid[t] >= ZL
buy_confirm: O[t] > ZU and C[t] > O[t] and C[t] > ZU+2*pip and L_Bid[t] > S
buy_stop = ZL-2*pip; sell_stop = ZU+2*pip
buy_target = E + 2*(E-S); sell_target = E - 2*(S-E)
cash_budget = equity * 0.005
loss_per_lot = stop_pips * pip_value_per_lot + commission_per_lot + slippage_pips * pip_value_per_lot
lots = floor((cash_budget / loss_per_lot) / lot_step) * lot_step
11. Fair Value Gap策略常见问题
FVG能证明区域内没有交易吗?
不能。检测比较第一与第三根。中间K线可能跨越全带,OHLC无法重建成交顺序和参与者。Fair Value Gap在此是图表名称,不是基本面公允价值或机构未成交订单证明。
必须填满整个区域才能入场吗?
不必。首次返回始于近侧边界,其当根须满足开盘、止损侧和收盘条件。部分穿入可能合格,触及止损基准则取消。不假设中点或仅触碰订单;后续可执行报价仍需通过成本与风险检查。
第二次回踩能挽救首次失败吗?
不能。首次返回即消耗候选,确认失败也一样。这样可复现,而非事后挑选胜者。新机会必须是按优先级新近收盘的合格形成,不能重用被忽略或失败的旧区域。
这是Order Block或Breaker Block策略吗?
不是。本形成用外侧非重叠与明确中央位移。Order Block需有建立来源K线区域的独立规则;Breaker Block还需既有区域及后续失效。阴影相似不使检测互换。本文不提供它们的绩效验证。
12. 一手资料与规则范围
一手资料:FXOpen关于三根K线FVG边界及返回不获保证的实务说明;MetaQuotes的时间序列索引、品种、tick与交易量属性及市价订单与止损限制。核查2026-10-19。仅使用几何名称,不推断隐藏订单或成交缺失。过滤、期限、首次返回确认、执行和实例为自编教育规则,不是来源规定或验证的参数。
外汇及杠杆交易风险重大。本文用于学习,不构成投资建议。确认规则、止损和成本预留不能保证成交、限定损失或利润。所有价格、图示与数值结果均为虚构的条件示例。