对于一个EA在模拟账号上和在实盘账号上运行不一样,请教原因

 
int start()

{

int Signal=..........

Orders_CNT=Orders_Number(); // get the orders number which traded by this EA

if( Orders_CNT == 0 )

{

if( Signal == 1 )

{

iWait();

........

int Order_Ticket= OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip*Pips_Slip,Stop_Loss,TP,0,Magic_Number,0,0);
if(Order_Ticket < 0) Print("OrderSend() failed: ",ErrorDescription(GetLastError()));

}}}
int Orders_Number()
{
ArrayInitialize(Tickets,0);
int x=0;
for(int i_1=0;i_1<OrdersTotal();i_1++)
if(OrderSelect(i_1,SELECT_BY_POS))
if( OrderSymbol()=="USDJPY" &&
(OrderMagicNumber()==Magic_Number_N ||
OrderMagicNumber()==Magic_Number_A ||
OrderMagicNumber()==Magic_Number_R
)
)
{ Tickets[x]=OrderTicket();x++; }
return(x);
}

代码大致如上所述,当有交易信号的时候,且账号无持仓的情况下,下单;当把这个EA挂在模拟盘和实盘上的时候,到达开仓时,在模拟账号上,一切运行良好,只开一单;而在实盘账号上,连续开单(应该是每一个ticket)都开单,没检测到现在账户有已经持单,请问是什么问题?会是账户关联问题吗?

谢谢!

原因: