智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 7495|回复: 6

MetaEditor新版本在编译旧版本的EA时出现问题

[复制链接]
发表于 2014-3-29 20:11:56 | 显示全部楼层 |阅读模式
请教一下:
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
这是以前版本中的一句(在以前的版本中编译没有出现问题),现在在新的MetaEditor中编译时出现 return value of 'OrderSelect' should be checked 这样的警告,是怎么回事?怎么办?
我的邮箱linkus@126.com QQ: 88951656

非常感谢!
回复

使用道具 举报

发表于 2014-4-1 11:44:35 | 显示全部楼层
我的教程中 写代码 从来不写:
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
这样的语句。这样的语句是不正确的:
我通常都是这样写的:
[mw_shl_code=c,false]for(int i1=0;i1<OrdersTotal();i1++)
               {
                   if(OrderSelect(i1,SELECT_BY_POS,MODE_TRADES))
                     {
                        .......
                     }
               } [/mw_shl_code]
回复 支持 反对

使用道具 举报

发表于 2014-4-1 13:57:49 | 显示全部楼层
for(int i=0;i<OrdersTotal();i++)
               {
                   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                     {
                       if((OrderComment()==("XAUUSD"+"buy")))   
                         {
                           OrderClose(OrderTicket(),OrderLots(),Bid,0);     //这句在新版MT4上一直报错                           
                         }
                     }
               }
回复 支持 反对

使用道具 举报

发表于 2014-4-1 18:10:38 | 显示全部楼层
if((sun!=0)&&(ying!=0))
                              {
                               OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+sun*MarketInfo("XAUUSDpro",MODE_POINT),OrderOpenPrice()-ying*MarketInfo("XAUUSDpro",MODE_POINT),0,Red);                              }
                             if((sun==0)&&(ying!=0))
                              {
                               OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()-ying*MarketInfo("XAUUSDpro",MODE_POINT),0,Red);                              }
                             if((sun!=0)&&(ying==0))
                              {
                               OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+sun*MarketInfo("XAUUSDpro",MODE_POINT),0,0,Red);                              }

红色语句也都报错
回复 支持 反对

使用道具 举报

发表于 2014-4-6 13:19:41 | 显示全部楼层
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
OrderClose(OrderTicket(),OrderLots(),Bid,0);     
OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()-ying*MarketInfo("XAUUSDpro",MODE_POINT),0,Red);
这几个函数 在老版不会报警告,在新版就报警告,其实他的警告意思是说
这3个函数是有返回值的函数,但是 你调用的时候 没有返回值接收
比如:
bool a=OrderClose(OrderTicket(),OrderLots(),Bid,0);  这样就有一个返回值a来接收orderclose的结果 如果a=true就表示平仓成功,a=false就表示平仓失败
回复 支持 反对

使用道具 举报

发表于 2014-4-7 21:30:02 | 显示全部楼层
感谢感谢……
回复 支持 反对

使用道具 举报

发表于 2014-5-13 23:43:50 | 显示全部楼层
按照几位的建议,我修改我的EA后果然没有警告了,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap|智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2019-11-19 05:15 , Processed in 0.102607 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表