Open a new trade with magic number only

 

I create this funcion....

i want that ea open a new trade only there isn't a trade with the same magic number opened.... also if there is aother order in the account but a different magi number

if there is a open trade with magic number, the Ea don't open a new trade



// main function
int start()
{

if(OrdiniattiviMagi()== true)

// Opoen order

the funcion that control order opened





//The function give if there is open order on the account with the magic number if not i //open the new order

int  OrdiniattiviMagi()
{
   int cnt,result,total=OrdersTotal();
   bool magitrovato=true;
   for(cnt = total-1; cnt >= 0; cnt--)
    {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
     if( (OrderType()==OP_SELL || OrderType()!=OP_BUY) && (OrderMagicNumber()==MagicNumber) ) //&& trail==1 && OrdersTotal() > 1  )
     magitrovato=false;
     break;     
         }
 return(magitrovato);
 }

 
Replace
int  OrdiniattiviMagi()
{
   int cnt,result,total=OrdersTotal();
   bool magitrovato=true;
   for(cnt = total-1; cnt >= 0; cnt--)
    {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
     if( (OrderType()==OP_SELL || OrderType()!=OP_BUY) && (OrderMagicNumber()==MagicNumber) ) //&& trail==1 && OrdersTotal() > 1  )
     magitrovato=false;
     break;     
         }
return(magitrovato);
}
to
bool  OrdiniattiviMagi()
{
   int cnt,total=OrdersTotal();
   bool magitrovato=true;
   for(cnt = total-1; cnt >= 0; cnt--)
    {
     OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() != Symbol() ) continue;
     if(OrderType()<2 && OrderMagicNumber()==MagicNumber ) //&& trail==1 && OrdersTotal() > 1  )
     {
     magitrovato=false;
     break;     
         }
     }
return(magitrovato);
}
 

Ok thanks

I try it

Reason: