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

 
Kolya32:
你好。你知道是否有一套适用于MQL5的即用型函数?例如, Igor Kim(又名KimIV)的MQL4库 https://www.mql5.com/ru/forum/131859

如果您使用MT4Orders库,所有这些功能都可以跨平台(在MT4和MT5中工作相同,无需改变代码)。

 
fxsaber:

如果您使用MT4Orders库,所有这些功能都可以跨平台使用(无需修改代码,在MT4和MT5中的工作原理相同)。

谢谢你。 在mql5中创建了一个EA,从mql4的EA中复制了一切,并添加了库。一开始,没有图书馆的时候有104个错误,有图书馆的时候有74个。这很好理解,因为图书馆的描述中说,该图书馆涵盖了订单 系统!这是很容易理解的。而且我的EA中还有很多很多东西......
 
Kolya32:
我在mql5中创建了一个EA,并从里面复制了所有东西。 在mql5中创建了一个EA,将mql4中的所有内容复制到其中,并附上库。一开始,没有图书馆的时候有104个错误,有图书馆的时候有74个。这很好理解,因为图书馆的描述中说,该图书馆涵盖了订单 系统!这是很容易理解的。而且我的EA中还有很多很多东西......

有很多使用这种方法进行EA转换的例子。最初我不是在谈论你的EA,而是在谈论金的功能。

 
fxsaber:

有很多使用这种方法进行EA转换的例子。本来,这不是关于你的EA,而是关于金的功能。

我明白,谢谢你。我将牢记这样一个库的存在,但我仍需要学习MQL5。我看到很少有现成的MQL5函数的例子,可以在MQL5中重新制作。
 
Kolya32:
我知道了,谢谢你。我将牢记这样一个库的存在,但我仍需要学习MQL5。 有几个现成的MQL5函数的例子,可以在MQL5中重新制作。
你需要为自己写作。这种做法:一种功能适用于所有场合是错误的。
你想在MQL5中制作什么功能?
 
Vladimir Karputov:
你需要为自己写作。这种做法:一种功能适用于所有场合是错误的。
你想在MQL5中制作什么功能?

一个万能的,可以在电脑关闭的时候砍掉奎德。而且最好是大面额的。你可以把它写在eurynotes中。))))。

 
Vladimir Karputov:
你必须为自己写。这种做法:一种功能适用于所有场合是错误的。
你想在MQL5中制作什么功能?

我真的需要一个MQL5的功能来检查是否有今天的账户。如果是,则为真,如果不是,则为假(当然是用魔法)。我在MT4上使用这个功能。

bool isTradeToDay(string sy="", int op=-1) {
  int i, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  k=OrdersTotal();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
 
Kolya32:

我真的需要一个MQL5的函数,来检查今天是否有交易。如果是,则为真,如果不是,则为假(当然,要有魔术设置)。我在MT4上使用这个功能。

请先尝试正确插入代码。我不想看你那张纯文本。
 
Vladimir Karputov:
请先尝试正确插入代码。不愿意看你的那张纯文本。
已更正)
 
Kolya32:

我真的需要一个MQL5的函数,来检查今天是否有交易。如果是,则为真,如果不是,则为假(当然,要有魔术设置)。我在MT4中使用这个功能。

它是在MQL5中

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

返回的值

如果成功返回true,否则返回false。

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...