初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1032

 
Artyom Trishkin:

这是交易的时间。

我不明白。
持续时间?
或者当我们关闭一个订单时,是否就是交易的时间?
而我如何将其过滤掉,我只对设置订单的时间感兴趣?
 
Roman Kutemov:
我不明白。
持续时间?
或者当我们已经关闭了一个订单,那是交易的时间吗?
那我该如何过滤,我只对订单时间感兴趣?

不是期限,而是交易的时间

交易列表中没有订单。在终端有两个历史列表--订单列表和交易列表。这些人正是要寻找所需的东西。

阅读帮助。

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...
 
Roman Kutemov:
我不明白。
持续时间?
或者当我们关闭一个订单时,是否就是交易的时间?
那么我如何过滤呢,我只对订单时间感兴趣?
一个关闭的头寸 至少有两个订单和两个交易。它们是决定立场的特征。首先是一个订单和一个交易来开仓,然后是一个订单和一个交易来平仓。如果一个挂单形式的订单可以 "存活 "一段时间,直到交易被执行,那么交易就根本没有这样的 "寿命"。
 
Alexey Viktorov:
一个关闭的头寸 至少有两个订单和两个交易。正是这些构成了这一立场的特点。首先是一个订单和一个交易来开仓,然后是一个订单和一个交易来平仓。如果一个挂单形式的订单可以 "生存 "一段时间,直到交易被执行,那么交易就根本没有这样的 "寿命"。
好吧,那么我们如何确定已经在历史上的仓位的开仓时间?
 
Roman Kutemov:
好的,那么我们如何确定已经在历史中的仓位的开仓时间?

通过ENUM_DEAL_ENTRY 枚举的交易属性

帐户

市场进入

拒绝接受

市场退出

交易_进入_退出

U-turn

交易_进入_退出_by

近距离反击位置

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

通过ENUM_DEAL_ENTRY 枚举的交易属性

帐户

市场进入

拒绝接受

市场退出

交易_进入_退出

U-turn

交易_进入_退出_by

近距离反击位置

一个职位可能有很多条目--你能一点一点地给我们提供信息吗?

找到DEAL_ENTRY_IN 位置的第一笔 交易。

 
Roman Kutemov:
好吧,那么你如何确定已经进入历史的职位的开仓时间?

阅读帮助--都在那里,有时还有例子。

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Сделка является отражением факта совершения торговой операции на основании ордера, содержащего торговый приказ. Каждая сделка описывается свойствами, позволяющими получить информацию о ней. Для чтения значений свойств используются функции вида Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая...
 
Roman Kutemov:
好的,那么如何确定已经在历史上的位置的开仓时间呢?

两个选择

关于交易、自动交易系统和测试交易策略的论坛

订单关闭时间专家顾问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;
      }
    }
  }
}
第二种方案速度较慢,但支持织网。
 
Artyom Trishkin:

一个职位可以有很多条目--你就这样一点一点地告诉我吗?

找到DEAL_ENTRY_IN 位置的第一笔 交易。

Artem,当你问这样的问题时,99%是为外汇市场写的,90%是为账户写的。为什么从一开始就将生活复杂化给初学者?
 
Alexey Viktorov:
Artyom,当你问这样的问题时,99%是为外汇市场写的,90%是为Hedge账户写的。为什么一开始就把初学者的生活复杂化?
是的,是的。没有必要让生活复杂化))。
在mt4之后,就很难再进入它了。