Errores, fallos, preguntas - página 2394

 
Hola!

Dado: dos gráficos en el terminal mt5, por ejemplo, EURUSD H1, EURUSD H1. Que los gráficos tengan los números 1 y 2, respectivamente, al numerarlos de izquierda a derecha.

Si el "panel" (prácticamente cualquiera) se coloca en el gráfico que tiene el número 1, entonces, después de la transición al gráfico 2 y volver al gráfico 1, el panel se minimiza - se minimiza a la esquina superior izquierda.

Al mismo tiempo, si el "panel" se coloca en el gráfico 2, con la existente, por supuesto, el gráfico 1, a continuación, después de la transición a la 1 y volver a la 2 gráfico, minimización - minimización de "panel" a la esquina superior izquierda no sucede :).

¿Quién puede explicar cuál es el problema y cómo solucionarlo?

Panel-01Panel-02
Archivos adjuntos:
 
SEM:

¡Hola!

En la última versión(build 2007, 25 feb 2019) se han descubierto dos errores:

1) 1) Al abrir el programa (o cambiar el perfil) muchos gráficos (41 en total) muestran un eterno "Esperando actualización".

2) 2) Al cerrar el programa, no se cierra del todo, el administrador de tareas muestra que el programa no está cerrado, aunque visualmente ya no aparece.

3) Bug controvertido (en la versión de diciembre de 2018 todo funcionaba bien, sin errores), tal vez un fallo en el indicador, al iniciar el programa o cambiar el perfil, el indicador no se calcula correctamente, se puede ver en los datos renderizados que algunos de los datos no se calculan correctamente. Cuando se vuelve a aplicar la plantilla o las propiedades del indicador de apertura y cierre, los datos se calculan correctamente.

4) Por alguna razón los agentes dejaron de funcionar en la nube después de la actualización (la cuenta aparece). Pruebas superadas 586, tiempo transcurrido 0 horas 0 minutos.

Error con la representación de los gráficos, sucede con los indicadores estándar, sólo reiniciar el terminal, y el cierre forzado a través del administrador de tareas ayuda.

¿Cuál puede ser el error? Se carga el historial de símbolos.

error

 
SEM:

Error con la representación de los gráficos, sucede con los indicadores estándar, sólo reiniciar el terminal, y el cierre forzado a través del administrador de tareas ayuda.

¿Cuál puede ser el error? El historial de símbolos está cargado.


Sobre todo en los indicadores en los que trabajo con objetos (etiquetas, etc.). Puede que esté relacionado con el gran número de matrices de indicadores. En promedio, unos 40 "INDICATOR_DATA" así como "INDICATOR_CALCULATIONS". Por cierto, si la memoria no me falla, en tales situaciones incluso después de la compilación exitosa el terminal no actualizaría los indicadores, pero no estoy seguro de ello.

El código se optimizó para procesar los datos del menor número posible de estas matrices por unidad de tiempo, con el mismo número de matrices o más.

Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи аналитических объектов. Всего в торговой платформе доступно 46 таких инструментов. Среди них имеются геометрические фигуры, различные каналы, инструменты Ганна, Фибоначчи, Эллиотта и многое другое. В...
 
Ilya Malev:

No estoy al tanto de tales sutilezas, ya que no he participado en el desarrollo de mi propio TS en MT5 en el pasado. ¿Cómo es que las tomas son mercados, cuál es la noticia? Si se encuentran con un hueco, deben ejecutarse en la primera cotización, es decir, en caso de deslizamiento de los límites hacia el lado positivo. Un corredor de calidad puede permitir esto en la cuenta real. Pero, por supuesto, esto no es una regla. Pero si el diferencial por barra fuera máximo, compensaría el beneficio en los límites.

Probablemente la forma más rápida de comprobar el deslizamiento en el Probador de Estrategias

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

Bibliotecas: TradePanel_Csharp

fxsaber, 2019.03.05 10:10

Demo

Ver la columna SlipPage

La columna SlipPage muestra el deslizamiento en la apertura (por límite) y el cierre (por toma) en pips. Se puede ver perfectamente cómo el Probador en modo de ticks reales sobreestima el beneficio.

 
¿Es esto posible en otros compiladores?
void OnInit()
{
  OnInit2(); // Пропишите внизу OnInit
}

#define OnInit OnInit2
Ahora mismo el compilador da
'OnInit2' - function not defined        Test3.mq5       3       3
1 error(s), 0 warning(s)                2       1


Me gustaría que diera

'OnInit2' - function not defined        Test3.mq5       3       3 Пропишите внизу OnInit
1 error(s), 0 warning(s)                2       1
 
fxsaber:
¿Otros compiladores tienen esta característica?


Me gustaría que saliera

Es poco probable en los compiladores, más bien en los intérpretes. Los compiladores suelen tener vinculación de punteros estáticos a las llamadas a funciones o a las variables (¿debe ser así como suena?), es decir, todos los desplazamientos de los punteros se calculan en tiempo de compilación

En tu ejemplo, todo está a la vieja usanza, #define y #ifndef ( _DEBUG ? )

 
Igor Makanu:

en los compiladores es improbable, en los intérpretes es posible, los compiladores suelen utilizar la vinculación estática de los punteros a las llamadas de función o a las variables (¿debería sonar así? ), es decir, todos los desplazamientos de los punteros se calculan en tiempo de compilación

En tu ejemplo, todo es lo mismo de siempre, #define y #ifndef ( _DEBUG ? )

Sólo quería que el compilador completara el mensaje de error con un comentario de línea.

 
Vjacheslav Lapaev:

Yo también me he enfrentado a ello. no puedo decir que en la última versión, pero en las anteriores - seguro. sobre todo en los indicadores, donde trabajo con objetos (etiquetas, etc.). probablemente está relacionado con un gran número de matrices de indicadores. en promedio, unas 40, tanto "INDICATOR_DATA" como "INDICATOR_CALCULATIONS". Por cierto, si la memoria no me falla, en tales situaciones incluso después de la compilación exitosa el terminal no actualizaría los indicadores, pero no estoy seguro de ello.

El código se optimizó para procesar los datos del menor número posible de estas matrices por unidad de tiempo, con el mismo número de matrices o más.

Gracias por el consejo! Es una pena, desde luego, que el programa sea inestable, no había ese error en la versión de diciembre.
 
Ilyas:

No me metí en el código presentado, déjame intentar adivinar - el problema es que ambos EAs trabajan con el mismo recurso gráfico.

este es un ejemplo de uso de la clase CAppDialog de la biblioteca estándar

si utiliza esta clase, el método Minimize() se llama siempre al cambiar de gráfico

No quise entenderlo, simplemente escribí mi propio OnClickButtonMinMax(), fue bastante desordenado, pero funcionó sin problemas.

CAppDialog::OnClickButtonMinMax()
  {
   if(Width()<200) Minimized_state=false;
   if(Minimized_state)
     {
      Minimize();
     }
   else
     {
      Maximize();
      ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true);
      ObjectSet(TS2.Name()+"Label",OBJPROP_BACK,true);
      ObjectSet(CP.Name()+"Label",OBJPROP_BACK,true);
     }
  }

hay otro error en la clase CAppDialog, después de Minimizar() y Maximizar() la propiedad OBJPROP_BACK de la clase CCheckBox se cambia, y las casillas de verificación se vuelven con el borde "cuadrado", he fijado ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) en este código rápidamente; ...

 
Vjacheslav Lapaev:
¡Hola!

Dado: dos gráficos en el terminal mt5, por ejemplo, EURUSD H1, EURUSD H1. Que los gráficos tengan los números 1 y 2 respectivamente, con una numeración de izquierda a derecha.

Si el "panel" (prácticamente cualquiera) se coloca en el gráfico que tiene el número 1, entonces, después de la transición al gráfico 2 y el regreso al gráfico 1, el panel se minimiza - se minimiza a la esquina superior izquierda.

Al mismo tiempo, si el "panel" se coloca en el gráfico 2, con la existente, por supuesto, el gráfico 1, a continuación, después de la transición a la 1 y volver a la 2 gráfico, minimización - minimización de "panel" a la esquina superior izquierda no sucede :).

¿Quién puede explicar de qué se trata y cómo se puede tratar?

He borrado mi respuesta anterior

La ventana se colapsa porque no cabe en el gráfico.
Si sale del modo "gráfico a toda la ventana del terminal", verá el tamaño real de los gráficos.

Para evitar que la ventana del gráfico se colapse sobre el mismo, es necesario aumentar el tamaño de los gráficos.
Después de eso, puedes ampliar el gráfico a todo el terminal y probar a cambiar entre ellos

Razón de la queja: