Estoy tratando de entender mi contador y reescribirlo en clases, pero todavía no puedo dar salida a las funciones paralelas de trabajo. Creo que m_pause debería declararse de otra manera. ¿Cómo debe hacerse correctamente?
#ifdef __MQL4__#endif
//+------------------------------------------------------------------+//| Счётчик |//+------------------------------------------------------------------+class CCounter
{
private:
//--- Шаг счётчикаint count;
//--- Счётчик int chekcount;
//--- int m_pause;
public:
//--- Проверяет прохождение указанного временного интервала int CheckCounter(constint pause);
void ZeroCounter(void){count=0;chekcount=0;}
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int CCounter::CheckCounter(constint pause)
{
m_pause=pause;
count++;
Print(" Class count= ",count);
Print(" Class pause= ",pause);
Print(" Class m_pause= ",m_pause);
if(count>=chekcount+m_pause)
{
chekcount=count;
}
return(chekcount);
}
//+------------------------------------------------------------------+
Estoy tratando de entender mi contador y reescribirlo en clases, pero todavía no puedo dar salida a las funciones paralelas de trabajo. Creo que m_pause debería declararse de otra manera. ¿Cómo debe hacerse correctamente?
Tienes que comprobarlo en el temporizador.
Y debería haber dos objetos CCounter - cada uno para un contador diferente.
Gracias, pero no entiendo por qué el temporizador tiene que comprobarlo. Por cada tick el Asesor Experto accede al CCounter y cuenta los ticks "count++".
Y debe haber dos objetos CCounter - cada uno para su contador.
No estoy seguro de lo que quieres decir con "dos objetos CCounter". He leído el artículo https://www.mql5.com/ru/articles/351, dice "Una vez cargada, la clase se convierte en un objeto". ¿Significa que tendré que hacer copias de las clases para cada contador? Así que resulta que las mismas copias con diferentes nombres que puedo hacer sin clases? El objetivo era deshacerse de la copia mediante clases, porque necesito más de un centenar de ellas. Me dijeron que es posible hacerlo con una clase, así que empecé a trastear con las clases. ¿O qué estoy diciendo sobre "dos objetos CCounter"?
Atascado, me parece, en un lugar tan simple. ¿Qué hacer con global int chekcount=0; int count=0; en caso de que quiera ejecutar varias funciones counter() en paralelo?
Sólo tienes que utilizar una clase o hacer copias de las funciones con nombres diferentes.
На самом деле все намного проще. Чтобы пользоваться ООП вовсе не нужно знать, что означают эти слова - можно просто использовать предоставляемые ООП возможности, даже не зная как они называются. Но все же, надеюсь, в процессе прочтения статьи все желающие не только научатся использовать ООП в достаточной мере, но и разъяснят себе значения этих...
No estoy seguro de lo que quieres decir con "dos objetos CCounter". He leído el artículo https://www.mql5.com/ru/articles/351, dice "Una vez cargada, la clase se convierte en un objeto". ¿Significa que tendré que hacer copias de las clases para cada contador? Así que resulta que las mismas copias con diferentes nombres que puedo hacer sin clases? El objetivo era deshacerse de la copia mediante clases, porque necesito más de un centenar de ellas. Me dijeron que es posible hacerlo con una clase, así que empecé a trastear con las clases. ¿O qué estoy diciendo sobre "dos objetos CCounter"?
¿Cómo puedo crear una matriz unidimensional con los precios de todas las órdenes abiertas? Esta es probablemente una pregunta muy simple para usted, pero por favor asesore)
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Estoy tratando de entender mi contador y reescribirlo en clases, pero todavía no puedo dar salida a las funciones paralelas de trabajo. Creo que m_pause debería declararse de otra manera. ¿Cómo debe hacerse correctamente?
Estoy tratando de entender mi contador y reescribirlo en clases, pero todavía no puedo dar salida a las funciones paralelas de trabajo. Creo que m_pause debería declararse de otra manera. ¿Cómo debe hacerse correctamente?
Tienes que comprobarlo en el temporizador.
Y debería haber dos objetos CCounter - cada uno para un contador diferente.
Hay que comprobar el temporizador.
Gracias, pero no entiendo por qué el temporizador tiene que comprobarlo. Por cada tick el Asesor Experto accede al CCounter y cuenta los ticks "count++".
Gracias, pero no entiendo por qué hay que comprobar el temporizador. Por cada tick, el EA accede al CCounter y cuenta los ticks "count++".
Así que no está en el temporizador...
Y debe haber dos objetos CCounter - cada uno para su contador.
No estoy seguro de lo que quieres decir con "dos objetos CCounter". He leído el artículo https://www.mql5.com/ru/articles/351, dice "Una vez cargada, la clase se convierte en un objeto". ¿Significa que tendré que hacer copias de las clases para cada contador? Así que resulta que las mismas copias con diferentes nombres que puedo hacer sin clases? El objetivo era deshacerse de la copia mediante clases, porque necesito más de un centenar de ellas. Me dijeron que es posible hacerlo con una clase, así que empecé a trastear con las clases. ¿O qué estoy diciendo sobre "dos objetos CCounter"?
Atascado, me parece, en un lugar tan simple. ¿Qué hacer con global int chekcount=0; int count=0; en caso de que quiera ejecutar varias funciones counter() en paralelo?
Sólo tienes que utilizar una clase o hacer copias de las funciones con nombres diferentes.
No estoy seguro de lo que quieres decir con "dos objetos CCounter". He leído el artículo https://www.mql5.com/ru/articles/351, dice "Una vez cargada, la clase se convierte en un objeto". ¿Significa que tendré que hacer copias de las clases para cada contador? Así que resulta que las mismas copias con diferentes nombres que puedo hacer sin clases? El objetivo era deshacerse de la copia mediante clases, porque necesito más de un centenar de ellas. Me dijeron que es posible hacerlo con una clase, así que empecé a trastear con las clases. ¿O qué estoy diciendo sobre "dos objetos CCounter"?
Utilice sólo una clase, o haga copias de las funciones con nombres diferentes.
Sólo tienes que crear tantos objetos de clase como necesites. Y utiliza cada uno de ellos para su recuento.
Gracias, leeré lo que es este CArrayObj y trataré de entenderlo. :)
¿Cómo puedo crear una matriz unidimensional con los precios de todas las órdenes abiertas? Esta es probablemente una pregunta muy simple para usted, pero por favor asesore)
¿Cómo puedo crear una matriz unidimensional con los precios de todas las órdenes abiertas?
Recorre todas las órdenes en un bucle y escribe los precios abiertos en el array.
Recorre todos los pedidos en el bucle y escribe los precios de apertura en el array.
Gracias.