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

 
Artyom Trishkin:

Este es el momento del comercio.

No lo entiendo.
¿Duración?
O cuando cerramos una orden, ¿es ese el momento de la operación?
¿Y cómo puedo filtrarlo, sólo me interesa la hora de establecer las órdenes?
 
Roman Kutemov:
No lo entiendo.
¿Duración?
O cuando hemos cerrado una orden, ¿es ese el momento de la operación?
¿Y cómo puedo filtrar, sólo me interesan los tiempos de los pedidos?

No la duración, sino el momento de la transacción.

No hay pedidos en la lista de transacciones. En el terminal hay dos listas del historial: la lista de pedidos y la lista de operaciones. Estos son los que deben buscar exactamente lo que se necesita.

Lee la ayuda:

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...
 
Roman Kutemov:
No lo entiendo.
¿Duración?
O cuando cerramos una orden, ¿es ese el momento de la operación?
¿Y cómo puedo filtrarlo, sólo me interesan los tiempos de los pedidos?
Una posición cerrada tiene al menos dos órdenes y dos operaciones. Son los que caracterizan la posición. Primero una orden y una operación para abrir la posición, luego una orden y una operación para cerrar la posición. Si una orden en forma de orden pendiente puede "vivir" durante algún tiempo hasta que se ejecute una operación, entonces una operación no tiene ese "tiempo de vida" en absoluto.
 
Alexey Viktorov:
Una posición cerrada tiene al menos dos órdenes y dos operaciones. Esto es lo que caracteriza la posición. Primero una orden y una operación para abrir la posición, luego una orden y una operación para cerrar la posición. Si una orden en forma de orden pendiente puede "vivir" durante algún tiempo hasta que se ejecute una operación, entonces una operación no tiene ese "tiempo de vida" en absoluto.
Bien, entonces, ¿cómo determinamos el momento de abrir una posición que ya está en el historial?
 
Roman Kutemov:
Bien, entonces ¿cómo determinamos la hora de apertura de una posición que ya está en el historial?

Por la propiedad de transacción de la enumeración ENUM_DEAL_ENTRY

DEAL_ENTRY_IN

Entrada en el mercado

DEAL_ENTRY_OUT

Salida del mercado

DEAL_ENTRY_INOUT

Vuelta en U

DEAL_ENTRY_OUT_BY

Cerrar la posición del contador

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Сделка является отражением факта совершения торговой операции на основании ордера, содержащего торговый приказ. Каждая сделка описывается свойствами, позволяющими получить информацию о ней. Для чтения значений свойств используются функции вида Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая...
 
Alexey Viktorov:

Por la propiedad de transacción de la enumeración ENUM_DEAL_ENTRY

DEAL_ENTRY_IN

Entrada en el mercado

DEAL_ENTRY_OUT

Salida del mercado

DEAL_ENTRY_INOUT

Vuelta en U

DEAL_ENTRY_OUT_BY

Cerrar la posición del contador

Es posible que haya muchas entradas para un mismo puesto: ¿nos dará la información poco a poco?

Encuentre la primera operación de la posición DEAL_ENTRY_IN.

 
Roman Kutemov:
Bien, entonces ¿cómo se determina el momento de apertura de una posición que ya está en el historial?

Lee la ayuda - está todo ahí, y a veces con ejemplos.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Сделка является отражением факта совершения торговой операции на основании ордера, содержащего торговый приказ. Каждая сделка описывается свойствами, позволяющими получить информацию о ней. Для чтения значений свойств используются функции вида Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая...
 
Roman Kutemov:
Bien, entonces ¿cómo determinar la hora de apertura de una posición que ya está en el historial?

Dos opciones

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

OrderCloseTime Asesor Experto MQL5

fxsaber, 2018.07.06 00:49

#include <MT4Orders.mqh> // https://www.mql5.com/en/code/16006

void LastTimeMQL4( datetime &OpenTime, datetime &CloseTime )
{
  for (int i = OrdersHistoryTotal() - 1; i >= 0; i--)  
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && (OrderType() <= OP_SELL))
    {
      OpenTime = OrderOpenTime();
      CloseTime = OrderCloseTime();
      
      break;
    }
}

void LastTimeMQL5( datetime &OpenTime, datetime &CloseTime )
{
  if (HistorySelect(0, INT_MAX))
  {
    for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
    {
      const ulong Ticket = HistoryDealGetTicket(i);
  
      if (HistoryDealGetInteger(Ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT)
      {
        CloseTime = (datetime)HistoryDealGetInteger(Ticket, DEAL_TIME);

        if (HistorySelectByPosition(HistoryDealGetInteger(Ticket, DEAL_POSITION_ID)))
          OpenTime = (datetime)HistoryDealGetInteger(HistoryDealGetTicket(0), DEAL_TIME);
          
        break;
      }
    }
  }
}
La segunda opción es más lenta pero admite el uso de redes.
 
Artyom Trishkin:

Puede haber muchas entradas para un mismo puesto, ¿me lo vas a ir contando poco a poco?

Encuentre la primera operación de la posición DEAL_ENTRY_IN.

Artem, cuando se hace este tipo de preguntas, es el 99% que se escribe para el mercado de divisas y el 90% que para la cuenta hadge. ¿Por qué desde el principio complicar la vida al principiante?
 
Alexey Viktorov:
Artyom, cuando se hace este tipo de preguntas, es 99% que está escrito para el mercado de divisas y 90% que es para la cuenta hadge. ¿Por qué complicar la vida de un principiante al principio?
Sí, sí. No es necesario complicarse la vida)).
Después de mt4, es difícil entrar en él en absoluto.