ForexBestRobots.com比较 EA →
ZH

SMC价格区域 · 策略1

外汇Fair Value Gap策略:三根K线区域与首次回踩确认

可检验的FVG外汇策略:三根已收盘K线区域、明确位移、首次返回确认、固定期限、BUY/SELL规则、执行成本及仓位计算。

阅读约18分钟由 ForexBestRobots 编辑团队审查
本文FVG指已收盘三根K线中第一根与第三根的价格范围不重叠。这不证明没有成交、存在机构订单或价格必然返回。规则固定区域,只在之后首次返回的当根K线上确认。图示与结果均为假设。
第三根收盘 → 固定区域 → 仅检验之后的首次返回。

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指南与流动性扫单指南描述不同条件,本策略没有暗加结构突破或扫单过滤。

已收盘c−2、c−1、c构成的看涨BUY与看跌SELL FVG示意图。BUY以第一根最高价确定ZL,第三根最低价确定ZU;SELL使用第三根最高价和第一根最低价。中间K线跨越阴影带,阴影不表示没有报价或成交。只有c收盘才知道区域。未画未来返回、入场或成功结果。包括阿拉伯语在内,时间均从左向右。
已收盘c−2、c−1、c构成的看涨BUY与看跌SELL FVG示意图。BUY以第一根最高价确定ZL,第三根最低价确定ZU;SELL使用第三根最高价和第一根最低价。中间K线跨越阴影带,阴影不表示没有报价或成交。只有c收盘才知道区域。未画未来返回、入场或成功结果。包括阿拉伯语在内,时间均从左向右。屏幕较窄时,请横向滚动图示。

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。向上取整会超过预算。

计算项目声明值含义
信号阈值G1.10420区域上端加收盘缓冲
固定止损S1.10260区域下端减保护缓冲
价格目标T1.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,净现金比则更低。本例假设无隔夜费用及额外成交偏差。目标和止损都不保证成交价,计算也不是回报预测。

USD账户中EURUSD看涨FVG BUY的虚构示例,pip大小为0.0001。假定Ask入场及实际成交E 1.10550、固定止损S 1.10260、目标T 1.11130,则向下至止损为29 pips,向上至目标为58 pips。假设每1手的pip价值为USD 10,每手往返佣金USD 7,每种结果的总不利滑点预留为2 pips,则每手模型损失为USD 317。预算USD 50、手数步长0.01,可取0.15手,模型损失USD 47.55,目标处模型净收益USD 82.95。这些是有条件的计算,不是成交保证、最大损失或预期回报。
USD账户中EURUSD看涨FVG BUY的虚构示例,pip大小为0.0001。假定Ask入场及实际成交E 1.10550、固定止损S 1.10260、目标T 1.11130,则向下至止损为29 pips,向上至目标为58 pips。假设每1手的pip价值为USD 10,每手往返佣金USD 7,每种结果的总不利滑点预留为2 pips,则每手模型损失为USD 317。预算USD 50、手数步长0.01,可取0.15手,模型损失USD 47.55,目标处模型净收益USD 82.95。这些是有条件的计算,不是成交保证、最大损失或预期回报。屏幕较窄时,请横向滚动图示。

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

仅在K线开始时空仓且无候选,才识别合格已收盘三根K线区域。固定ZL、ZU、S。在之后12根已收盘K线中,先查时间缺口和止损侧失效。首次返回即消耗区域,即使开盘或收盘确认失败也不重用。只有当根确认通过,才检查首个后续报价、经纪商限制与现金风险。失败后不得重试同一区域的回踩或报价。实际成交与取消区域分别记录。
仅在K线开始时空仓且无候选,才识别合格已收盘三根K线区域。固定ZL、ZU、S。在之后12根已收盘K线中,先查时间缺口和止损侧失效。首次返回即消耗区域,即使开盘或收盘确认失败也不重用。只有当根确认通过,才检查首个后续报价、经纪商限制与现金风险。失败后不得重试同一区域的回踩或报价。实际成交与取消区域分别记录。屏幕较窄时,请横向滚动图示。

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。仅使用几何名称,不推断隐藏订单或成交缺失。过滤、期限、首次返回确认、执行和实例为自编教育规则,不是来源规定或验证的参数。

外汇及杠杆交易风险重大。本文用于学习,不构成投资建议。确认规则、止损和成本预留不能保证成交、限定损失或利润。所有价格、图示与数值结果均为虚构的条件示例。