ForexBestRobots.com比较 EA →
ZH

订单与交易管理 · 指南 1

外汇订单类型:MT4市价单、限价单与止损入场单

说明MT4四类挂单的Bid/Ask触发条件、到期时间,以及撤销订单和关闭持仓的区别。

核查日期:2026年10月22日
虚构Bid 1.1000 / Ask 1.1002周围的挂单位置:买单使用Ask,卖单使用Bid。
虚构Bid 1.1000 / Ask 1.1002周围的挂单位置:买单使用Ask,卖单使用Bid。

完整的入场规则必须说明指令如何变成持仓。当前价格上方的Buy Stop与下方的Buy Limit虽然都是买入,触发条件却不同。本文用虚构EURUSD报价依次说明提交、接受、触发和成交,不挑选事后盈利的案例。

1. 先分清两个报价和开平仓

Bid是可以卖出的价格,Ask是可以买入的价格。BUY以Ask开仓,再以Bid卖出平仓;SELL以Bid开仓,再以Ask买回平仓。实际成交仍取决于经纪商执行方式和可用报价。

MT4普通外汇K线通常显示Bid。因此,图表是否碰线不能单独证明Ask条件是否达到。开启Ask线可以观察当前点差,但当前线并不等于历史Ask K线。

参阅交易成本与可执行报价指南。

2. 市价单是即时执行请求

市价单请求立即执行,不代表预订了屏幕上的报价。发送时间、服务器答复、成交价格和拒单应分别记录。价格变化和重新报价如何处理,取决于执行模式。

假设Bid 1.1000、Ask 1.1002。BUY在1.1002成交后立即以未变的Bid 1.1000平仓,手续费前亏损2 pips。点差已经包含在这两个可交易价格中,再加入同一价差会重复计算。

3. 从交易条件出发选择订单

先判断是立即交易、等待回撤,还是突破某一价位后才入场。市价买入要求立即执行;Buy Limit等待更低的Ask;Buy Stop要求Ask先升至上方门槛。同一分析可能因此产生不同交易。限价单可能完全没有成交,止损入场单可能在假突破时成交。订单类型本身不会改善信号质量。

若要求下跌延续,放在Bid下方的Sell Stop先等待下跌;Bid上方的Sell Limit则等待反弹后做空。价格没有反弹就下跌,限价单未成交符合原指令。事后改成市价卖出,就变成另一套测试规则。应提前规定到期时间及错过入场后的处理方式。

4. 四类挂单分别使用正确报价

Buy Limit设在当前Ask下方,Ask下跌至该价触发;Buy Stop设在Ask上方,Ask上涨触发。Sell Limit设在当前Bid上方,Bid上涨触发;Sell Stop设在Bid下方,Bid下跌触发。还需满足经纪商最小距离要求。

在同一初始报价下,1.0980可示范Buy Limit或Sell Stop,1.1020可示范Buy Stop或Sell Limit。名称还决定方向:1.1020的Sell Limit用于建立空头,不是给已有BUY止盈。

上方是Buy Stop与Sell Limit,下方是Buy Limit与Sell Stop。同价位不代表指令等价,各自使用不同报价侧。
上方是Buy Stop与Sell Limit,下方是Buy Limit与Sell Stop。同价位不代表指令等价,各自使用不同报价侧。 窄屏下可横向滚动图示。

5. 并排比较六种入场指令

指令提交时的价格条件触发或入场报价侧
Market BUY立即买入Ask
Market SELL立即卖出Bid
Buy Limit低于当前AskAsk
Buy Stop高于当前AskAsk
Sell Limit高于当前BidBid
Sell Stop低于当前BidBid

6. 触发不等于保证成交价

1.1020的Buy Stop可能在Ask 1.1020、Bid 1.1018时触发,所以Bid图看起来仍未触线。如果Ask跳至1.1025,指定价与实际成交价就可能不同。

不要把交易所订单保障直接套用于所有零售外汇合同。应阅读跳空、滑点和价格改善条款。限价指令通常按合同限制可接受的入场价格,但OHLC回测中的碰线本身不能证明当时能够成交。

Bid为1.1018时Ask达到1.1020。跳至1.1025表示另一种成交情景,不是承诺的未来路径。
Bid为1.1018时Ask达到1.1020。跳至1.1025表示另一种成交情景,不是承诺的未来路径。 窄屏下可横向滚动图示。

7. Stop Loss和Take Profit用于退出

入场挂单成交后建立持仓;Stop Loss和Take Profit是附属退出指令。BUY的退出条件检查Bid,SELL检查Ask。通常BUY初始止损低于入场、目标高于入场;SELL方向相反。

服务器已接受的挂单和止损可以在终端关闭后继续有效。EA内部虚拟触发、EA退出或移动止损计算可能需要终端持续连接运行。图上画线不代表服务器已接受保护指令。

8. 跟踪SELL从入场到离场

假设Bid/Ask为1.1000/1.1002时,1.1020的Sell Limit已被接受。之后Bid达到1.1020、Ask为1.1022,满足以Bid判断的入场条件。若恰好在1.1020成交,止损1.1040、目标1.0980,则风险距离20 pip、目标距离40 pip。两种离场都用Ask判断。若立即以Ask 1.1022平仓,手续费前已亏2 pip。

若Bid降至1.0980而Ask仍为1.0982,Ask尚未触及目标。点差恒为2 pip时,Ask 1.0980对应Bid 1.0978。反过来,即使Bid最高价低于1.1040,Ask也可能触及空单止损。这些只是报价侧示例,并非成交保证;实际进出价格须核对账户记录。

跟踪SELL从入场到离场: SELL 1.1020; SL Ask 1.1040; TP Ask 1.0980.
跟踪SELL从入场到离场: SELL 1.1020; SL Ask 1.1040; TP Ask 1.0980. 窄屏下可横向滚动图示。

9. 检查距离、精度、手数与到期

检查报价位数、可交易最小跳动、最小手数及手数步长、交易时段与权限。pip、point和tick并不相同。本例五位EURUSD中,1 pip = 0.0001,1 point = 0.00001,2 pips = 20 points。

StopLevel限制距离,FreezeLevel可能限制临近市场的修改或撤销。StopLevel为零也可能存在动态服务器限制。有些服务器拒绝到期设置。应记录服务器时间,不要把被拒绝的到期请求悄悄改成无限期订单。

10. 用确认后的状态管理订单

基本顺序为准备请求 → 已接受挂单 → 已成交持仓 → 已平仓。拒绝、到期和撤销是独立分支。成交前撤销挂单可阻止该笔入场,已有持仓则需要平仓交易。撤单与成交可能发生竞争。

EA应保留订单号、品种、Magic Number、请求数量、确认状态和真实成交价。超时后先查服务器再重试:答复不明不证明失败,盲目重发可能重复建立风险。每次模糊答复后都要核对持仓。

已接受挂单可能成交、撤销或到期。撤单请求需要确认,不能假定撤单一定早于成交。
已接受挂单可能成交、撤销或到期。撤单请求需要确认,不能假定撤单一定早于成交。 窄屏下可横向滚动图示。

11. 在模拟账户走完完整订单流程

在新订单窗口选择准确的交易品种,设定手数前查看合约规格。挂单入场需选择挂单及正确子类型,再填写价格、止损、目标和服务器支持的到期时间。提交前一起检查;改变子类型可能改变价格应处于市场哪一侧。

提交后在交易标签核对服务器接受的挂单编号及保护设置。若被拒绝,保留原因,不要悄悄改为市价单。触发后核对实际成交价格和手数;平仓后核对账户历史与费用。模拟账户适合学习流程,但不能证明真实成交质量。

标准MT4中的两个相反方向挂单不会自动构成OCO组合。即便EA在一单成交后撤销另一单,撤单确认前两单仍可能同时触发。必须测试这一竞态、断线恢复及重复响应。删除图表线或停止EA,并不会删除服务器已经接受的挂单。

12. 先审计指令,再评估策略

事先写明报价侧、触发价、到期、可接受入场偏离、止损、数量与拒单处理。提交时符合点差过滤,不保证稍后触发时仍符合。除非成功撤销或修改,服务器挂单不会自动继承EA的新过滤条件。

用带时间戳的报价和账户记录验证。一根K线穿过入场、止损和目标,未必说明先后顺序。使用合适tick数据或明确的保守歧义规则,同时统计拒单、撤单和错过的入场。成交更快、成交率更高均不能证明盈利。

常见问题

Buy Stop与Stop Loss相同吗?

不同。Buy Stop是在当前Ask上方买入的入场挂单;Stop Loss是持仓的退出指令。平空仓也需要买入,但用途和订单关系不同。

为什么图表还没碰线就触发了?

Ask条件可能先于Bid碰线成立。检查历史点差、订单种类与服务器时间记录。当前Ask线不能重建过去的Ask路径。

挂单后能关闭MT4吗?

服务器已接受的挂单通常继续有效。虚拟订单、本地撤单逻辑和移动止损更新需要各自的运行环境。依赖指令前应确认接受状态及合同条款。

来源与适用范围

MetaQuotes资料用于核对平台机制与限制。报价、流程例子与审计清单为原创教学构造,具体执行以经纪商合同为准,本文不证明策略具有交易优势。

虚构教学示例,不保证成交或交易结果。