Download MetaTrader 5

Trying to wite a MQL4 code - page 2

To add comments, please log in or register
Eduard de Waal
30
Eduard de Waal  
Thank you
Keith Watford
Moderator
10651
Keith Watford  

Is this in a function?

for(int i=OrdersTotal(); i<0; --i)
{
   OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);

   if(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&OrderProfit()>0)   
      {
      return(1);
      }
   if(OrderType()==OP_BUY&&OrderSymbol()==Symbol()&&OrderProfit()<0)
      {
      return(0);
      }  
   if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&OrderProfit()>0)
      {
      return(0);
      }  
   if(OrderType()==OP_SELL&&OrderSymbol()==Symbol()&&OrderProfit()<0)
      {
      return(1);
      }

 If not, why are you using return in a loop?

Why are you using the value of OrdersTotal and then checking History? 

OrdersTotal can only be a positive number or zero, so your loop will not run with i<0.  

Eduard de Waal
30
Eduard de Waal  
GumRai:

Is this in a function?

 If not, why are you using return in a loop?

Why are you using the value of OrdersTotal and then checking History? 

OrdersTotal can only be a positive number or zero, so your loop will not run with i<0.  

Chances are its way wrong. Only stated with MQL4 this week. I tried some of the other "last profit" codes in the forum. Cant seem to get it right though.

 

string last;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
 {
   OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS,MODE_HISTORY);
   
   if(OrderSymbol()==Symbol() && OrderMagicNumber()==magicnumber)
    {
       //for buy order
       if(OrderProfit() > 0) Alert("profit");
       else if(OrderProfit() < 0) Alert("loss");
    }
 }

 

This is another piece of code I am trying.

 Ill keep at it til I get it right. 

Eduard de Waal
30
Eduard de Waal  
GumRai:

Is this in a function?

 If not, why are you using return in a loop?

Why are you using the value of OrdersTotal and then checking History? 

OrdersTotal can only be a positive number or zero, so your loop will not run with i<0.  

Yes it is in a function
12
To add comments, please log in or register