Oigo a menudo que los mercados son volátiles e inestables. Y esto
explica el motivo por el cual el trading a largo plazo no tiene éxito.
Pero, ¿es cierto? Vamos a tratar de analizar este problema desde un
punto de vista científico. Y vamos a elegir el método de análisis econométrico.
¿Por qué los métodos econométricos? En primer lugar, a la comunidad MQL
le encanta la precisión, algo que proporcionan las matemáticas y las
estadísticas. En segundo lugar, si no me equivoco, esto no se ha tratado
antes.
Cabe señalar que el problema del éxito del trading a largo plazo no
se puede solucionar en un solo artículo. En este artículo, voy a
describir solamente algunos métodos de diagnóstico para el modelo
seleccionado, esperando que sean útiles para su uso futuro.
Además, voy a hacer lo mejor para describir de un modo claro algunos
conceptos aburridos que incluyen fórmulas, teoremas e hipótesis. Sin
embargo, espero que los lectores ya conocen algunos conceptos básicos de
estadísticas, tales como: hipótesis, significación estadística,
estadísticas (normas estadísticas), dispersión, distribución,
probabilidad, regresión, autocorrelación, etc.
Economics General classifications Technical methods Fields and subfields Lists Econometrics is the application of mathematics, statistical methods, and, more recently, computer science, to economic data and is described as the branch of economics that aims to give empirical content to economic relations.1 More precisely, it is...
Las capacidades técnicas del terminal de MetaTrader 5 y su probador
de estrategias determinan el funcionamiento y las pruebas de los
sistemas de trading multidivisa. La complejidad del desarrollo de dichos
sistemas en MetaTrader 4 es muy complicada, en primer lugar, debido a
la imposibilidad de probar varias herramientas de trading de modo
simultáneo tick por tick. Por otro lado, los recursos del lenguaje MQL4
son limitados y no permiten la organización de estructuras complejas de
datos ni la gestión eficiente de estos últimos.
Con el lanzamiento de MQL5, la situación ha cambiado. Dese entonces, MQL5 soporta la metodología orientada a objetos, se basa en un mecanismo de desarrollo de funciones adicionales, e incluso dispone de de un conjunto de clases básicas de librerías estándar
para facilitar la tareas diarias de los usuarios; que van desde la
organización de los datos hasta las interfaces de trabajo de las
funciones estándar del sistema.
Y a pesar de las especificaciones técnicas del probador de
estrategias y la posibilidad de usar Expert Advisors multidivisa en el
terminal, no hay métodos integrados para poner en paralelo el
funcionamiento de un EA de modo simultáneo con varios instrumentos y
períodos de tiempo. Al igual que antes, para un funcionamiento más
sencillo del EA, hay que ejecutarlo en la ventana del símbolo que
determina el nombre del instrumento de trading y su período de tiempo.
Como resultado, la metodología de trabajo, aprobada en los tiempos de
MetaTrader 4, no permite sacar el máximo provecho del probador de
estrategias y del terminal de MetaTrader 5.
Junto con las variables y las funciones, los arrays forman prácticamente
una parte integrante de cualquier lenguaje de programación. Como se ha
observado, algunas personas que empiezan a estudiar la programación
tienen horror a los arrays. ¡Parece extraño, pero es verdad! Puedo
asegurarles que no hay que temerlos. En realidad, los arrays son como
las variables comunes.
El gráfico "Renko" recibió su nombre de la palabra japonesa "renga" -
ladrillo, lo cual no es sorprendente, teniendo en cuenta que constituye
una serie de "ladrillos", dispuestos de uno en uno, en una superficie
vertical. Conforme va creciendo el precio, los "ladrillos" van subiendo
más y más arriba, o al contrario, van bajando con la disminución del
precio. Si traducimos del japonés, la palabra "Renko" significa "paso silencioso".
El gráfico "Renko" apareció en Japón probablemente sobre el siglo XIX,
pero en EE.UU y Europa sólo se llegó a conocer después de la publicación
del libro «Más allá de las velas japonesas», de Steve Nison, en 1994 (en inglés Beyond Candlesticks).
El gráfico "Renko", al igual que los gráficos mencionados con
anterioridad, ignora la escala temporal y se orienta sólo por el
movimiento de los precios. A diferencia del gráfico "Cruces-Círculos",
el gráfico "Renko" representa cada "ladrillo" con una nueva columna (en
una nueva superficie vertical), en lo demás, el análisis de su
construcción tiene mucho en común: existe un tamaño fijo del "ladrillo"
(de la "cruz", y del "círculo"), el precio se analiza y las figuaras de
construyen de manera análoga.
Así pues, el gráfico "Renko" constituye un conjunto de rectángulos
verticales ("ladrillos"). El "ladrillo" creciente normalmente es de
color blanco, y el decreciente de color negro. La representación es
regulada por el movimiento del precio. El precio actual del periodo
examinado se compara con el mínimo y el máximo del "ladrillo" precedente
(blanco o negro). Si el precio actual es mayor que el máximo del
"ladrillo" precedente en un tamaño equivalente o superior al de un
"ladrillo", entonces en la nueva columna del máximo del "ladrillo"
precedente se forma el siguiente "ladrillo" (de color blanco), o varios.
Y al revés, si el precio actual es inferior al mínimo del "ladrillo"
precedente en un tamaño equivalente o superior al de un "ladrillo",
entonces se forma un "ladrillo" descendente de color negro.
El primer "ladrillo" del cálculo de la representación del gráfico se
forma dependiendo del movimiento del precio en el periodo tratado,
teniendo en cuenta el precio del mínimo o el máximo del ladrillo
anterior, se toma el precio de apertura de la barra.
Point and figure (P&F) is a charting technique used in technical analysis. Point and figure charting is unique in that it does not plot price against time as all other techniques do. Instead it plots price against changes in direction by plotting a column of Xs as the price rises and a column of Os as the price falls.[ ] The technique is over...
En la actualidad existen medios
suficientes para monitorizar a distancia una cuenta comercial, con toda
comodidad: con la ayuda de los terminales móviles, las notificaciones
push y el trabajo con ICQ. Pero para todo ello se debe tener conexión a
internet. Este artículo describe la creación un experto que les
permitirá mantenerse en contacto con su terminal comercial, incluso en
el caso de que el internet móvil no está disponible, más concretamente
con ayuda de llamadas y mensajes SMS. Asímismo, este experto le tendrá
al tanto de el corte y el reestablecimiento de la conexión con el
servidor comercial.
Para ello nos valdrá prácticamente
cualquier módem GSM, así como la mayoría de los teléfonos que tengan la
función de módem. Como ejemplo hemos elegido el módem Huawei E1550,
ya que se trata de uno de los dispositivos más extendidos de su género.
Además, al final del artículo probaremos a conectar un viejo teléfono Siemens M55 (del año 2003) en lugar del módem y veremos qué ocurre.
Pero antes diremos unas cuantas palabras sobre cómo enviar un byte de información del experto al módem.
En MetaTrader 5 el usuario no puede utilizar sus propios gráficos,
dado que el gráfico sólo puede representarse en base a los símbolos que
suministra su bróker. En el caso de los futuros, el trader necesita para
el análisis un instrumento sintético, un futuro contínuo, fruto del
pegado. El problema es que semejante pagado lo lleva a cabo sólo el
bróker, y eso significa que sólo el bróker decide si va a realizar el
pegado conforme al símbolo dado o no.
Por fortuna, en el terminal se puede
acceder a la historia de los futuros, cuya información de circulación ya
ha expirado. Esto significa que utilizaremos la historia y la pegaremos
por nosotros mismos en el terminal.
En el presente artículo se estudia una de las aproximaciones para
determinar la utilidad de una señal (tendencia) de flujo de datos.
Algunos tests para el filtrado (suavización) de las cotizaciones de la
bolsa, bastante útiles, demuestran la posibilidad potencial de crear
filtros digitales (indicadores) que no sufran retrasos temporales y no
se redibujen en las últimas barras.
Muchos desarrolladores han pensado sobre la necesidad de usar en sus
proyectos bases de datos para el almacenamiento de información, pero
cada vez que han querido ponerse a ello, la idea del gasto de tiempo que
significa la instalación de un servidor SQL les ha echado para atrás.
Si para un programador no es complicado realizar esto (o ya tiene
instalado un SGBD (SQL por sus siglas en inglés) con otros fines), para
un usuario común esta operación conlleva muchas dudas y cuestiones, o
incluso le quita las ganas de instalar un software.
En tal caso, el programador puede, sencillamente, dejar a un lado el
SGBD, ya que entiende que, salvo él, son muy pocos los que usan esta
opción. Al final se lleva a cabo el trabajo con archivos (con frecuencia
más de uno, si los datos son dispares): se usa CSV, con menos
frecuencia XML o JSON, o bien se graban datos binarios con un tamaño de
estructura muy grande, etc.
¡Pero resulta que existe una alternativa magnífica a los servidores
SQL! Además, no es necesario instalar software adicional, todo el
trabajo tiene lugar a nivel local en su proyecto, e incluso así, usted
estará utilizando toda la potencia del lenguaje SQL. El nombre de esta
alternativa es: SQLite.
El objetivo de este artículo es hacer posible que el usuario comience
a usar SQLite rápidamente. Por eso, no voy a profundizar en los
detalles y conjuntos de parámetros posibles o las banderas de funciones,
sino que voy a crear un conector que ejecuta comandos SQL, y mostraré
su utilización con ejemplos.
Los requisitos imprescindibles para trabajar con el artículo son:
Buen humor ;)
Extraiga el archivo de la aplicación que viene con el artículo a una carpeta del terminal de trabajo MetaTrader 5
Instale cualquier utility para el visionado de las bases SQLite (por ejemplo, SQLiteStudio)
SQLiteStudio is a SQLite database manager with the following features: Single executable file - no need to install or uninstall. Binary distribution is just the single, ready to use file. Intuitive interface, All SQLite3 and SQLite2 features wrapped within simple GUI, Cross-platform - runs on Windows 9x/2k/XP/2003/Vista/7, Linux, MacOS X...
El lenguaje MQL5 ofrece un amplio abanico de cómodas prestaciones
para trabajar con las cadenas de caracteres. En programación de los
Asesores Expertos (EA) e indicadores, con mayor frecuencia las cadenas
se utilizan para crear los mensajes informativos. En los indicadores
puede tratarse de los mensaje sobre la ejecución de algunas condiciones
(por ejemplo, señales de trading), en los EAs pueden ser los mensajes
sobre los resultados de ejecución de acciones de trading. Cuando se
inicia un EA, script o indicador, puede ejecutarse el chequeo de los
parámetros establecidos por el usuario notificándole sobre los
parámetros inválidos. Aparte de las notificaciones, a veces puede salir
un mensaje de ayuda con las sugerencias respecto a la configuración de
parámetros. En fin, durante la programación en MQL5, el uso de las
cadenas ofrece en primer lugar la comodidad para el usuario.
Además de la comodidad, el trabajo con las cadenas es imprescindible
cuando trabajamos con los archivos. La escritura y la lectura desde los
archivos se realiza utilizando las variables de cadenas. Desde luego,
existe otro modo de trabajar con los archivos: se trata del método
binario que asegura la lectura y la escritura de variables numéricas y
arrays. Sin embargo, si los volúmenes de datos son pequeños, es mejor
utilizar los archivos de texto y las cadenas. En este caso el
funcionamiento del programa es más transparente para el usuario, el
proceso de desarrollo del programa también resulta ser más fácil ya que
se asegura el control directo de datos. En los archivos de texto los
datos tienen el mismo aspecto que los datos dentro del programa.
Análisis de los gráficos mediante métodos econométricos
Oigo a menudo que los mercados son volátiles e inestables. Y esto explica el motivo por el cual el trading a largo plazo no tiene éxito. Pero, ¿es cierto? Vamos a tratar de analizar este problema desde un punto de vista científico. Y vamos a elegir el método de análisis econométrico. ¿Por qué los métodos econométricos? En primer lugar, a la comunidad MQL le encanta la precisión, algo que proporcionan las matemáticas y las estadísticas. En segundo lugar, si no me equivoco, esto no se ha tratado antes.
Cabe señalar que el problema del éxito del trading a largo plazo no se puede solucionar en un solo artículo. En este artículo, voy a describir solamente algunos métodos de diagnóstico para el modelo seleccionado, esperando que sean útiles para su uso futuro.
Además, voy a hacer lo mejor para describir de un modo claro algunos conceptos aburridos que incluyen fórmulas, teoremas e hipótesis. Sin embargo, espero que los lectores ya conocen algunos conceptos básicos de estadísticas, tales como: hipótesis, significación estadística, estadísticas (normas estadísticas), dispersión, distribución, probabilidad, regresión, autocorrelación, etc.Crear Multi-Expert Advisors basados en los modelos de trading
Las capacidades técnicas del terminal de MetaTrader 5 y su probador de estrategias determinan el funcionamiento y las pruebas de los sistemas de trading multidivisa. La complejidad del desarrollo de dichos sistemas en MetaTrader 4 es muy complicada, en primer lugar, debido a la imposibilidad de probar varias herramientas de trading de modo simultáneo tick por tick. Por otro lado, los recursos del lenguaje MQL4 son limitados y no permiten la organización de estructuras complejas de datos ni la gestión eficiente de estos últimos.
Con el lanzamiento de MQL5, la situación ha cambiado. Dese entonces, MQL5 soporta la metodología orientada a objetos, se basa en un mecanismo de desarrollo de funciones adicionales, e incluso dispone de de un conjunto de clases básicas de librerías estándar para facilitar la tareas diarias de los usuarios; que van desde la organización de los datos hasta las interfaces de trabajo de las funciones estándar del sistema.
Y a pesar de las especificaciones técnicas del probador de estrategias y la posibilidad de usar Expert Advisors multidivisa en el terminal, no hay métodos integrados para poner en paralelo el funcionamiento de un EA de modo simultáneo con varios instrumentos y períodos de tiempo. Al igual que antes, para un funcionamiento más sencillo del EA, hay que ejecutarlo en la ventana del símbolo que determina el nombre del instrumento de trading y su período de tiempo. Como resultado, la metodología de trabajo, aprobada en los tiempos de MetaTrader 4, no permite sacar el máximo provecho del probador de estrategias y del terminal de MetaTrader 5.
Fundamentos de programación en MQL5 - Arrays
Junto con las variables y las funciones, los arrays forman prácticamente una parte integrante de cualquier lenguaje de programación. Como se ha observado, algunas personas que empiezan a estudiar la programación tienen horror a los arrays. ¡Parece extraño, pero es verdad! Puedo asegurarles que no hay que temerlos. En realidad, los arrays son como las variables comunes.
Indicador para la representación del gráfico "Renko"
En los artículos Indicador para la representación del gráfico "Cruces - Círculos" e Indicador para la representación del gráfico "Kagi" se vieron los métodos de representación de los indicadores de los gráficos: "Cruces - Círculos" y "Kagi". Continuando con esta serie de artículos, esta vez vamos a ver uno de los tipos de representación de programa "Renko".
El gráfico "Renko" recibió su nombre de la palabra japonesa "renga" - ladrillo, lo cual no es sorprendente, teniendo en cuenta que constituye una serie de "ladrillos", dispuestos de uno en uno, en una superficie vertical. Conforme va creciendo el precio, los "ladrillos" van subiendo más y más arriba, o al contrario, van bajando con la disminución del precio. Si traducimos del japonés, la palabra "Renko" significa "paso silencioso". El gráfico "Renko" apareció en Japón probablemente sobre el siglo XIX, pero en EE.UU y Europa sólo se llegó a conocer después de la publicación del libro «Más allá de las velas japonesas», de Steve Nison, en 1994 (en inglés Beyond Candlesticks).
El gráfico "Renko", al igual que los gráficos mencionados con anterioridad, ignora la escala temporal y se orienta sólo por el movimiento de los precios. A diferencia del gráfico "Cruces-Círculos", el gráfico "Renko" representa cada "ladrillo" con una nueva columna (en una nueva superficie vertical), en lo demás, el análisis de su construcción tiene mucho en común: existe un tamaño fijo del "ladrillo" (de la "cruz", y del "círculo"), el precio se analiza y las figuaras de construyen de manera análoga.
Así pues, el gráfico "Renko" constituye un conjunto de rectángulos verticales ("ladrillos"). El "ladrillo" creciente normalmente es de color blanco, y el decreciente de color negro. La representación es regulada por el movimiento del precio. El precio actual del periodo examinado se compara con el mínimo y el máximo del "ladrillo" precedente (blanco o negro). Si el precio actual es mayor que el máximo del "ladrillo" precedente en un tamaño equivalente o superior al de un "ladrillo", entonces en la nueva columna del máximo del "ladrillo" precedente se forma el siguiente "ladrillo" (de color blanco), o varios. Y al revés, si el precio actual es inferior al mínimo del "ladrillo" precedente en un tamaño equivalente o superior al de un "ladrillo", entonces se forma un "ladrillo" descendente de color negro.
El primer "ladrillo" del cálculo de la representación del gráfico se forma dependiendo del movimiento del precio en el periodo tratado, teniendo en cuenta el precio del mínimo o el máximo del ladrillo anterior, se toma el precio de apertura de la barra.
Cómo trabajar con el módem GSM de un experto de MQL5
En la actualidad existen medios suficientes para monitorizar a distancia una cuenta comercial, con toda comodidad: con la ayuda de los terminales móviles, las notificaciones push y el trabajo con ICQ. Pero para todo ello se debe tener conexión a internet. Este artículo describe la creación un experto que les permitirá mantenerse en contacto con su terminal comercial, incluso en el caso de que el internet móvil no está disponible, más concretamente con ayuda de llamadas y mensajes SMS. Asímismo, este experto le tendrá al tanto de el corte y el reestablecimiento de la conexión con el servidor comercial.
Para ello nos valdrá prácticamente cualquier módem GSM, así como la mayoría de los teléfonos que tengan la función de módem. Como ejemplo hemos elegido el módem Huawei E1550, ya que se trata de uno de los dispositivos más extendidos de su género. Además, al final del artículo probaremos a conectar un viejo teléfono Siemens M55 (del año 2003) en lugar del módem y veremos qué ocurre.
Pero antes diremos unas cuantas palabras sobre cómo enviar un byte de información del experto al módem.
Pegado de contrato de futuros en MetaTrader 5
En MetaTrader 5 el usuario no puede utilizar sus propios gráficos, dado que el gráfico sólo puede representarse en base a los símbolos que suministra su bróker. En el caso de los futuros, el trader necesita para el análisis un instrumento sintético, un futuro contínuo, fruto del pegado. El problema es que semejante pagado lo lleva a cabo sólo el bróker, y eso significa que sólo el bróker decide si va a realizar el pegado conforme al símbolo dado o no.
Por fortuna, en el terminal se puede acceder a la historia de los futuros, cuya información de circulación ya ha expirado. Esto significa que utilizaremos la historia y la pegaremos por nosotros mismos en el terminal.
Creación de filtros digitales sin retardo temporal
En el presente artículo se estudia una de las aproximaciones para determinar la utilidad de una señal (tendencia) de flujo de datos. Algunos tests para el filtrado (suavización) de las cotizaciones de la bolsa, bastante útiles, demuestran la posibilidad potencial de crear filtros digitales (indicadores) que no sufran retrasos temporales y no se redibujen en las últimas barras.
SQL y MQL5: Trabajando con la base de datos SQLite
Muchos desarrolladores han pensado sobre la necesidad de usar en sus proyectos bases de datos para el almacenamiento de información, pero cada vez que han querido ponerse a ello, la idea del gasto de tiempo que significa la instalación de un servidor SQL les ha echado para atrás. Si para un programador no es complicado realizar esto (o ya tiene instalado un SGBD (SQL por sus siglas en inglés) con otros fines), para un usuario común esta operación conlleva muchas dudas y cuestiones, o incluso le quita las ganas de instalar un software.
En tal caso, el programador puede, sencillamente, dejar a un lado el SGBD, ya que entiende que, salvo él, son muy pocos los que usan esta opción. Al final se lleva a cabo el trabajo con archivos (con frecuencia más de uno, si los datos son dispares): se usa CSV, con menos frecuencia XML o JSON, o bien se graban datos binarios con un tamaño de estructura muy grande, etc.
¡Pero resulta que existe una alternativa magnífica a los servidores SQL! Además, no es necesario instalar software adicional, todo el trabajo tiene lugar a nivel local en su proyecto, e incluso así, usted estará utilizando toda la potencia del lenguaje SQL. El nombre de esta alternativa es: SQLite.
El objetivo de este artículo es hacer posible que el usuario comience a usar SQLite rápidamente. Por eso, no voy a profundizar en los detalles y conjuntos de parámetros posibles o las banderas de funciones, sino que voy a crear un conector que ejecuta comandos SQL, y mostraré su utilización con ejemplos.
Los requisitos imprescindibles para trabajar con el artículo son:
Contenido
1. Principios de SQLite
2. Trabajar con SQLite API
2.1. Apertura y cierre de las bases de datos
2.2. Ejecución de requerimientos SQL
2.3. Obtención de datos de los recuadros
2.4. Grabación de los datos paramétricos con unión
2.5. Transacciones / Multirow insert (ejemplo de creación de un recuadro de operaciones de la cuenta comercial)
3. Montaje de la DLL de 64 bit versión SQLite3
Fundamentos de programación en MQL5 - Cadenas de caracteres
El lenguaje MQL5 ofrece un amplio abanico de cómodas prestaciones para trabajar con las cadenas de caracteres. En programación de los Asesores Expertos (EA) e indicadores, con mayor frecuencia las cadenas se utilizan para crear los mensajes informativos. En los indicadores puede tratarse de los mensaje sobre la ejecución de algunas condiciones (por ejemplo, señales de trading), en los EAs pueden ser los mensajes sobre los resultados de ejecución de acciones de trading. Cuando se inicia un EA, script o indicador, puede ejecutarse el chequeo de los parámetros establecidos por el usuario notificándole sobre los parámetros inválidos. Aparte de las notificaciones, a veces puede salir un mensaje de ayuda con las sugerencias respecto a la configuración de parámetros. En fin, durante la programación en MQL5, el uso de las cadenas ofrece en primer lugar la comodidad para el usuario.
Además de la comodidad, el trabajo con las cadenas es imprescindible cuando trabajamos con los archivos. La escritura y la lectura desde los archivos se realiza utilizando las variables de cadenas. Desde luego, existe otro modo de trabajar con los archivos: se trata del método binario que asegura la lectura y la escritura de variables numéricas y arrays. Sin embargo, si los volúmenes de datos son pequeños, es mejor utilizar los archivos de texto y las cadenas. En este caso el funcionamiento del programa es más transparente para el usuario, el proceso de desarrollo del programa también resulta ser más fácil ya que se asegura el control directo de datos. En los archivos de texto los datos tienen el mismo aspecto que los datos dentro del programa.