手数计算总差0.01,是平台合约规格没搞懂吗,有人遇到过吗?

新帖
登录发帖
Exness 推荐平台

入金门槛低,出金到账快,支持多种账户类型

FSA(塞舌尔)/FCA(英国) / CySEC(塞浦路斯) · 最低入金 $130
MapleHaze
MapleHaze 楼主 1 小时前 浏览 6 回复 0 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 2 帖数 15 积分 1541 汇币 1208
1楼
前两天复盘的时候发现一个挺闹心的事,想问问大家是不是我哪里没搞对。我用的是Windows 10,MT5版本是build 4260,券商是IC Markets的Raw账户。本来想跑一个欧美EURUSD的网格策略,手动算手数的时候按公式来:余额乘以风险比例,再除以止损点数乘以点值。结果每次下单,MT5里实际成交的手数总比我算的少0.01,比如我算出来是0.12,实际只给我成交0.11。
我一开始以为是四舍五入的问题,就把公式里的结果用NormalizeDouble处理了,还是不行。后来去查合约规格,发现这个平台的EURUSD合约大小是100000,最小交易量0.01,步长也是0.01,按理说没毛病。我又试了用AccountInfoDouble取余额和保证金,自己重算了一遍,还是差那么一点点。最奇怪的是,我手动在图表上拖EA的时候,有时候能下0.12,有时候又变成0.11,完全看它心情。
我甚至把代码里所有涉及手数的地方都打印了日志,发现送进OrderSend之前的值明明是0.12,但服务器返回的成交手数就是0.11。也试过把止损点数从20改成30,结果更离谱,直接差0.02。有没有汇友遇到过类似的情况?是不是我哪里没考虑到平台合约规格的隐藏规则?还是说MT5对某些手数有内部的取整逻辑?求指点一下,这种差0.01的问题到底该怎么排查?
0 回复 众裁0 复制
#1
💬
暂无回复,来抢沙发吧!
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 半夜睡不着来记录一下,聊聊最近GBP/USD的走势 下一帖 → MT5挂单被拒的12种报错代码,逐一拆解修复方案