Discusión sobre el artículo "Trabajando con las series temporales en la biblioteca DoEasy (Parte 35): El objeto "Barra" y la lista de serie temporal del símbolo"
No es correcto crear una nueva clase CSeries cuando ya existe una con el mismo nombre en SB.
- www.mql5.com
No es correcto crear una nueva clase CSeries cuando ya existe una con el mismo nombre en SB.
Estoy de acuerdo. Gracias, lo arreglaré.
Un parámetro muy importante de cada barra es la hora del precio Máximo y la hora del precio Mínimo, o al menos una bandera que indique cuál de los dos precios Máximo o Mínimo se produjo primero en el tiempo. Esta información puede obtenerse analizando barras de un marco temporal inferior o directamente de M1. Por favor, añada esta funcionalidad.
Un parámetro muy importante de cada barra es la hora del precio Máximo y la hora del precio Mínimo, o al menos una bandera que indique cuál de los dos precios Máximo o Mínimo se produjo primero en el tiempo. Esta información puede obtenerse analizando barras de un marco temporal inferior o directamente de M1. Por favor, añada esta funcionalidad.
Tal funcionalidad puede ser hecha por usted mismo - hay todos los datos en los marcos de tiempo inferiores, y hay todos los datos en sus barras. Este no es el último artículo, y en los próximos hay una lista completa de todos los plazos de cualquier símbolo - por lo que no debe sobrecargar el ya existente con la funcionalidad innecesaria. Especialmente porque causará un aumento en el tiempo de actualización de las series de tiempo. Por lo tanto, es mejor obtener datos de los ya disponibles a petición que hacer este tipo de análisis cuando no es necesario.
Hola Artyom -- usando DoEasy en lugar de la Librería Estándar, ¿cuál es el mejor enfoque para crear una clase para detectar diferentes patrones de velas, similar a lo que es CCandlePattern como en https://www.mql5.com/es/code/316?
Estoy preguntando para evitar hacer algo que sea completamente contrario a la dirección futura que están tomando con esta librería... Estaba pensando en (1) modificar o extender las clases CBar & CSeries para hacer lo que necesito; o (2) o usar los eventos DoEasy para detectar nuevas barras en los símbolos/periodos que me interesan, desde ahí implementar mi código para comprobar mis patrones de velas y usar DoEasy de nuevo para colocar órdenes o abrir posiciones. Quizás la opción #2 sea más limpia y menos arriesgada en relación a tus futuros desarrollos, pero hazme saber si tienes otra sugerencia por favor.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected:
// ...
//--- métodos, utilizados para la comprobación de la formación del patrón de velas
double AvgBody(int ind);
double MA(int ind) const { return(m_MA.Main(ind)); }
double Open(int ind) const { return(m_open.GetData(ind)); }
double High(int ind) const { return(m_high.GetData(ind)); }
double Low(int ind) const { return(m_low.GetData(ind)); }
double Close(int ind) const { return(m_close.GetData(ind)); }
double CloseAvg(int ind) const { return(MA(ind)); }
double MidPoint(int ind) const { return(0.5*(High(ind)+Low(ind))); }
double MidOpenClose(int ind) const { return(0.5*(Open(ind)+Close(ind))); }
//--- métodos de comprobación de patrones de velas
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
- www.mql5.com
Hola Artyom -- usando DoEasy en lugar de la Librería Estándar, ¿cuál es el mejor enfoque para crear una clase para detectar diferentes patrones de velas, similar a lo que es CCandlePattern como en https://www.mql5.com/es/code/316?
Estoy preguntando para evitar hacer algo que sea completamente contrario a la dirección futura que están tomando con esta librería... Estaba pensando en (1) modificar o extender las clases CBar & CSeries para hacer lo que necesito; o (2) o usar los eventos DoEasy para detectar nuevas barras en los símbolos/periodos que me interesan, desde ahí implementar mi código para comprobar mis patrones de velas y usar DoEasy de nuevo para colocar órdenes o abrir posiciones. Quizás la opción #2 sea más limpia y menos arriesgada en relación a tus futuros desarrollos, pero hazme saber si tienes otra sugerencia por favor.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected :
// ...
//--- métodos, utilizados para la comprobación de la formación del patrón de velas
double AvgBody( int ind);
double MA( int ind) const { return (m_MA.Main(ind)); }
double Open( int ind) const { return (m_open.GetData(ind)); }
double High( int ind) const { return (m_high.GetData(ind)); }
double Low( int ind) const { return (m_low.GetData(ind)); }
double Close( int ind) const { return (m_close.GetData(ind)); }
double CloseAvg( int ind) const { return ( MA(ind) ); }
double MidPoint( int ind) const { return ( 0.5 *(High(ind)+Low(ind)) ); }
double MidOpenClose( int ind) const { return ( 0.5 *(Open(ind)+Close(ind)) ); }
//--- métodos de comprobación de patrones de velas
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
La librería contendrá una clase para buscar patrones de velas PriceAction y varias formaciones de velas japonesas.
Me parece más prudente añadir una nueva propiedad a la clase objeto CBar. De este modo, la colección de series temporales podrá buscar las velas y los patrones deseados.
Así será en la biblioteca.
Por ahora, puedes buscar los patrones y velas que necesites en las listas de la colección de timeseries - ahí están todas las barras, y puedes usarlas para determinar el patrón.
La biblioteca contendrá una clase para buscar patrones de velas PriceAction y varias formaciones de velas japonesas.
Me parece más prudente añadir una nueva propiedad a la clase objeto CBar. De este modo, la colección de series temporales podrá buscar las velas y los patrones deseados.
Así será en la biblioteca.
Por ahora, puedes buscar los patrones y velas que necesites en las listas de la colección de timeseries - ahí están todas las barras, y puedes usarlas para determinar el patrón.
Me parece estupendo. ¿Alguna idea de cuándo empezarás a implementar todas estas cosas buenas? ¿Estás interesado en alguna contribución de código?
Suena muy bien. ¿Tienes idea de cuándo empezarás a poner en práctica todo esto? ¿Estás interesado en alguna contribución de código?
Cuando llegue el momento :)
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Trabajando con las series temporales en la biblioteca DoEasy (Parte 35): El objeto "Barra" y la lista de serie temporal del símbolo:
Con este artículo, comenzamos una nueva serie en la descripción de la biblioteca "DoEasy" para la creación rápida y sencilla de programas. Hoy, empezaremos a preparar la funcionalidad de la biblioteca para acceder a los datos de las series temporales de los símbolos y trabajar con los mismos. Asimismo, crearemos el objeto "Barra", encargado de guardar los datos tanto básicos como ampliados de la barra de la serie temporal, y también ubicaremos los objetos de barra en la lista de serie temporal para que resulte más cómodo buscar y clasificar dichos objetos.
Partiendo de este artículo, vamos a comenzar un nuevo apartado en la descripción de la biblioteca para la escritura cómoda de programas para los terminales MetaTrader5 y 4. La primera serie de artículos (34 partes) la dedicamos al desarrollo del concepto de los objetos de la bibilioteca y sus interacciones. Usando como base el desarrollo de dicho concepto, creamos una funcionalidad para trabajar con la cuenta: su estado actual y su historia.
En el momento actual, la biblioteca posee la siguiente funcionalidad:
Asimismo, podemos indicar a la biblioteca a qué eventos debe reaccionar, para luego enviar notificaciones sobre estos cuando sucedan.
Además, hemos organizado el trabajo con las funciones comerciales de los terminales, y también desarrollado nuevos tipos de solicitudes coemrciales: las solicitudes comerciales pendientes, que nos permitirán en el futuro, y directamente desde nuestro propio programa, crear su lógica de comportamiento en determinadas condiciones comerciales. Asimismo, las solicitudes comerciales pendientes ofrecen un amplio conjunto de posibilidades a la hora de crear nuevos tipos de órdenes pendientes.
En la segunda serie de descripción de la biblioteca se analizarán muchos aspectos sobre el trabajo con los datos de precios, los gráficos de los símbolos, las profundidades de mercado, los indicadores, etcétera. En general, la nueva serie de artículos está dedicada al desarrollo de la funcionalidad de la biblioteca para acceder, buscar, comparar y clasificar rápidamente cualquier matriz de datos de precio, así como los objetos para su guardado y sus fuentes.Todo esto y mucho más ha sido creado y descrito en la anterior serie sobre la creación de la biblioteca.
Autor: Artyom Trishkin