求教各位大侠. 如何控制下单数量。。

 

小弟没多少编程基础, 只会制作简单的信号,和开仓平仓的代码。

问题出现了。。就是每次信号来的时候,EA就不停的下单。。。

请教如何控实现每次信号只下1单,下次信号在下1单,仓位最多可以同时存在3单。 有基本的代码框架吗 ??

 
kelvin325 写道 >>

小弟没多少编程基础, 只会制作简单的信号,和开仓平仓的代码。

问题出现了。。就是每次信号来的时候,EA就不停的下单。。。

请教如何控实现每次信号只下1单,下次信号在下1单,仓位最多可以同时存在3单。 有基本的代码框架吗 ??

请参阅以下代码:

int nRunPrevtime; // 运行K线控制变量
//+------------------------------------------------------------------+
int start()
{
//--- 运行K线控制 ----------------------------------------
if(Time[0]==nRunPrevtime ) { return(0); }
nRunPrevtime = Time[0];

........................................................................

return(0);

}

 
BBL 写道 >>

请参阅以下代码:

int nRunPrevtime; // 运行K线控制变量
//+------------------------------------------------------------------+
int start()
{
//--- 运行K线控制 ----------------------------------------
if(Time[0]==nRunPrevtime ) { return(0); }
nRunPrevtime = Time[0];

........................................................................

return(0);

}

大侠。。这是控制时间的办法吗 ? 是每个时间K线 检查一次信号吗。。。

但是怎么控制它只下一单啊 ?

 

检查有没有 已持未平的单,有就不下了!

OrdersTotal( )

 
DxdCn 写道 >>

检查有没有 已持未平的单,有就不下了!

OrdersTotal( )

前辈。。。如何可以未平仓再下另一单吗?。。 控制总单量时可以用ordertotal()
 
kelvin325 写道 >>

int check_order()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES)==true)
{
if(Symbol()==OrderSymbol() )
return(OrderTicket());
}
}
return(0);
}

int orderid=check_order();
if(orderid==0)

这样可以控制了。

联系450459237

 
kelvin325 写道 >>

int check_order()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES)==true)
{
if(Symbol()==OrderSymbol() )
return(OrderTicket());
}
}
return(0);
}

int orderid=check_order();
if(orderid==0)

这样可以控制了。

联系450459237

原因: