6评论

0收藏

新手刚学EA来帮忙看看为什么第二个IF没有作用?

avatar 1218138 | 3732 人阅读 | 6 人评论 | 2015-12-16


extern double 下注数量1=0.1;
extern double 下注数量2=0.2;
extern double 下注数量3=0.1;
extern double 下注数量4=0.1;
extern double 下注数量5=0.1;
extern double 下注数量6=0.1; //
extern double 止损=100;  //止损
extern double 止盈=100;  //止盈
extern double 滑点=30;  //滑点

int OnInit()
  {


   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
{
if(
OrdersTotal()==0
){
OrderSend(Symbol(),OP_BUY,0.1,Ask,下注数量1,Ask-止损*Point,Ask+止盈*Point);
}
if(
OrdersTotal()==0
){
OrderSend(Symbol(),OP_BUY,0.2,Ask,下注数量2,Ask-止损*Point,Ask+止盈*Point);
}
return(0);
}




每次都是开单0.1手,说明没有单的时候总是执行第一个IF,如何使执行第一个IF后,止盈或者止损后去执行第二个IF?
""
还没有人打赏,支持一下

评论|共 6 个

aspic

发表于 2016-3-29 14:11:39 | 显示全部楼层

大哥啊,你要实现啥功能啊,OrdersTotal等于0之后开两个买单?还是让OrdersTotal等于0开一个下注数量1的买单,如果OrdersTotal大于0下注数量2呢?,如果是前者你直接把第一种那就把OrdersTotal等于0去掉,如果是第二种那么你应该吧OrdersTotal改成>0

aspic

发表于 2016-3-29 14:12:40 | 显示全部楼层

另外第二个OrdersTotal没有return(0);

ssmf11

发表于 2016-5-21 12:42:35 | 显示全部楼层

加油 加油 加油 加油

rushiyi

发表于 2017-4-9 11:03:35 | 显示全部楼层

加几个开关,才得

王半仙

发表于 2017-6-11 01:11:16 | 显示全部楼层

[s:140]{:132_148:}{:132_157:}{:132_153:}{:132_161:}[s:141]

litmouse

发表于 2017-8-10 22:20:43 | 显示全部楼层

OrdersTotal()==0,怎么会有两句判断,第一次都0了第二次应该是1了吧,如果还是要这样,就两句并一句
if(
OrdersTotal()==0}
{}
OrderSend(Symbol(),OP_BUY,0.1,Ask,下注数量1,Ask-止损*Point,Ask+止盈*Point);
OrderSend(Symbol(),OP_BUY,0.2,Ask,下注数量2,Ask-止损*Point,Ask+止盈*Point);
}

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

EA之家评论守则