Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1032

 
Artyom Trishkin:

Questo è il momento del commercio.

Non capisco.
Durata?
O quando chiudiamo un ordine, è l'ora del commercio?
E come faccio a filtrarlo, mi interessa solo il tempo di impostazione degli ordini?
 
Roman Kutemov:
Non capisco.
Durata?
O quando abbiamo chiuso un ordine, è l'ora del commercio?
E come faccio a filtrare, mi interessano solo i tempi dell'ordine?

Non la durata, ma il tempo della transazione.

Non ci sono ordini nella lista delle transazioni. Ci sono due liste di cronologia nel terminale - la lista degli ordini e la lista delle offerte. Questi sono quelli che cercano esattamente ciò che è necessario.

Leggete l'aiuto:

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...
 
Roman Kutemov:
Non capisco.
Durata?
O quando chiudiamo un ordine, è l'ora del commercio?
E come faccio a filtrarlo, mi interessano solo i tempi dell'ordine?
Una posizione chiusa ha almeno due ordini e due scambi. Sono quelli che caratterizzano la posizione. Prima un ordine e un trade per aprire la posizione, poi un ordine e un trade per chiudere la posizione. Se un ordine sotto forma di ordine pendente può "vivere" per un certo tempo fino all'esecuzione di un'operazione, allora un'operazione non ha affatto questa "durata".
 
Alexey Viktorov:
Una posizione chiusa ha almeno due ordini e due scambi. Sono questi che caratterizzano la posizione. Prima un ordine e un trade per aprire la posizione, poi un ordine e un trade per chiudere la posizione. Se un ordine sotto forma di ordine pendente può "vivere" per un certo tempo fino all'esecuzione di un'operazione, allora un'operazione non ha affatto questa "durata".
OK, allora come facciamo a determinare il tempo per aprire una posizione che è già nella storia?
 
Roman Kutemov:
OK, allora come facciamo a determinare il tempo di apertura di una posizione che è già nella storia?

Dalla proprietà transazione dell'enumerazione ENUM_DEAL_ENTRY

DEAL_ENTRY_IN

Ingresso nel mercato

DEAL_ENTRY_OUT

Uscita dal mercato

INGRESSO_INOUT

U-turn

INGRESSO_FUORI_DA

Chiudere la posizione del contatore

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

Dalla proprietà transazione dell'enumerazione ENUM_DEAL_ENTRY

DEAL_ENTRY_IN

Ingresso nel mercato

DEAL_ENTRY_OUT

Uscita dal mercato

INGRESSO_INOUT

U-turn

INGRESSO_FUORI_DA

Chiudere la posizione del contatore

Ci possono essere molte voci per una posizione - puoi darci le informazioni un po' alla volta?

Trova il primo trade della posizione DEAL_ENTRY_IN.

 
Roman Kutemov:
Ok, allora come si fa a determinare il tempo di apertura di una posizione che è già nella storia?

Leggete l'aiuto - è tutto lì, e a volte con esempi.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Сделка является отражением факта совершения торговой операции на основании ордера, содержащего торговый приказ. Каждая сделка описывается свойствами, позволяющими получить информацию о ней. Для чтения значений свойств используются функции вида Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая...
 
Roman Kutemov:
Ok, allora come determinare il tempo di apertura di una posizione che è già nella storia?

Due opzioni

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Consulente esperto OrderCloseTime 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 seconda opzione è più lenta ma supporta le reti.
 
Artyom Trishkin:

Ci possono essere molte voci per una posizione - hai intenzione di continuare a dirmelo un po' alla volta?

Trova il primo trade della posizione DEAL_ENTRY_IN.

Artem, quando fai queste domande, è il 99% che è scritto per il mercato forex e il 90% che per l'account hadge. Perché dall'inizio complicare la vita al principiante?
 
Alexey Viktorov:
Artyom, quando fai queste domande, è al 99% che è scritto per il mercato forex e al 90% che è per il conto hadge. Perché complicare la vita di un principiante all'inizio?
Sì, sì. Non c'è bisogno di complicarsi la vita)).
Dopo mt4 è difficile entrarci del tutto.