> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eaquan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MT5 点数与报价详解：Point、Pip 与 5 位报价精度全指南

> 掌握 MT5 中 Bid/Ask 报价的读取方式，深入理解 Point 与 Pip 的区别、5 位报价精度的含义，以及在 EA 中正确换算止损止盈距离的方法。

当你第一次打开交易平台的报价窗口，映入眼帘的是一串不断跳动的数字——这些就是市场实时报价。但你可能很快就会产生疑问：价格后面到底有几位小数？「点数」和「Pip」是同一回事吗？EA 里设置止损 50 点，实际是多少钱？这篇文章将帮你彻底理清 MT4/MT5 中报价与点数的逻辑，为你后续的 EA 开发和手动交易打下坚实基础。

## 报价怎么看

MT4/MT5 的报价窗口（市场报价）默认展示每个品种的 **Bid（卖出价）** 和 **Ask（买入价）**。两者之间的差值就是**点差（Spread）**，这是经纪商的主要收入来源之一。

<CardGroup cols={2}>
  <Card title="Bid（卖出价）" icon="arrow-down">
    你以此价格**卖出**（做空开仓或平多仓）。通常是两个报价中**较低**的那个。
  </Card>

  <Card title="Ask（买入价）" icon="arrow-up">
    你以此价格**买入**（做多开仓或平空仓）。通常是两个报价中**较高**的那个。
  </Card>
</CardGroup>

**4 位报价 vs 5 位报价：**

| 报价类型  | 示例（EURUSD） | 小数位数     |
| ----- | ---------- | -------- |
| 4 位报价 | 1.1000     | 小数点后 4 位 |
| 5 位报价 | 1.10000    | 小数点后 5 位 |

目前绝大多数 MT4/MT5 经纪商使用 **5 位报价**（也称「精准报价」），最后一位（第 5 位小数）被称为「分点」，精度是传统 4 位报价的 10 倍。

## 什么是点数（Point）

在 MT4/MT5 中，**Point（点）** 是价格报价的小数点最后一位的 1 个单位。
（注意：Point 是价格显示的最小精度，而价格实际变动的最小步长称为 Tick Size。在很多外汇品种中 1 Tick Size = 1 Point，但在某些股指或加密货币中，Tick Size 可能是 5 Points 或 10 Points，即价格只能以 5 或 10 的倍数跳动。）

* 对于 5 位报价经纪商（EURUSD）：**1 Point = 0.00001**
* 对于 4 位报价经纪商（EURUSD）：**1 Point = 0.0001**

你可以在平台的品种规格窗口中找到「点值（Point Size）」字段来确认当前经纪商的精度。

<Info>
  在 MQL4/MQL5 代码中，`_Point` 是一个内置变量，代表当前品种的最小价格变动单位。编写 EA 时，止损/止盈的距离通常用 `n * _Point` 来表示。
</Info>

## Pip 与 Point 的区别

「Pip」是外汇交易中的传统计量单位，历史上对应 4 位报价的最小变动。进入 5 位报价时代后，Pip 与 Point 出现了区别：

| 经纪商类型 | 1 Pip 等于多少 Point      | EURUSD 1 Pip 示例 |
| ----- | --------------------- | --------------- |
| 4 位报价 | 1 Pip = **1 Point**   | 0.0001          |
| 5 位报价 | 1 Pip = **10 Points** | 0.00010         |

<Warning>
  在编写 EA 时，如果你直接填写「止损 = 50」，在 5 位报价经纪商上实际只有 **5 个 Pip** 的止损距离，而不是 50 个 Pip。务必根据经纪商报价位数来换算参数值。
</Warning>

以下是一个直观的对比示例：

```
价格从 1.10000 → 1.10010

变动了多少 Point？→ 10 个 Point（0.00010）
变动了多少 Pip？  → 1 个 Pip（0.0001）
```

<Info>
  在 EA 参数里设置止损/止盈时，通常以 Point 为单位，要注意区分经纪商是 4 位还是 5 位报价。建议在 EA 中加入自动检测逻辑：`if(_Digits == 5 || _Digits == 3) pipSize = 10 * _Point;`
</Info>

## 不同品种的点数

Point 的实际含义因品种而异，不同资产类别的小数位数各不相同：

| 品种       | 典型报价示例   | 1 Point 大小 | 备注         |
| -------- | -------- | ---------- | ---------- |
| EURUSD   | 1.10000  | 0.00001    | 5 位外汇对     |
| USDJPY   | 151.000  | 0.001      | 日元对，3 位小数  |
| XAUUSD   | 2000.00  | 0.01       | 黄金，2 位小数   |
| US30（道指） | 39000.0  | 0.1        | 指数，1 位小数   |
| BTCUSD   | 65000.00 | 0.01       | 加密货币，2 位小数 |

## 点值计算

知道了 Point 的大小，接下来要了解每个 Point 对应多少钱——即**点值（Point Value）**：

<Steps>
  <Step title="确认合约规模">
    从品种规格中查看合约规模，例如 EURUSD 为 100,000 单位/手。
  </Step>

  <Step title="确认计价货币">
    EURUSD 的盈亏以 **USD** 计算；USDJPY 的盈亏以 **JPY** 计算（需换算）。
  </Step>

  <Step title="套用公式">
    ```text theme={null}
    点值（每手）= 合约规模 × Point 大小
    ```

    **EURUSD 示例（1 手）：**\
    点值 = 100,000 × 0.00001 × 1 = \*\*$1 / Point**（即每 pip 约 $10）

    **XAUUSD 示例（1 手）：**\
    点值 = 100 × 0.01 × 1 = **\$1 / Point**

    <Note>
      **注意：** 上述“合约规模 × Point 大小”的公式，仅计算单手的点值，且主要适用于外汇直盘和部分交叉盘，**不能作为所有 MT5 品种的通用公式**。计算实际订单的点值盈亏还需乘以手数。

      实际交易中，点值计算还涉及：

      * 盈亏货币与账户货币之间的实时汇率转换
      * 经纪商设定的 `SYMBOL_TRADE_TICK_SIZE` 和 `SYMBOL_TRADE_TICK_VALUE`
      * 不同资产类别（外汇、股票、指数、期货、CFD）的特定合约计算模式

      **对于 EA 开发者**：强烈建议不要在代码中硬编码上述外汇公式，而应使用 MT5 内置的 `OrderCalcProfit` 和 `OrderCalcMargin` 函数。这些函数会自动考虑当前账户环境、品种规格和实时汇率，提供完全精确的计算结果。
    </Note>
  </Step>
</Steps>

<Tip>
  MT5 在开仓前会在订单界面显示预估的「1 点价值」（MT4 需通过第三方脚本或 EA 查看），你也可以在策略测试器的交易明细中查看每笔交易的实际点值，这是验算 EA 盈亏逻辑的好方法。
</Tip>
