Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 934

 
El pato está en el artículo sobre las señales. No es eso.
 
void ClosePositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current orders
      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()==Magic)
            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }
¿Puedes decirme cómo cambiar esta función para encontrar ycerrar una posición que tenga un comentario AAA?
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
EgorKim:
¿Puedes decirme cómo cambiar esta función para encontrar ycerrar una posición que tenga un comentario AAA?

Ayuda:CPositionInfo

Acceso a las propiedades del texto ...
 

Gracias.

Además, ¿podríais decirme por qué se jura la conversión implícita de 'número' a 'cadena' en la compilación

if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp, "AAA")

¿Cómo debería ser la orden de compra correcta?

 
EgorKim:

Gracias.

Además, ¿podríais decirme por qué se jura la conversión implícita de 'número' a 'cadena' en la compilación

if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp, "AAA")

¿Cómo debería ser la orden de compra correcta?

Referencia:Comprar.

Ayuda:Declaración condicional if-else

 

No es así como escribiste el código.

Este es el código

long     chislo       =5;
if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp,"AAA"+chislo))

El compilador se queja de"AAA "+chislo

 
EgorKim:

No es así como escribiste el código.

Este es el código

El compilador se queja de"AAA "+chislo

Referencia:IntegerToString


Añadido: Eso es todo por hoy. Ya estoy dormido.

 
EgorKim:

No es así como escribiste el código.

Este es el código

El compilador se queja de"AAA "+chislo

long     chislo       =5;
if(m_trade.Buy(InpLots,m_symbol.Name(),m_symbol.Ask(),sl,tp,"AAA"+(string) chislo))
 

Vladimir Karputov, Alexey Viktorov

Gracias

 

Por favor, indíquenos el código.

En este momento hay 4 bahías abiertas con 1 lote cada una y 4 celdas con 1 lote cada una. El símbolo es el mismo.

En esta posición sólo se cierra 1 compra y 1 venta.

void CloseBy()
  {
   ulong ticket_buy=ULONG_MAX;
   ulong ticket_sell=ULONG_MAX;
   for(int i=0;i<PositionsTotal();i++) // ATTENTION! Here, specially began a detour with "0"
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         {
         if(m_position.PositionType()==POSITION_TYPE_BUY && ticket_buy==ULONG_MAX)
            ticket_buy=m_position.Ticket();

         if(m_position.PositionType()==POSITION_TYPE_SELL && ticket_sell==ULONG_MAX)
            ticket_sell=m_position.Ticket();
        }
   if(ticket_buy!=ULONG_MAX && ticket_sell!=ULONG_MAX)
      m_trade.PositionCloseBy(ticket_buy,ticket_sell);
//---
   return;
  }

Nada está cerrado en esta posición

void CloseBy()
  {
   ulong ticket_buy=ULONG_MAX;
   ulong ticket_sell=ULONG_MAX;
   for(int i=0;i<PositionsTotal();i++) // ATTENTION! Here, specially began a detour with "0"
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         if(m_position.PositionType()==POSITION_TYPE_BUY && ticket_buy==ULONG_MAX)
            ticket_buy=m_position.Ticket();

         if(m_position.PositionType()==POSITION_TYPE_SELL && ticket_sell==ULONG_MAX)
            ticket_sell=m_position.Ticket();
        }
   if(ticket_buy!=ULONG_MAX && ticket_sell!=ULONG_MAX)
      m_trade.PositionCloseBy(ticket_buy,ticket_sell);
//---
   //return;
  }

¿Qué debo hacer para cerrar las 4 compras y las 4 ventas contrarrestadas?