顺水外汇EA交易网MT4

标题: 遇到一个问题具体我也不是很清楚是为什么,时好时坏的..... [打印本页]

作者: Kail    时间: 2017-11-20 12:38
标题: 遇到一个问题具体我也不是很清楚是为什么,时好时坏的.....
自己刚写了一个EA,由于经验不足发现了很多的问题,开始就是当EA直接开启时就会出现“invalid lots amount for OrderSend function”错误,但是只要在EA没有关闭的情况下手动开单一次或者两次EA就能够正常运行了;多品种也是的,每次新加载一个品种都会出现这样的错误“invalid lots amount for OrderSend function”,又没有人知道是什么问题的吗?
我也是真的无能为力来解决这个问题了;毕竟经验不是十分的足,希望各位大家帮个忙,解决一下。万分感激;


作者: Kail    时间: 2017-11-20 13:24
求大神帮忙解决一下,谢谢了;
作者: wsl0003    时间: 2017-11-20 13:50
大神都很忙

作者: knightfx    时间: 2017-11-20 13:59
下的手数有问题,建议先固定手数试试,平台的最小手数和手数步进要注意一下。
作者: yeqiangy    时间: 2017-11-22 23:53
按照你说的,应该是开单手数的问题,调整一下
作者: HMGD    时间: 2017-11-23 00:44

声明设定一个最小进场手数值,
当预备进场值小于最小值时强赋值=最小值。
double SendLots=NormalizeDouble(计算需要进场的值,2); //这一步是计算多精度取2位数,因为会有四舍五入问题
if(SendLots<Lots)else{SendLots=lots}   //这一步是判断进场手数是否小于平台或程序允许的最小手数。
OrderSend(.....);
P.S:还一个原因需要注意:SendLots 声明的数据类型是多精度格式double,如果没注意写成int类型的,就会出现<1不开单的情况。




欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/) Powered by Discuz! X3.2