Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 588

 
Slivator:

Tal vez esto funcione http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=8

Sólo que ¿por qué querrías cambiar el color de la barra? Si hay que marcar la barra, tal vez sólo poner un icono.

Así es como lo quiere el hombre. Y con razón...
 

Hay un problema con las clases.

Hay dos bibliotecas de clases: la biblioteca estándar de MQL4 y la de un desarrollador externo. Ambas bibliotecas deberían utilizarse, pero el problema es que contienen algunas clases con el mismo nombre. Como resultado, tengo una ambigüedad. El compilador no sabe de qué biblioteca estoy usando la clase.

¿Cómo afrontar esta situación? En C++ este problema se puede resolver con alias, en MQL no lo sé.

 
Barbarian:

Hay un problema con las clases.

Hay dos bibliotecas de clases: la biblioteca estándar de MQL4 y la de un desarrollador externo. Ambas bibliotecas deberían utilizarse, pero el problema es que contienen algunas clases con el mismo nombre. Como resultado, tengo una ambigüedad. El compilador no sabe de qué biblioteca estoy usando la clase.

¿Cómo afrontar esta situación? En C++ este problema se puede resolver con alias, en MQL no lo sé.

Cada uno se pone en su propio espacio de nombres.
 
Zhunko:
Poner cada uno en su propio espacio de nombres.

¿Cómo se define un espacio de nombres en MQL4? No lo encuentro. De momento, estoy pensando en algo parecido a esto:

#ifndef  CTable
   #include <\Integer_Test\GUI.mqh>
#endif
#ifndef  CList
   #include <Arrays\List.mqh>
#endif

pero sigo recibiendo errores con la redefinición. Creo que necesito algo más.

 
Barbarian:

¿Cómo se define un espacio de nombres en MQL4? No lo encuentro. De momento, estoy pensando en algo parecido a esto:

pero sigo recibiendo errores con la redefinición. Creo que necesito algo más.

namespace A
 {
  class a{};
 }
namespace B
 {
  class a{};
 }
Se trata de dos clases diferentes, aunque son la misma :-))
 
Zhunko:
Se trata de dos clases diferentes, aunque son la misma :-))

Este es un ejemplo para C++, no hay espacio de nombres en MQL4.
 
Barbarian:
Este es un ejemplo para C++, no hay espacio de nombres en MQL4.

He borrado accidentalmente mi respuesta :-(

Tendré que pedirles que lo hagan.

Puedes intentar ponerlo en una clase con miembros estáticos. Es casi lo mismo.

O puede describirse de la siguiente manera:

class A
 {
  class a{};
 }
class B
 {
  class a{};
 }
 
Zhunko:

He borrado accidentalmente mi respuesta :-(

Tendré que pedirles que lo hagan.

Puedes intentar ponerlo en una clase con miembros estáticos. Es casi lo mismo.

O de la misma manera:

Gracias Vadim, ya he pensado en esa forma. No me funcionará ya que la biblioteca de clases estándar no debe ser modificada. Con la biblioteca de terceros es más divertido :) cambiar no quería cambiar nada, pero al final, que no se metan con los tiempos innecesarios, cambió el nombre de la clase en ella y todo lo asociado a ella.

Estoy interesado en las formas de evitar este problema utilizando las herramientas MQL4, sin cambiar las bibliotecas de clases en sí.

 
Barbarian:

Gracias Vadim, ya he pensado en una forma similar. No me funcionará, ya que la biblioteca de clases estándar no debería cambiar. No quería cambiar nada en ella, pero al final, cambié el nombre de la clase en la biblioteca y todo lo asociado a ella, para no devanarme los sesos.

Estoy interesado en las formas de evitar este problema utilizando las herramientas MQL4, sin cambiar las bibliotecas de clases en sí.

Esto es lo que es sin ningún cambio o intervención.
 
AlexeyVik:


Mira el código del indicador Heiken Ashi
Ya lo he destripado... Hay un histograma ahí, si no encuentras la forma de usarlo con barras...