订单关闭不工作 - 页 4 12345 新评论 Lee Jia 2014.02.26 17:11 #31 你好。 我在编译下面的内容时,出现了这样的错误。我可以知道哪部分出错了吗? 'postin forum.mq4' postin forum.mq4 1 1 ',' - unexpected token postin forum.mq4 59 53 expression has no effect postin forum.mq4 59 54 1 error(s), 1 warning(s) 2 2 //+------------------------------------------------------------------+ //| chuale.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.abc.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.abc.com" #property version "1.00" #property strict extern double TakeProfit=500; extern double Lots=0.1; extern double StopLoss=300; double bar1; double bar2; double bar3; int total,ticket; //datetime previousTime; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int init() { //--- //--- return(0); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //--- return(0); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ int start() { total=OrdersTotal(); bar1=(iClose(Symbol(),PERIOD_M1,2)-iClose(Symbol(),PERIOD_M1,3))*100; bar2=(iClose(Symbol(),PERIOD_M1,1)-iClose(Symbol(),PERIOD_M1,2))*100; bar3=(iClose(Symbol(),PERIOD_M1,0)-iClose(Symbol(),PERIOD_M1,1))*100; Comment("Bar1="+DoubleToString(bar1,Digits)+"\n"+ "Bar2="+DoubleToString(bar2,Digits)+"\n"+ "Bar3="+DoubleToString(bar3,Digits)+"\n" ); if(total>0) { OrderSelect(0,SELECT_BY_POS); if (bar3<-2) OrderClose(OrderTicket(),Lots,Bid,3),Green; if (bar3>2) OrderClose(OrderTicket(), Lots,Ask,3,Red); } //if(Time[0]==previousTime) return(0); //previousTime=Time[0]; if(total<1) { if (bar3>1) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Chua EA",12345,0,Green); //if(ticket<0)Print("Error OP_BUY order failed, error:"+GetLasterror()); return(0); } if (bar3<-1) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid+-TakeProfit*Point,"Chua EA",12345,0,Red); //if(ticket<0)Print("Error OP_SELL order failed, error:"+GetLasterror()); return(0); } } return(0); } //+------------------------------------------------------------------+ William Roeder 2014.02.26 18:03 #32 比较这两条线。 if (bar3<-2) OrderClose(OrderTicket(),Lots,Bid,3),Green; if (bar3>2) OrderClose(OrderTicket(),Lots,Ask,3,Red); Keith Watford 2014.02.26 20:49 #33 错误报告告诉你错误在哪里 ',' - 意外的代币postin forum.mq4 59 53 如果你双击错误,光标会被直接带到问题所在。 Lee Jia 2014.02.27 01:46 #34 嗨,GumRai。 谢谢,我把它修好了。这个错误来自于不小心插入的括号。 Lee Jia 2014.02.27 01:52 #35 谢谢你,WHRoeder。 是 Lee Jia 2014.02.27 01:57 #36 嗨,threwel。 Time[0]是指第0条的时间吗?是否有Time[1],Time[2]等?我试着用谷歌搜索了一下,但网上的信息不多。另外,如果我把这个EA连接到两个货币对 上,这是否意味着OrderSelect只选择图表本身的订单,还是终端的所有订单? Lee Jia 2014.02.27 02:05 #37 嗨,threwel。 为什么我得到这个警告信息 "implicit conversion from 'number' to 'string' postin forum.mq4 69 61" 的编码 " if(ticket<0)Print("Error OP_BUY order failed, error: "+GetLastError());" ? qjol 2014.02.27 02:05 #38 chuale: Time[0]指的是第0条的时间吗?是否有Time[1]、Time[2]等? 是的。 丘尔。 我试着在谷歌上搜索了一下,但网上的信息不多。 http://bit.ly/1fJi4XA chuale: 另外,如果我把这个EA连接到两个货币对上,这是否意味着OrderSelect只选择图表本身的订单,还是终端的所有订单? 取决于你的代码 Lee Jia 2014.02.27 02:49 #39 谢谢 qiol Keith Watford 2014.02.27 09:07 #40 chuale: 嗨,threwel。 为什么我得到这个警告信息 "implicit conversion from 'number' to 'string' postin forum.mq4 69 61 "的编码" if(ticket<0)Print("Error OP_BUY order failed, error: "+GetLastError();"? "从'数字'到'字符串'的隐式转换",当你有大的循环时,可能是一个痛苦的问题。 这意味着必须在错误报告中滚动浏览大量的行。 在你的例子中,GetLastError()是一个整数代码,所以它只是警告你,在打印语句中它将被转换成一个字符串。 如果你很高兴这不是一个问题,那么你可以添加(string)来停止这些恼人的警告。 if(ticket<0) Print("Error OP_BUY order failed, error:" + (string) GetLastError()); 顺便说一句,如果你不知道-- 我通常把这个放在Externs/Inputs之后。 #include <stdlib.mqh> 然后你可以用 if(ticket<0) Print("Error OP_BUY order failed, error: " + ErrorDescription(GetLastError() ) ); 这样就可以打印出错误的描述,而不仅仅是代码。 12345 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
我在编译下面的内容时,出现了这样的错误。我可以知道哪部分出错了吗?
错误报告告诉你错误在哪里
',' - 意外的代币postin forum.mq4 59 53
如果你双击错误,光标会被直接带到问题所在。
嗨,GumRai。
谢谢,我把它修好了。这个错误来自于不小心插入的括号。
谢谢你,WHRoeder。
是
嗨,threwel。
Time[0]是指第0条的时间吗?是否有Time[1],Time[2]等?我试着用谷歌搜索了一下,但网上的信息不多。另外,如果我把这个EA连接到两个货币对 上,这是否意味着OrderSelect只选择图表本身的订单,还是终端的所有订单?
嗨,threwel。
为什么我得到这个警告信息 "implicit conversion from 'number' to 'string' postin forum.mq4 69 61" 的编码 " if(ticket<0)Print("Error OP_BUY order failed, error: "+GetLastError());" ?
Time[0]指的是第0条的时间吗?是否有Time[1]、Time[2]等?
是的。
我试着在谷歌上搜索了一下,但网上的信息不多。
http://bit.ly/1fJi4XA
另外,如果我把这个EA连接到两个货币对上,这是否意味着OrderSelect只选择图表本身的订单,还是终端的所有订单?
取决于你的代码
嗨,threwel。
为什么我得到这个警告信息 "implicit conversion from 'number' to 'string' postin forum.mq4 69 61 "的编码" if(ticket<0)Print("Error OP_BUY order failed, error: "+GetLastError();"?
"从'数字'到'字符串'的隐式转换",当你有大的循环时,可能是一个痛苦的问题。
这意味着必须在错误报告中滚动浏览大量的行。
在你的例子中,GetLastError()是一个整数代码,所以它只是警告你,在打印语句中它将被转换成一个字符串。
如果你很高兴这不是一个问题,那么你可以添加(string)来停止这些恼人的警告。
顺便说一句,如果你不知道--
我通常把这个放在Externs/Inputs之后。
#include <stdlib.mqh>
然后你可以用
这样就可以打印出错误的描述,而不仅仅是代码。