EA中OrderModify()总是返回130 stopLevel值为floating 怎么解决?哪位大佬有碰到
EA中OrderModify()总是返回130 stopLevel值为floating 怎么解决?哪位大佬有碰到过吗?
止损点位合理,脚本能运行,EA里不能修改但可以下单。。。。 |
|
|
|
|
|
|
|
DD
|
止损位置太近了吗?得看相关日志信息才能排查,每个平台商都有一点差异,当时价格波动是否较大 |
|
|
|
|
|
|
|
D
应该不是 脚本里设置同样的移动止损都可以 EA运行就总是返回130 止损值离 Bid 值足够也不行
然后就 看了MQL4开发文档关于 MODE_STOPLEVEL 这个说明 说平台的值如果是 floating 就会返回130 错误 |
|
|
|
|
|
|
|
DDD
|
浮点小数需要截断指定小数位数。比如2位小数,那就要将你计算出来的double数值(可能有十几位10进制小数位)四舍五入只保留2位小数。 |
|
|
|
|
|
|
|
DD
|
补充一个排查方向:文档里的 floating 指服务器动态控制止损距离,MODE_STOPLEVEL 返回 0 也不一定代表没有限制。可以把脚本和 EA 调用 OrderModify 前的订单品种、买卖方向、最新 Bid/Ask、SL/TP 一起记到日志里对照;已有买单的止损距离看 Bid,已有卖单看 Ask,再核对价格精度和 FreezeLevel,会比只看止损离 Bid 多远更容易找到差异。文档:https://docs.mql4.com/constants/environment_state/marketinfoconstants |
|
|
|
|
|
|
|