Errores, fallos, preguntas - página 2337

 

A los desarrolladores. Por favor, arregle un error en MQL4.

La escala fija creada manualmente a través de F8, pestaña "General", casilla "Fijar escala 1:1" no se corresponde con los valores de una función similar ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value).

Cómo se reproduce. Si el script de la aplicación se ejecuta en el gráfico, se llamará a la función anterior. El campo Comentario tendrá los siguientes valores:

Comentario("resultado = ", resultado, "; PrecioMáx = ", PrecioMáx, "; PrecioMín = ", PrecioMín);

También serán visibles si se pulsa F8, pestaña General, ver los campos - "Fijar máximo", "Fijar mínimo". Registra estos valores (1).

A continuación, cancele la escala fija desmarcando la casilla "Fijar escala", la casilla "Fijar escala 1:1" se desmarcará automáticamente.

Fijar manualmente la escala mediante F8, pestaña General, marcando "Fijar escala 1:1" se desmarcará automáticamente la casilla "Fijar escala".

Confirme la acción pulsando OK. Vuelva a pulsar F8 y registre los valores "Fijar máximo", "Fijar mínimo" (2).

Compara los valores registrados (1) y (2).

Por ejemplo, para mí, después de que el guión funciona:

Máximo fijo - 112,004
Asegurar el mínimo - 111.420

Después del ajuste manual:

Alta segura - 112.004
Asegurar el mínimo - 111.398

PD: Comprobado de nuevo. Parece que no es un error de MQL4, sino del terminal 4.00 Build 1147 16 Nov 2018
Archivos adjuntos:
 

Los siguientes archivos no están disponibles a través de MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 y *.ex5. La razón es clara.

¿Qué otros archivos están restringidos?

 

Después de cerrar el terminal, los objetos de los objetos gráficos pierden su información sobre herramientas. Queridos desarrolladores, por favor, arregladlo.

MT5, build 1940 x64.

Script de prueba para la comprobación:

#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="test_tooltip_"+TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS);
//---
   const double price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
//---
   if(ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,": Построен тестовый объект "+name+" по цене "+DoubleToString(price,_Digits));
      //---
      ObjectSetString(0,name,OBJPROP_TOOLTIP,"TOOLTIP");
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      //---
      ChartRedraw();
     }
   else
      Print(__FUNCTION__,": ОШИБКА #",GetLastError(),"! Объект "+name+" не построен!");

  }
//+------------------------------------------------------------------+
 
Alexey Kozitsyn:

Después de cerrar el terminal, los objetos de los objetos gráficos pierden su información sobre herramientas. Queridos desarrolladores, por favor, arregladlo.

MT5, build 1940 x64.

Script de prueba para la comprobación:

No te hagas ilusiones, esta cuestión ya se planteó hace 5 años.

Respuesta = la información sobre la herramienta no se escribe en ningún sitio y se almacena mientras el programa se está ejecutando.

 

¿Es un desajuste válido en la Documentación?

AccountInfoInteger

Devuelve el valor de la propiedad de la factura correspondiente.

long  AccountInfoInteger( 
   int  property_id      // идентификатор свойства 
   );

Parámetros

property_id

[in] Identificador de la propiedad. El valor puede ser uno de losENUM_ACCOUNT_INFO_INTEGER.

 
En relación con el informe de error. Lo he vuelto a comprobar. Parece ser un error no en MQL4, sino en el terminal 4.00 Build 1147 16 Nov 2018
 

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

Bichos, errores, preguntas

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

En realidad significa.

void f()
{
}
static b;
static a;

primero de todo separar la estática, bien en {} entonces


El mismo código (complejo) se ejecuta de forma diferente en MT4/5 debido a la diferente secuencia de ejecución en MT4/5. Escribir un simple ejemplo no ha funcionado.

 
fxsaber:

Los siguientes archivos no están disponibles a través de MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 y *.ex5. La razón es clara.

¿Qué otros archivos están restringidos?

Sospecho que *.cmd *.ts y otros archivos que han caído inadvertidamente en la rama correspondiente del registro.
Es decir, cualquier cosa que, cuando se abre a través de eXporter, puede hacer que se inicie una aplicación/servicio

 
fxsaber:
El mismo código (complejo) se ejecuta de forma diferente en MT4/5 debido a la diferente secuencia de ejecución en MT4/5. Escribir un simple ejemplo no ha funcionado.

Yo creo. No lo sé.

 
A100:

en realidad significa

primero la estática independiente, bien en {} luego

Parece que hay un cambio reciente en el comportamiento. Hace algún tiempo el orden era diferente - las variables globales y las estáticas se inicializaban en el mismo orden (en orden de declaración). Es decir, en este caso primero a y luego b. Podría estar equivocado, pero es poco probable.