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

 
Hola! por favor explique o señale los dedos como cerrar programáticamente las posiciones abiertas con el tipo de cuenta Hedge/Hedg. como cerrar las posiciones hedged en mql5? solo encontré este material. https://www.mql5.com/ru/articles/4830
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
BlackCoffee:
Hola! Por favor, explique o señale los dedos cómo cerrar programáticamente las posiciones abiertas con el tipo de cuenta Hedge/Hedg. ¿cómo cerrar las posiciones con cobertura en mql5? sólo encontró este material. https://www. mql5.com/ru/articles/4830

Ejemplo del código de cierre de todas las posiciones

Cuando se trata de posiciones, es necesario hacer un bucle a través de todas las posiciones hasta llegar a cero:

//+------------------------------------------------------------------+
//| Close all positions                                              |
//+------------------------------------------------------------------+
void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }

Close all positions
Close all positions
  • www.mql5.com
Закрытие позиций при достижении уровня прибыли  Close all if Profit . При этом суммируется общая прибыль по всем позициям: вне зависимости от символа и magic number. Подсчёт прибыли происходит только в момент рождения нового бара.
 
Vladimir Karputov:

Ejemplo del código de cierre de todas las posiciones

Cuando se trata de posiciones, es necesario hacer un bucle a través de todas las posiciones hasta llegar a cero:

¡¡¡Gracias por la respuesta!!! ¿Y si sólo necesita cerrar una posición de venta? ¿Debo añadir estas líneas?
if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
                       {
                         //--- prepare request for close SELL position
                        mrequest.type =ORDER_TYPE_BUY;
                        mrequest.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
                       }
 

Este es el tipo de cosas que hice. Para cerrar las selvas para un seto.


void CloseSellPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
                       {
                            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
                       }
  }
Pero a veces queda un puesto libre por alguna razón. Si ponemos la condición: Cerrar si hay más de cinco posiciones.
 
BlackCoffee:

Este es el tipo de cosas que hice. Para cerrar las selvas para un seto.


Pero a veces hay una posición que no está cerrada por alguna razón. Si establecemos una condición: cerrar si hay más de cinco posiciones.

Entonces ya está bien:

void CloseSellPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.PositionType()==POSITION_TYPE_SELL)
            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }

y si no se cierra, mira en el archivo de registro. Puede haber un millón de razones: redirección, no hay operación, no hay precio, proximidad de los niveles de parada...

 
Hola. ¿Por qué hay que eliminar los objetos de la clase en la desinicialización? ¿Permanecerán en la memoria después de cerrar el terminal? ¿O permanecerán en la memoria mientras se ejecuta el terminal, sin un EA? ¿Qué más hay que eliminar excepto los objetos de clase?
 
Ivan_Invanov:
Hola. ¿Por qué hay que borrar los objetos de la clase en la desinicialización? ¿Permanecerán en la memoria después de cerrar el terminal? ¿O permanecerán en la memoria mientras el terminal esté funcionando, sin el Asesor Experto? ¿Qué más hay que eliminar excepto los objetos de clase?

Por ejemplo, usted elimina el Asesor Experto del gráfico, pero todos los dibujos (objetos) permanecen en el gráfico. En la desinicialización, elimine todo lo innecesario para tener un gráfico limpio. Es así.

 
Nauris Zukas:

Por ejemplo, usted elimina el Asesor Experto del gráfico, pero todos los dibujos (objetos) permanecen en el gráfico. En la desinicialización, elimine todo lo innecesario para tener un gráfico limpio. Es así.

No utilizo códigos gráficos. He visto en el prog de otras personas que se borran los objetos de clase. ¿He entendido bien que si no se borran en la desinicialización, permanecerán en memoria hasta que se cierre el terminal? ¿Qué otra cosa, además de los objetos de clase, es mejor eliminar? Gracias.
 

¡Hola!

¿Cómo se asigna un identificador a un indicador? Compré un EA, está orientado a un marco de tiempo superior para operar en uno inferior. El desarrollador escribió que tengo que poner el indicador en el gráfico superior y asignarle un id. Soy nuevo en MT, no sé cómo hacerlo. Por favor, aconséjenme si alguien sabe cómo hacerlo. (Estoy usando la versión MT5)

 
secret:

¿Cómo puedo evitar que las operaciones de otros gráficos aparezcan en el gráfico?

Sólo las operaciones del robot que está en el gráfico dado.

¿Soy el único al que le molesta un revoltijo de operaciones de muchos robots en un mismo gráfico? ¿Nadie más se ha molestado?

Razón de la queja: