En la primera forma de solicitar una nueva línea de columnas, no entiendo cómo se puede asignar directamente el número de columnas nuevas a 1. Por favor, aconséjeme;
//--- Comprueba si hay nuevas líneas de columna.if(m_lastbar_time<newbar_time)
{
m_new_bars=1; // Número de nuevas líneas de columna
m_lastbar_time=newbar_time; // Recordar el tiempo del último compásreturn(true);
}
//--- //--- Comprueba si hay nuevas líneas de columna.if(m_lastbar_time<newbar_time)
{
m_new_bars=1; // Número de nuevas líneas de columna
m_lastbar_time=newbar_time; // Recordar el tiempo del último compásreturn(true);
}
//---
Según las reglas del modelado de objetos, es un error llamarlo CIsNuevoBar.
Veamos, si coche es una clase puedo crear/tener un objeto coche. Sin embargo, si mi clase es "ÉUmCarroNovo", podemos tener o poseer un "ÉUmCarroNovo".
El autor debería haberlo llamado "ComprobadorDeCochesNuevos". Alguien podría inventar un Comprobador de coches nuevos y crearlo (nuestra clase sería ComprobadorDeCochesNuevos.
Hay tantas variaciones de código en el artículo, pero al final todavía no está claro, qué función es más correcto utilizar en MT4 para aumentar al menos un poco la correspondencia de lo que el probador dibuja con el comercio. ¡Dame una pista!
Pavel Komarovsky: Hay tantas variaciones de código en el artículo, pero al final todavía no está claro, qué función es más correcto utilizar en MT4 para aumentar al menos un poco la correspondencia de lo que el probador dibuja con el comercio. ¡Dame una pista!
datetime counted_bar = 0;
intOnInit()
{
counted_bar = 0; // si desea que se analice la última barra al reiniciar
...
voidOnTick()
{
// Si hay una nueva barraif ( iTime( _Symbol, _Period, 0 ) > counted_bar )
{
counted_bar = iTime( _Symbol, _Period, 0 );
// Analizar los indicadores
...
}
Me pregunto por qué este ejemplo no puede obtener los datos de las series temporales. Copia... siempre -1 y Bars() siempre 0. Es decir, no hay acceso a los datos de la clase
Este artículo es tan bueno que incluso se utiliza en las clases de programación MQL5, incluyendo comentarios y colaboraciones y corrección de errores. Enhorabuena a todos.
Buen artículo, ¡gracias por compartirlo! ¡Todo eso fue muy útil!
De todas formas, he cogido tu función isNewBar y me lanza el siguiente mensaje al compilar:"posible pérdida de datos debido a la conversión de tipos".
Así que he cambiado los tipos var de datetime a long de esta forma:
Ahora compila sin ningún aviso y parece que funciona bien. Gracias.
Probablemente sea más claro cambiarlo de esta manera :
En la primera forma de solicitar una nueva línea de columnas, no entiendo cómo se puede asignar directamente el número de columnas nuevas a 1. Por favor, aconséjeme;
Según las reglas del modelado de objetos, es un error llamarlo CIsNuevoBar.
Veamos, si coche es una clase puedo crear/tener un objeto coche. Sin embargo, si mi clase es "ÉUmCarroNovo", podemos tener o poseer un "ÉUmCarroNovo".
El autor debería haberlo llamado "ComprobadorDeCochesNuevos". Alguien podría inventar un Comprobador de coches nuevos y crearlo (nuestra clase sería ComprobadorDeCochesNuevos.
Hay tantas variaciones de código en el artículo, pero al final todavía no está claro, qué función es más correcto utilizar en MT4 para aumentar al menos un poco la correspondencia de lo que el probador dibuja con el comercio. ¡Dame una pista!
Andrey, gracias. Dime por qué se utiliza iTime ahora, antes recuerdo que en todas las funciones y ejemplos, la mayoría de ellos se basaban en iBars.
¿TrabajaiTime con más precisión?
Andrey, gracias. Dime por qué se utiliza iTime ahora, antes recuerdo que en todas las funciones y ejemplos, la mayoría de ellos se basaban en iBars.
¿TrabajaiTime con más precisión?
Este artículo es tan bueno que incluso se utiliza en las clases de programación MQL5, incluyendo comentarios y colaboraciones y corrección de errores. Enhorabuena a todos.