Quien quiera ver gráficos sin barras perdidas - aquí =) - página 8

 
komposter, tengo la siguiente sugerencia para luchar con el terminal.
Si establece los atributos del archivo WS_EURUSDm1440.hst como de sólo lectura, entonces al iniciar la terminal también jura los registros, ¡pero el archivo NO puede ser modificado! El archivo se muestra bien en el gráfico como lo hacía antes de apagar el terminal.
Entonces, pienso, que si hago alguna DLL externa, que pueda cambiar los atributos de WS_EURUSDm1440. ¿archivo hst para leer/escribir? Es decir, cuando un Asesor Experto necesita añadir una barra al historial, llama a una DLL, que establece los atributos del archivo del historial para la escritura, el Asesor Experto escribe la barra y luego llama a la DLL de nuevo, por lo que establece los atributos del archivo del historial sólo para la lectura. Por supuesto, entiendo que nadie puede dar una garantía del 100% en este caso, pero creo que en el 95% de los casos el apagado/encendido del terminal se producirá sin romper la barra del historial por el terminal. No tengo un corte de luz más de 2 veces al mes y me parece bien.
 
solandr писал (а):
komposter, tengo la siguiente sugerencia para combatir el terminal.
No, esto es bastante triste...
En realidad, ya he descubierto por qué el terminal está sobrescribiendo el archivo.
Es que no entiendo con qué derecho el terminal está tocando mi gráfico offline...

Bien, si el error está en la serie temporal normal, tengo que actualizarla. Pero este esmi archivo. Escribo lo que quiero.

En fin, no importa...
Intentaré hacer una versión de EA que funcione hoy.
 
¿Sabes qué es lo más triste? =)
Tenía 3 barras con un tiempo de 23:00 en la historia que estaba probando. Todos los demás eran 00:00, y estos 3, maldita sea...

En definitiva, un error en el historial (por cierto, mi archivo "equivocado" con los diarios que comienzan a las 23:00 MT corrige, pero el historial honesto no =))).

De todos modos, el enfrentamiento no fue en vano: desenterró un pequeño bicho ;)
solandr, prueba una versión nueva.

Si los errores permanecen, revisa el historial.

Y si aún queda, dímelo, que indagaré más ;)
Archivos adjuntos:
 
komposter писал (а):
En general, un error de la historia (por cierto, mi archivo "equivocado" con los diarios a partir de 23:00 MT corrige, pero una historia honesta no =))).

De todos modos, el enfrentamiento no fue en vano: desenterró un pequeño bicho ;)
solandr, prueba una versión nueva.

Si los fallos persisten, comprueba el historial.

Y si aún queda, dímelo, que indagaré más ;)


Desgraciadamente no hay cambios en la impresión :o(. También jura en los registros y los mismos gráficos con Dígitos=0.
2006 11/11/02 11:45:16 HistoryBase: 42 errores en 'WS_NZDUSDm1440'
2006.11.02 11:45:16 HistoryBase: 271 errores en 'WS_EURJPYm1440'
2006.11.02 11:45:16 HistoryBase: 271 errores en 'WS_EURCHFm1440'
2006.11.02 11:45:16 HistoryBase: 272 errores en 'WS_AUDUSDm1440'
2006.11.02 11:45:16 HistoryBase: 271 errores en 'WS_EURGBPm1440'
2006.11.02 11:45:16 HistoryBase: 272 errores en 'WS_USDJPYm1440'
2006.11.02 11:45:16 HistoryBase: 272 errores en 'WS_USDCADm1440'
2006.11.02 11:45:16 HistoryBase: 272 errores en 'WS_GBPUSDm1440'
2006.11.02 11:45:16 HistoryBase: 78 errores en 'WS_CHFJPYm1440'
2006.11.02 11:45:16 HistoryBase: 272 errores en 'WS_USDCHFm1440'
2006.11.02 11:45:16 HistoryBase: 272 errores en 'WS_EURUSDm1440'

Debería intentar abrir varios gráficos fuera de línea a la vez para ver el error más rápidamente.

¿Cómo se comprueba el historial? Esta es la historia, que el terminal honestamente bombeado por sí mismo a través de una pulsación larga en la tecla de inicio. No he importado nada en él. ¿Tal vez pueda echarle un vistazo y decir algo al respecto? Se adjunta el archivo del historial.

PD: Por supuesto que puedo suponer que el historial, que se almacena en el servidor del broker tiene algunos errores, como grandes "picos" en los gráficos, así como huecos en las cotizaciones durante varios días, pero me surge la siguiente pregunta. ¿Por qué el terminal no muestra errores cuando se trabaja con él y sólo devuelve errores cuando se ha corregido el historial mediante una simple conversión y SÓLO después de asegurarse de que el gráfico del historial corregido se muestra correctamente, aunque el terminal escribe errores en los registros? ¿Qué pueden decir los desarrolladores sobre la posibilidad de hacer el terminal amigable con este Asesor Experto?
Archivos adjuntos:
history.zip  681 kb
 
solandr:
Desgraciadamente no se han producido cambios en la impresión :o(. También está regañando en los registros y en los mismos gráficos con Dígitos=0.
Deberías intentar abrir varios gráficos offline a la vez para ver el error más rápidamente.
OK, continuará la lucha hoy ;)

¿Cómo puedo comprobar el historial? Este es el historial, que el terminal descargó honestamente por sí mismo mediante una pulsación larga de la tecla Home. No he importado nada en él. ¿Tal vez puedas echarle un vistazo y decir algo al respecto? Se adjunta el archivo del historial.

Yo también tuve una historia "justa". Todos los compases D1 comienzan a las 00:00 y los 3 compases comienzan a las 23:00.
MT no reaccionó a esto de ninguna manera.
Pero el gráfico fuera de línea idéntico al honesto, MT lo rechaza.

Es decir, intenté eliminar a propósito todas las conversiones del código y sólo copié el historial - MT dice errores...
 
solandr:
Lamentablemente, no se han realizado cambios en la impresión :o(. También está jurando en los registros y los mismos gráficos con Digits=0.
Inténtalo ;)
Archivos adjuntos:
 
komposter писал (а):
Pruébalo ;)

¡Genial! Ahora el terminal no parece imprimir ningún error y los gráficos se abren correctamente después de reiniciar el terminal. Si no es un secreto, ¿cómo se las arregló para vencer a la terminal?

Pero desgraciadamente ha quedado una cosa desagradable. Los Asesores Expertos no funcionan en un gráfico abierto por separado :o((((.
Por ejemplo, este EA no imprime nada:
//+------------------------------------------------------------------+
//|                                                          bid.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net//"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print("Bid=",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
¿Es posible estimular el lanzamiento de Asesores Expertos en un gráfico abierto de forma autónoma, de lo contrario todo el sentido de estos esfuerzos, por desgracia, se pierde? Aunque los indicadores y los scripts parecen funcionar normalmente en los gráficos abiertos de forma autónoma.
Sin embargo, debería comprobarlo a fondo. Si los indicadores funcionan correctamente, el Asesor Experto puede dividirse en dos componentes. El primero es el indicador en un gráfico independiente y el segundo es el Asesor Experto que gestiona las órdenes y recibe los datos a través de las variables globales del terminal desde el indicador, pero no sé qué sería más fácil. ¿Debo considerar las barras del domingo en mi EA sin tenerlas en cuenta en los cálculos o dividir el EA real en 2 partes? Quiero que sea lo más parecido a un humano como se pretende, no como el EA tendrá que actuar en caso de que no funcione en los gráficos abiertos de forma autónoma.
 
solandr:
¡Genial! Ahora parece que el terminal no imprime ningún error y los gráficos se abren correctamente cuando se vuelve a encender el terminal. Si no es un secreto, ¿cómo se las arregló para vencer a la terminal?

Pero, por desgracia, todavía hay un disgusto. Los expertos no trabajan en la carta abierta de forma autónoma :o((((.
Secreto =)

Y los EAs no funcionan en absoluto en los gráficos offline.
Me refiero a que la función start() no funciona.

La solución es poner todo el código en un bucle:
int init()
{
   start();
}
int start()
{
   while (!IsStopped())
   {
      //код эксперта
      Sleep(10);
   }
}
 
komposter писал (а):

La solución es poner todo el código en un bucle:


En principio, la solución es bastante lógica porque los scripts se ejecutan con éxito.
Pero todavía no está claro por qué no era posible permitir que los EAs trabajaran en gráficos sin conexión? ¿Puedes dar un enlace a la información oficial de los desarrolladores de que hicieron esto por algunas razones específicas y no van a reconsiderar su posición? ¿No lo habré buscado bien?


Gracias de antemano.

 
solandr:

Pero todavía no está claro por qué no se puede permitir que los EAs trabajen en los gráficos sin conexión? ¿Podría proporcionar un enlace a la información oficial de los desarrolladores de que hicieron esto por algunas razones específicas y no van a reconsiderar su posición? ¿No habré buscado bien?

Intenté encontrarlo y no lo conseguí.
Pero la información era, eso es seguro )