Download MetaTrader 5

What is the equivalent to PositionGetSymbol in MQL4?

To add comments, please log in or register
Gerardo Bustos
746
Gerardo Bustos  

Hello forum, good day.

I started learning MQL5 before MQL4 and I'm having a bit of trouble translating an EA to MQL4. Here is where I'm stuck:


MQL5 code: 

void OnTick()
  {
    int total = 0;
    
    for ( int i = 0; i < PositionsTotal(); i++ )
      {
        if ( Symbol() == PositionGetSymbol(i) ) {
          total = 1;
          if ( IsNewBar() ) Trail();
        }
      }

    //...
  }

 

What I need to change is PositionsTotal() and PositionGetSymbol() because they don't exist in MQL4. I've looked at the MQL4 Docs and know that PositionsTotal() is OrdersTotal(), but I haven't found the equivalent of PositionGetSymbol(). Could someone with more experience help me please? Your help will be much appreciated.

 

Best regards and thank you in advance,

codeMolecules 

Stuart Browne
6176
Stuart Browne  
codeMolecules:

Hello forum, good day.

I started learning MQL5 before MQL4 and I'm having a bit of trouble translating an EA to MQL4. Here is where I'm stuck:


MQL5 code: 

 

What I need to change is PositionsTotal() and PositionGetSymbol() because they don't exist in MQL4. I've looked at the MQL4 Docs and know that PositionsTotal() is OrdersTotal(), but I haven't found the equivalent of PositionGetSymbol(). Could someone with more experience help me please? Your help will be much appreciated.

 

Best regards and thank you in advance,

codeMolecules 

G'day Molecules

You're nearly there. You'll just need to check out OrderSelect() and OrderSymbol()



Cheers

OrderSelect - MQL4 Documentation
  • docs.mql4.com
OrderSelect - MQL4 Documentation
Trinh Dat
38607
Trinh Dat  

Hi

This is code for MT4

void OnTick()
  {
    int total = 0;
    
    for ( int i = 0; i < OrdersTotal(); i++ )
      {
        if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if ( Symbol() == OrderSymbol() ) {
          total = 1;
          if ( IsNewBar() ) Trail();
        }
        }
      }

    //...
  }
Gerardo Bustos
746
Gerardo Bustos  
tuoitrecuoi:

Hi

This is code for MT4

Hello tuoitrecuoi, thanks for your help! I tried the following and it also worked!

 

for ( int i = 0; i < OrdersTotal(); i++ ) {
    if ( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderSymbol() = Symbol() ) {
        //...
    }
}

 

Best regards and thank you,

codeMolecules 

To add comments, please log in or register