Errores, fallos, preguntas - página 223

 
Graff:
Estoy de acuerdo, pero hay que desactivar de alguna manera la actualización automática para que el terminal no se actualice todo el tiempo

Esto es exactamente lo que MQ no hará, propongo que la actualización automática se retrase automáticamente hasta la siguiente (después de la que se retrocedió) build. Y mantener la última construcción "buena" en la copia de seguridad, y omitir la que fue retrocedido.

Mejore un poco el sistema de actualización automática y todos estarán contentos.

 
Dali:

Esto es exactamente lo que MQ no hará, propongo que la actualización automática se retrase automáticamente hasta la siguiente (después de la que se retrocedió) build. Y guardar la última compilación "buena" en una copia de seguridad, y omitir la que fue retrocedida.

Mejore un poco el sistema de actualización automática y todos estarán contentos.

Las actualizaciones se realizan no sólo porque la compilación mejora, sino también porque se corrigen antiguos errores.

¿Propones una nueva compilación con errores para volver a una antigua con más errores?

PS Si MQ acepta el sistema de retroceso (lo cual dudo seriamente), entonces al menos la división de las builds en mejoradas (que introducen nuevas funcionalidades) y parcheadas (que corrigen errores) debería hacerse. Entonces, y sólo entonces, será posible hacer retroceder el error inacabado hasta el último error corregido.

 
Urain:

Las actualizaciones se realizan no sólo porque se mejora la compilación, sino también porque se corrigen antiguos errores.

¿Estás sugiriendo que una nueva compilación que tiene errores debe ser retrocedida a una antigua que tiene aún más errores?

PD Si MQ acepta el sistema de rollback (cosa que dudo mucho), al menos las builds deberían dividirse en finalizadas (introduciendo nuevas funcionalidades) y liberadas (cogiendo bugs). Entonces, y sólo entonces, será posible hacer retroceder el error inacabado hasta el último error corregido.

No lo aceptarán, y con razón...
 

Urain:

¿Está sugiriendo retroceder la nueva compilación con errores a la antigua con aún más errores?

No :) Propongo un escenario diferente (para mí es relevante al menos la segunda vez, ya que estoy haciendo MQ5).

Propongo retroceder la build 362, que tiene varias características importantes que no funcionan, a la anterior, que puede tener errores menores, pero MI Experto funcionaba. Retrocede hasta la siguiente compilación en la que estos errores fatales ya están corregidos.

Subrayo que el retroceso es mi decisión personal. No todo el mundo está afectado por este error (no todo el mundo utiliza estas funciones, no todo el mundo utiliza MQ5, etc.)

En cuanto a la separación de las construcciones, no es necesario complicarlo. La compilación en MI copia de seguridad personal siempre mentirá la anterior, saltando las que retrocedí. La lógica es sencilla y sin complicaciones. Y nadie más que el usuario tiene que decidir qué construcciones son buenas.

En mi opinión, la razón principal por la que MQ no quería que las versiones anteriores estuvieran disponibles es para dejar a los usuarios fuera del círculo de probadores de la versión beta. En el caso de la reversión sólo hasta la siguiente compilación está disponible, no será relevante. Y la complicación de la aplicación aquí es insignificante.

De lo contrario, el trabajo de desarrollo para los desarrolladores (es decir, para nosotros que estamos afectados por estos errores fatales) se ralentizará durante varios días (mientras que han pasado 6 días desde que se publicó la build 362). Aunque, por simplicidad, podemos aburrirnos con ella.
 
Dos terminales... 4 и 5.. La misma terminal...

MT4 tiene un panel...

Control de las operaciones comerciales desde el teclado... pero sólo si ForegroundWindow es ::MetaTrader y el gráfico con el bot es el primero en el orden z...


en MT5 - sólo procesamiento
[CÓDIGO]
void OnChartEvent(const int id, // ID del evento
const long& lparam, // Parámetro de tipo long event
const double& dparam, // Parámetro de tipo double event
const string& sparam // Parámetro de eventos de tipo string
){
if(lparam=='A')OpenOrder(0,MB,1);//llenar el formulario de comercio
...
if(lparam=='X')CloseOrder(;)
}
[/CODE]

Cuando la señal TradeIsDisabled aparece en MT4, Five comienza a llenar un formulario de operación (el de F9)... en el Editor ACTIVO de MT5(!?!)... MT5 - build 3-62... Antes de eso, estaba bien... 2-29 MT4...

¿Por qué?

 

al convertir explícitamente datos de tipo double a datetime, ¿se pierde precisión?

Hora_Máxima_Candela[NúmeroCandela]=(double)HoraCorriente();

ObjectCreate(0, "Line_Trend_Down_"OBJ_TRENDBYANGLE,0,Time_Red_0,Red_Line_0,(datetime)Time_Max_Candle[CandleNumber],Green_Line);

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
dentraf:

al convertir explícitamente datos de tipo double a datetime, ¿se pierde precisión?

Hora_Máxima_Candela[NúmeroCandela]=(double)HoraCorriente();

ObjectCreate(0, "Line_Trend_Down_"OBJ_TRENDBYANGLE,0,Time_Red_0,Red_Line_0,(datetime)Time_Max_Candle[CandleNumber],Green_Line);

No habrá pérdida de precisión porque el valor máximo de la fecha-hora es 32535244799 (el número de segundos desde el 1 de enero de 1970 hasta el 31 de diciembre de 3000) y se representa con precisión en formato real
 

¡Buenas tardes a todos!

Expertos en MQL5, ¿podrían por favor aconsejar cómo pasar un array de punteros a una función?

Por ejemplo, array gSymbols:CSymbolInfo *gSymbols[] .

 
Estimados desarrolladores, sería bueno hacer lo siguiente en la próxima compilación:

1. Deje que MT5 intente conectarse a los agentes una vez cada 10 minutos en un número infinito de veces. Entonces tenemos 6 intentos por hora (espaciados uniformemente en el tiempo).

2. En MT5, en el sector Agentes (donde se encuentran las carpetas Local, Remoto, Paquete) se añade la opción de crear sus propias carpetas para hacer las listas de agentes remotos. Ya resulta incómodo gestionar tantos agentes en una carpeta.

3. En relación con el error (a veces algunos agentes dan resultados de procesamiento con 0 operaciones, tal vez aparezca algo más), añada una comprobación después de cierto número de pasadas, digamos 100, sobre la corrección del resultado del agente (puede ser con cierto margen de error, digamos 5%) con el agente local. Si el agente da un resultado erróneo, haga que MT5 realice un reinicio remoto y borre todos los resultados anteriores de este agente, y después de 10 reinicios sin éxito (es decir, los resultados erróneos seguirán ocurriendo), desconéctese de él.

He publicado las imágenes en Pruebas de agentes remotos en MetaTrader 5

 
las opciones de respuesta...
visto - leído - pensado - hecho - hecho - hecho... //subrayado...
bienvenido...