请问这个EA出了什么问题- 新评论 e1xyz1357 2012.04.11 01:46 本EA错误的意思似乎是少了”}”,但我在86行即if( com1==0) { ,加了”}”也没用,到底出了什么问题呢? int timef=15; int pinT=10; int ticket; int init() { return(0); } int deinit() { return(0); } int start() { double close0=iClose(Symbol(),timef,0); double close1=iClose(Symbol(),timef,1); double close2=iClose(Symbol(),timef,2); double ma100=iMA(Symbol(), timef,pinT, 0, MODE_SMA, PRICE_CLOSE, 0}; double ma101=iMA(Symbol(), timef,pinT, 0, MODE_SMA, PRICE_CLOSE, 1); double ma102=iMA(Symbol(), timef,pinT, 0, MODE_SMA, PRICE_CLOSE, 2); //===========================买 单====确认只有一单===================== if ((ma100>ma101)&&(ma101>ma102))//10均向上 { if (close0>close2)//k线向上 { int com=0; for (int i=0;i<OrdersTotal();i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderComment()=="buy") { com=1; } } } if( com==0) { OrderSend(Symbol(),OP_BUY,0.1,Ask,30,0,0,"buy",999,0,Green); } if (close0<close2) if (OrderType()=OP_BUY) { OrderClose(OrderTicket(),1,Bid,3,White); } } //==========================卖 单================================ if ((ma100<ma101)&&(ma101<ma102))//10均向下 { if (close0<close2)//k线向下W { int com1=0; for (int i1=0;i1<OrdersTotal();i1++) { if (OrderSelect(i1,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderComment()=="sell") { com1=1; } } } if( com1==0) { OrderSend(Symbol(),OP_SELL,0.1,Bid,30,0,0,"sell",111,0,Red); } if (close0<close2)//平仓 if (OrderType()=OP_SELL) { if(OrderSelect(OrderTicket(),SELECT_BY_POS)==true) { OrderClose(OrderTicket(),1,Ask,3,White); } } return(0); } EA不会在多对上运行,需要帮助 请帮我看看这个ea,orderclose执行不了,谢谢! [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 BaiChun Li 2012.04.14 09:37 #1 楼主的这段代码不符合我的阅读习惯,修改起来比较麻烦,也不是什么复杂的问题希望是已经决定了。 祝你好运。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
本EA错误的意思似乎是少了”}”,但我在86行即if( com1==0)
{ ,加了”}”也没用,到底出了什么问题呢?
int timef=15;
int pinT=10;
int ticket;
int init()
{ return(0); }
int deinit()
{ return(0); }
int start()
{
double close0=iClose(Symbol(),timef,0);
double close1=iClose(Symbol(),timef,1);
double close2=iClose(Symbol(),timef,2);
double ma100=iMA(Symbol(), timef,pinT, 0, MODE_SMA, PRICE_CLOSE, 0};
double ma101=iMA(Symbol(), timef,pinT, 0, MODE_SMA, PRICE_CLOSE, 1);
double ma102=iMA(Symbol(), timef,pinT, 0, MODE_SMA, PRICE_CLOSE, 2);
//===========================买 单====确认只有一单=====================
if ((ma100>ma101)&&(ma101>ma102))//10均向上
{ if (close0>close2)//k线向上
{ int com=0;
for (int i=0;i<OrdersTotal();i++)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{ if (OrderComment()=="buy")
{ com=1; }
}
}
if( com==0)
{ OrderSend(Symbol(),OP_BUY,0.1,Ask,30,0,0,"buy",999,0,Green); }
if (close0<close2)
if (OrderType()=OP_BUY)
{ OrderClose(OrderTicket(),1,Bid,3,White); }
}
//==========================卖 单================================
if ((ma100<ma101)&&(ma101<ma102))//10均向下
{ if (close0<close2)//k线向下W
{ int com1=0;
for (int i1=0;i1<OrdersTotal();i1++)
{ if (OrderSelect(i1,SELECT_BY_POS,MODE_TRADES)==true)
{ if (OrderComment()=="sell")
{ com1=1; }
}
}
if( com1==0)
{ OrderSend(Symbol(),OP_SELL,0.1,Bid,30,0,0,"sell",111,0,Red); }
if (close0<close2)//平仓
if (OrderType()=OP_SELL)
{ if(OrderSelect(OrderTicket(),SELECT_BY_POS)==true)
{ OrderClose(OrderTicket(),1,Ask,3,White); }
}
return(0);
}