1218138 发表于 2015-12-16 22:00:49

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


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?

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

{:132_148:}{:132_157:}{:132_153:}{:132_161:}

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);
}
页: [1]
查看完整版本: 新手刚学EA来帮忙看看为什么第二个IF没有作用?