Errores, fallos, preguntas - página 1018

 
A100:
No funciona en horas no comerciales. ¿Qué hay en el camino?

¿Está seguro de los parámetros?

Ambos ejemplos se ven mal:

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

¿Parece que se confunde con ChartSetInteger?

 
Renat:

¿Está seguro de los parámetros?

Ambos ejemplos se ven mal:

¿Parece que se confunde con ChartSetInteger?

Sí, lo siento, traducido erróneamente de mi código - no funciona en el tiempo no comercial
bool bringToTop = true;
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, 0, bringToTop ) 
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
//этим хотел показать что пробовал оба варианта
ChartGetInteger y no debería funcionar, porque CHART_BRING_TO_TOP- sólo escribir. Voy a corregir la aplicación a ServiceDesk
 

Estoy haciendo un retroceso (con una pausa de 5000) de todos los gráficos:

a) (ayer) día no comercial - no hay reacción - al descargar el script va al 1er gráfico, aunque el script no se haya iniciado desde él

b) ahora - todo funciona correctamente

Si es necesario - voy a adjuntar el código - un simple bucle - GetLastError - sin errores

 

No sé lo importante que es esto, pero

ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, false )
ahora (en el momento de la negociación) funcionan de la misma manera: el gráfico se coloca encima de los demás
 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

Renat, 2013.07.22 09:22

¿Está seguro de los parámetros?

Ambos ejemplos se ven mal:

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

¿Parece que se confunde con ChartSetInteger?

Si se confirma mi error y se realizan los cambios - también pido que se considere hacer que CHART_BRING_TO_TOP no sea sólo de escritura, sino también de lectura como se ha escrito a través de ChartGetInteger.
long ChartID()
no puede ayudar en este caso, ya que este último estrictamente hablando no devuelve la selección actual, sino aquella desde la que se está ejecutando el script. Y en el proceso de ejecución del script, el usuario puede cambiar el actual.
 
MetaDriver:

Sólo montones y montones de .mqh y un ejecutable .mq5, nada más.

Permítanme añadir. La ventaja del enfoque absoluto y modular en comparación con el relativo, es que en el caso de
Print( __FUNCTION__, __FILE__ )

Si sólo hay un módulo .ex5, no está claro cuál buscar entre los muchos módulos .mqh, lo que supone una gran diferencia dado el gran tamaño del código.

Al mismo tiempo, pregunte a los promotores:

¿Es posible introducir una macrosustitución predefinida adicional __MODULE__ análoga a __FILE__ - sólo que sin la extensión .mq5?

Esto es necesario para compilar una expresión de la siguiente forma: __MODULE__::f()

Esto se utiliza a menudo durante el desarrollo para cambiar los nombres de los archivos y transferir funciones de un módulo a otro

 
A100:
Voy a añadir. La ventaja del enfoque modular absoluto, frente al relativo, es que cuando surge de

no está claro en qué módulo buscar la función, y si sólo hay un .ex5, no está claro en qué .mqh, lo que supone una gran diferencia cuando el código es grande.

Estás delirando, hermano.

h1.mqh :

string GetH1()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

h2.mqh :

string GetH2()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

PrintTest, mq5 :

#include "h1.mqh"
#include "h2.mqh"

void OnStart()
  {
   Print( "Файл: "+__FILE__+"   Функция: "+__FUNCTION__);
   Print(GetH1());
   Print(GetH2());
  }
//+------------------------------------------------------------------+

Resultado:

2013.07.22 14:40:17 PrintTest (EURUSD,M1) Archivo: h2.mqh Función: GetH2
2013.07.22 14:40:17 PrintTest (EURUSD,M1) Archivo: h1.mqh Función: GetH1
2013.07.22 14:40:17 PrintTest (EURUSD,M1) Archivo: PrintTest.mq5 Función : OnStart

---

Por favor, saque una conclusión: "Antes de desarrollar grandiosas definiciones anidadas, es una buena idea entender cómo funciona realmente el preprocesador".

Buena suerte.

Archivos adjuntos:
h1.mqh  1 kb
h2.mqh  1 kb
PrintTest.mq5  1 kb
 
MetaDriver:

Por favor, concluya: "Antes de diseñar grandiosas definiciones anidadas, es una buena idea entender cómo funciona realmente el preprocesador.

Dedica algo de tiempo y esfuerzo a esto. Tienes que aprender más sobre la obra y las propiedades de los materiales para construir estructuras fuertes y cómodas.

Tu mente es muy sofisticada y reflexiva, pero al introducir tus propias conclusiones precipitadas en su entrada, estás condenado a tomar a menudo decisiones equivocadas.

 
MetaDriver:

Tu mente es muy sofisticada y reflexiva, pero al alimentarla con tus propias conclusiones precipitadas, estás condenado a tomar a menudo decisiones equivocadas.

¿Puedo unirme a tu Padawan? :)
 
TheXpert:
¿Puedo unirme a tu Padawan? :)

¿Hay dinero? :))

--

Pero no bromeemos:

Es una pena que casi no haya hilos en este foro dedicados a la estructuración sensata de los programas. Una estructura armoniosa es la clave para el desarrollo sin problemas de grandes sistemas.

¿Cómo animar a la gente a discutir estas cosas?