Hello Fellow coders,
I'm getting myself into a bit of a flap. I am trying to write a function so that it will return the ticket number of my highest buy trade or lowest sell trade, so they can be isolated from the basket and closed.
I know I need to find the correct ticket number of the above trades so they can be returned into the function to close that ticket. I'm just not sure how to write it correctly any help or pointing into the right direction would be much appreciated.
Code:
//+------------------------------------------------------------------+ //| Calculate all positions | //+------------------------------------------------------------------+ void CalculateAllPositions(ulong &ticket_highest_buy,ulong &ticket_lowest_sell) { ticket_highest_buy = ULONG_MAX; ticket_lowest_sell = ULONG_MAX; //--- auxiliary variables double price_highest_buy = DBL_MIN; double price_lowest_sell = DBL_MAX; //--- for(int i=PositionsTotal()-1; i>=0; i--) if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic) { if(m_position.PositionType()==POSITION_TYPE_BUY) { if(m_position.PriceOpen()>price_highest_buy) // the highest position of "BUY" is found ticket_highest_buy=m_position.Ticket(); continue; } else if(m_position.PositionType()==POSITION_TYPE_SELL) { if(m_position.PriceOpen()<price_lowest_sell) // the lowest position of "SELL" is found ticket_lowest_sell=m_position.Ticket(); } } }
Code:
Perfect that gives me everything I need to put into my own code.. thank you
if(m_position.PriceOpen()>price_highest_buy) { // the highest position of "BUY" is found price_highest_buy=m_position.PriceOpen(); ticket_highest_buy=m_position.Ticket(); }
same for price_lowest_sell
Can you write same code for mql4, please
You are on the MQL5 forum - all questions about MQL5 are discussed here.
There is one special section for the old terminal: MQL4 and MetaTrader 4 - please ask your question there.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello Fellow coders,
I'm getting myself into a bit of a flap. I am trying to write a function so that it will return the ticket number of my highest buy trade or lowest sell trade, so they can be isolated from the basket and closed.
I know I need to find the correct ticket number of the above trades so they can be returned into the function to close that ticket. I'm just not sure how to write it correctly any help or pointing into the right direction would be much appreciated.