内容目录
- 概述
- 点的概念
- 点值
- 点差成本
- 输出全部外汇货币对的点差成本
- 测试
- 结论
概述
由于点差的存在,因此我们在交易任何一个外汇货币对时,都会有一个初始的损失,该损失即为该外汇货币对的交易成本。交易成本是我们制定交易盈亏比时的一个重要指标,交易成本对短线交易者尤其是超短线交易者尤为重要,因此,本文介绍了如何在不同的账户类型(美元账户、英镑账户等等)下,输出平台报价中所有外汇货币对的点差成本。
本文第一部分介绍了点的概念;第二部分介绍了在美元账户和非美元账户类型下,点值及其计算公式;第三部分介绍了点差的概念,以及点差成本的计算公式和相应代码;第四部分介绍了如何输出平台报价中所有外汇货币对的点差成本;第五部分将输出的点差成本与实际交易得到的点差成本作比较,检验输出数据的准确性。
点的概念
点是外汇货币对价格波动的最小单位。在外汇品种报价是四位和两位的系统中,1点代表的值是0.0001或是0.01。现在主流的外汇交易商平台中,外汇品种都是5位和3位报价,例如:EURUSD的1点即0.00001,USDJPY的1点是0.001。下图中展示了部分外汇货币对的买卖报价。
图1. 部分外汇货币对的买卖价及点差值
点值
考虑到5位和3位报价更为普遍,本文中的所有案例都以5位和3位报价为基础来做讲解,其他不同报价的系统可以同理运用,编写的MQL5代码也是适用于所有报价系统。
一个5位报价的货币对,波动1点即0.00001,或是一个3位报价的货币对,波动1点即0.001,它们每标准手产生的点值是多少?
首先,计算具体的点值是多少,我们要确定账户货币是什么?
1. 账户货币是美元USD
那么,考虑三种情况:1) 基础货币为USD的直盘货币对;2) 基础货币为非USD的直盘货币对;3) 交叉货币对。
这里有几个概念作简要解释:以EURUSD为例,该货币对的基础货币是EUR,利润货币是USD;在美元账户中,直盘货币是指基础货币或利润货币是USD的货币对,例如EURUSD、USDJPY,而交叉货币对指基础货币和利润货币都不为USD的货币对,例如EURJPY、EURGBP。
1) 基础货币为USD的直盘货币对
例如:USDJPY,USDCAD等。
这种情况下的点值是:
(公式1)
其中:
- Lots:交易手数
- ContractSize:一标准手合约大小,外汇品种为100,000基础货币
- SymbPoint:该货币对波动最小点
- pips:波动点数
- Price:该货币对当前价格
以USDJPY为例,一标准手波动一个点,Lots=1,ContractSize=100,000(USD),MinPoint=0.001(JPY/USD),pips=1,Price为USDJPY的当前价格。
参考图一假设此时USDJPY价格为112.410(JPY/USD),那么,一标准手USDJPY波动一个点的点值是0.89(USD)。
2) 基础货币为非USD的直盘货币对
例如:EURUSD,GBPUSD等。
这种情况下的点值是:
(公式2)
以EURUSD为例,一标准手波动一个点,Lots=1,ContractSize=100,000(EUR),SymbPoint=0.00001(USD/EUR),pips=1。
那么,一标准手EURUSD波动一个点的点值是1(USD)。
3) 交叉货币对
例如:EURJPY,EURGBP等。交叉货币对的计算有以下两种情况:
- 利润货币的直盘货币对基础货币为USD,例EURJPY,利润货币为JPY,其直盘货币对为USDJPY,USDJPY的基础货币为USD,
(公式3)
其中:Price为利润货币的直盘货币对的当前价格。
以EURJPY为例,一标准手波动一个点,Lots=1,ContractSize=100,000(EUR),SymbPoint=0.001(JPY/EUR),pips=1,Price为USDJPY的当前价格。
参考图一假设此时USDJPY价格为112.410(JPY/USD),那么,一标准手EURJPY波动一个点的点值是0.89(USD)。
- 利润货币的直盘货币对基础货币非USD,例EURGBP,利润货币为GBP,其直盘货币对为GBPUSD,GBPUSD的基础货币非USD,
这种情况下的点值是:
(公式4)
其中:Price为利润货币的直盘货币对的当前价格。
以EURGBP为例,一标准手波动一个点,Lots=1,ContractSize=100,000(EUR),MinPoint=0.00001(GBP/EUR),pips=1,Price为GBPUSD的当前价格。
参考图一假设此时GBPUSD价格为1.34178(USD/GBP),那么,一标准手EURGBP波动一个点的点值是1.34(USD)。
2. 账户货币是非美元
这里假设入金货币是英镑GBP,其他情况同理。
此时,所有GBP的货币对为直盘货币对,非GBP的货币对为交叉货币对。
同样考虑三种情况:1) 基础货币为GBP的直盘货币对;2) 基础货币为非GBP的直盘货币对;3) 交叉货币对。
1) 基础货币为GBP的直盘货币对
例如:GBPUSD,GBPJPY,GBPCAD等。
这种情况下的点值是:
其中:Price为该货币对当前价格。
以GBPUSD为例,一标准手波动一个点,Lots=1,ContractSize=100,000(GBP),SymbPoint=0.00001(USD/GBP),pips=1,Price为GBPUSD的当前价格。
参考图一假设此时GBPUSD价格为1.34178(USD/GBP),那么,一标准手GBPUSD波动一个点的点值是0.75(GBP)。
2) 基础货币为非GBP的直盘货币对
例如:EURGBP等。
这种情况下的点值是:
以EURGBP为例,一标准手波动一个点,Lots=1,ContractSize=100,000(EUR),SymbPoint=0.00001(GBP/EUR),pips=1。
那么,一标准手EURGBP波动一个点的点值是1(GBP)。
3) 交叉货币对
例如:EURUSD,EURJPY等。交叉货币对的计算有以下两种情况:
- 利润货币的直盘货币对基础货币为GBP,例EURUSD,利润货币为USD,其直盘货币对为GBPUSD,GBPUSD的基础货币为GBP,
这种情况下的点值是:
其中:Price为利润货币的直盘货币对的当前价格。
以EURUSD为例,一标准手波动一个点,Lots=1,ContractSize=100,000(EUR),MinPoint=0.00001(USD/EUR),pips=1,Price为GBPUSD的当前价格。
参考图一假设此时GBPUSD价格为1.34178(USD/GBP),那么,一标准手EURUSD波动一个点的点值是0.75(GBP)。
- 利润货币的直盘货币对基础货币非GBP,外汇品种中不存在,如果存在该货币对,这种情况下的点值应是:
其中:Price为利润货币的直盘货币对当前价格。