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

 
Kolya32:
Hola. ¿Sabes si existe un conjunto de funciones listas para usar para MQL5? Por ejemplo, la biblioteca MQL4 de Igor Kim, alias KimIV https://www.mql5.com/ru/forum/131859

Todas estas funciones pueden ser multiplataforma (funcionan igual en MT4 y MT5 sin cambiar el código) si se utiliza la biblioteca MT4Orders.

 
fxsaber:

Todas estas funciones pueden ser multiplataforma (sin cambiar el código para que funcione igual en MT4 y MT5) si se utiliza la librería MT4Orders.

Gracias. He creado un EA en mql5, he copiado todo del EA de mql4 y he conectado la biblioteca. Al principio había 104 errores sin la biblioteca y 74 con la biblioteca. ¡Esto es bastante comprensible, porque la descripción de la biblioteca dice que la biblioteca cubresólo el sistema de pedidos!Y tengo muchas más cosas en mi EA...
 
Kolya32:
He creado un EA en mql5 y he copiado todo de él. He creado un EA en mql5, he copiado en él todo lo de mql4 y he adjuntado la biblioteca. Al principio había 104 errores sin la biblioteca y 74 con la biblioteca. ¡Esto es bastante comprensible, porque la descripción de la biblioteca dice que la biblioteca cubresólo el sistema de pedidos!Y tengo muchas más cosas en mi EA...

Hay muchos ejemplos de conversiones de EA con este método. Inicialmente no me refería a su EA, sino a las funciones de Kim.

 
fxsaber:

Hay muchos ejemplos de conversiones de EA con este método. Originalmente, esto no era sobre su EA, sino sobre las funciones de Kim.

Lo entiendo, gracias. Tendré en cuenta que esa biblioteca existe, pero todavía tengo que aprender MQL5. He visto muy pocos ejemplos de funciones MQL5 ya hechas que puedan rehacerse en MQL5.
 
Kolya32:
Lo tengo, gracias. Tendré en cuenta que esa biblioteca existe, pero todavía tengo que aprender MQL5. Hay algunos ejemplos de funciones ya hechas en MQL5 que podrían rehacerse en MQL5.
Tienes que escribir para ti. El planteamiento: una función para todas las ocasiones es erróneo.
¿Qué función quieres hacer en MQL5?
 
Vladimir Karputov:
Tienes que escribir para ti. El planteamiento: una función para todas las ocasiones es erróneo.
¿Qué función quieres hacer en MQL5?

Una universal, que podría cortar quid mientras el ordenador está apagado. Y preferiblemente en grandes denominaciones. Puedes escribirlo en eurynotes. ))))

 
Vladimir Karputov:
Tienes que escribirlo para ti. El planteamiento: una función para todas las ocasiones es erróneo.
¿Qué función te gustaría hacer en MQL5?

Realmente necesito una FUNCIÓN MQL5 PARA VERIFICAR SI UNA CUENTA DE HOY. Si es sí, entonces verdadero, si es no, entonces falso (con Magic, por supuesto). Yo uso esta función en 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:

Realmente necesito una FUNCIÓN en MQL5 que compruebe si se ha realizado una operación hoy. Si es sí, entonces verdadero, si es no, entonces falso (con la Magia puesta, por supuesto). Yo uso esta función en MT4.

Por favor, intente insertar el código correctamente primero. No quiero mirar tu hoja de texto plano.
 
Vladimir Karputov:
Por favor, intente insertar el código correctamente primero. No hay ganas de mirar su hoja de texto plano.
Corregido)
 
Kolya32:

Realmente necesito una FUNCIÓN en MQL5 que compruebe si se ha realizado una operación hoy. Si es sí, entonces verdadero, si es no, entonces falso (con la Magia puesta, por supuesto). Yo uso esta función en MT4.

Está en MQL5

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

Valor devuelto

Devuelve true si tiene éxito, en caso contrario false.

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