Biblioteca de Roffild - página 3

 
Roffild:

¿Por qué tendría que inventar algo complicado?

El ejemplo no demuestra el indicador, sino la posibilidad de emitir la información del Asesor Experto como un indicador sin necesidad de crear código externo.

Si ToIndicator_Example.mq5 no ha funcionado, entonces el código de la carpeta Indicators\Roffild no debe haber sido construido cuando el terminal fue lanzado. El registro sería útil.

Por supuesto, todos estamos acostumbrados a crear todo desde cero, por lo que nadie quiere aprender nuevas bibliotecas, pero en el mundo actual, utilizar código de terceros es una práctica común...

Los desarrolladores de la plataforma están mejorando sistemáticamente el sistema de clasificación de los módulos de software por funcionalidad, y tú y tus bibliotecas vais en dirección contraria y queréis despersonalizarlo todo de nuevo...)
 
Ivan Negreshniy:
Los desarrolladores de la plataforma mejoran sistemáticamente el sistema de clasificación de los módulos de software por funcionalidad, y tú y tus bibliotecas vais en dirección contraria y queréis despersonalizarlo todo de nuevo...)

Para dividir en módulos, se necesita un sistema de gestión de dependencias. Ahora no existe ese sistema para MQL y es poco probable que lo haya.

En el desarrollo normal no hay una división clara en Asesor Experto, Bibliotecas, Indicador y Script - todo está interconectado. En MQ decidieron separarlos. Esta división es adecuada para pequeños proyectos que inundan CodeBase.

La razón principal de la ausencia de esta biblioteca en CodeBase es la imposibilidad de publicar todos los ficheros en un archivo o a través del sistema de control de versiones. Ahora tienes que añadir cada archivo individualmente a la base de datos - pero eso es una tontería... Así que no puede haber proyectos medianos y grandes en CodeBase debido a estas limitaciones.

 
Hola, puedes codificar el uso de la librería para el log(Log4MQL.mqh yLog4MQL_tofile.mqh+ módulo paraLogMX) cómo escribir en el log.
 
Archivos adjuntos:
 

Biblioteca Roffild

Soy conocido por la comunidad de programadores de MQL5 como Roffild y esta es mi biblioteca de código abierto para MQL5. Es un intento de implementar en MQL5 características que se convirtieron en un estándar para los lenguajes de programación más populares hace tiempo. Una idea se implementa en cada archivo. La biblioteca se repone a medida que se necesitan nuevas funciones.

Pocas personas han intentado publicar el proyecto en Github. No existe una norma unificada. MetaQuotes no tiene en cuenta el uso del sistema de control de versiones al crear un proyecto. Por alguna razón, los programadores de MetaQuotes piensan que un proyecto debe ser de un solo tipo. Para los proyectos pequeños, que se publican en CodeBase en MQL5.com, esta división es razonable. Para los proyectos medianos y grandes, es imposible seleccionar un tipo de proyecto.

He experimentado con diferentes estructuras de construcción de proyectos. Tuve que mover los archivos fuera de la estructura de carpetas estándar de MetaQuotes para poder utilizar Git. Crear un enlace a una carpeta intermedia (en esta biblioteca la carpeta "Roffild") es la mejor opción.

El MetaEditor puede guardar el código en UTF-16, pero también admite la codificación UTF-8 con BOM. Para convertir el archivo de código fuente es necesario utilizar un editor de terceros (recomiendo Notepad++).

La biblioteca se puede subdividir en intereses:

  • tareas comunes (ArrayList, Log4MQL, ToIndicator, etc.);
  • experimentos con AlgLib en el aprendizaje automático;
  • utilizando Apache Spark con Amazon Web Services (EC2 y EMR), cuando las características de AlgLib no son suficientes.

Documentación

MQL5
Java

Referencias

Roffild.com
Github
MQL5.com: tema de discusión en inglés
MQL5.com: tema de discusión en ruso


Instalación de

(Opcional)

mklink /j link donde - no requiere derechos de administrador.

Tiene sentido poner la carpeta %APPDATA%\MetaQuotes en la raíz de una partición o en una partición más grande. Windows tiene un límite de 255 caracteres en la ruta del archivo. Tengo una ruta completa a la carpeta MQL5 que contiene 88 caracteres. Al hacer la prueba, el terminal copia el historial por el número de agentes locales, lo que aumenta el tamaño de esta carpeta en varios Gbytes.

  1. Mover la carpeta %APPDATA%\MetaQuotes a D:\MQLProjects
  2. mklink /j %APPDATA%\MetaQuotes D:\MQLProjects
  3. mklink /j D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\ D:\MQLProjects\MQL5

(Importante)

Ejecute create_links.bat desde la carpeta MQL5\MyProjects\RoffildLibrary después de clonar el proyecto.

Código de estilo

Estilo Java de Google

Tabulador = 3 espacios

Límite de columna = 110

Licencia

Licencia Apache 2.0

 
Библиотека Roffild’a
Библиотека Roffild’a
  • roffild.com
Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях. Мало кто...
 
Hay"Escribir datos en el archivo de formato MySQL", ¿por qué no hay lectura de este formato?
 
Aleksey Vyazmikin:
Existe"Escribir datos en el formato de archivo de MySQL", pero ¿por qué no se lee desde este formato?
Porque es fácil escribir en un formato de texto, pero para leer desde este formato hay que utilizar un analizador sintáctico. https://en.wikipedia.org/wiki/Parsing
Parsing - Wikipedia
  • en.wikipedia.org
The term has slightly different meanings in different branches of linguistics and computer science. Traditional sentence parsing is often performed as a method of understanding the exact meaning of a sentence or word, sometimes with the aid of devices such as sentence diagrams. It usually emphasizes the importance of grammatical divisions such...
 
Roffild:
Porque es fácil escribir en un formato de texto, pero hay que utilizar un analizador sintáctico para leer desde este formato. https://en.wikipedia.org/wiki/Parsing

Por ejemplo, crear 1000 columnas con MQL no es nada fácil...

 
Aleksey Vyazmikin:

Quién puede y quién no, por ejemplo crear 1000 columnas usando MQL no es nada fácil...

Um... MQL no tiene ninguna columna. Y MQL != SQL son lenguajes completamente diferentes.

Es más fácil para los que saben de SQL cribar los mejores pases después de la optimización cuando su número supera los 5000 pases. Implementado en TesterSql.mqh