Errores, fallos, preguntas - página 2264

 

Por favor, ayuda, todavía no puedo averiguar las razones.


Este código se compila por alguna razón desconocida

class A {};

class B : public A
{
public:
  void f()
  {
    Print(__FUNCTION__);
  }
};

void OnStart()
{
  A a;
  
  ((B*)(&a)).f(); // OK
}

pero se bloquea en tiempo de ejecución. Pensé que era un error de compilación, no es gran cosa.


Pero entonces escribí el código así

#property script_show_inputs

input string FileName = "Alpari_GBPAUD.ZIP";

#include <Zip\Zip.mqh> // https://www.mql5.com/ru/articles/1971

void OnStart()
{
  CZip Zip;

  Zip.LoadZipFromFile(FileName, 0);

  uchar Bytes[];

  ((CZipFile*)Zip.ElementAt(0)).GetUnpackFile(Bytes);
  Print("UnZip - unpack size " + (string)ArraySize(Bytes) + " bytes.");  
}


No sólo compila, sino que también se ejecuta con éxito. Debo ser muy tonto en alguna parte, pero no logré entender por qué funciona sin problemas.

Desgraciadamente, no conseguí localizarlo, así que el ejemplo con ZIP-bibble. Y, lo más probable, es que sea un fastidio descubrirlo. Pero no importa.

 

Terminal (1881) se bloquea en la depuración si la variable está en formato binario

Reproduce la animación para ver

Esto probablemente sólo se aplica a las variables de unión

 
Nikolai Semko:

Terminal (1881) se bloquea en la depuración si la variable está en formato binario

Reproduce la animación para ver

Esto probablemente sólo se aplica a las variables de unión

Gracias por el mensaje.

Lo he arreglado.
La corrección se incluirá en la próxima versión.

 
fxsaber:

Por favor, ayuda, todavía no puedo averiguar las razones.


Este código se compila por alguna razón desconocida

pero se bloquea cuando se ejecuta. Pensé - bueno, es un error de compilación - no es gran cosa.

...

Estás intentando lanzar un puntero a un objeto de tipo A a un puntero a un objeto de tipo B, lo cual es un claro error, porque A no se hereda de B
 
Ilyas:
Estás intentando convertir un puntero a un objeto de tipo A en un puntero a un objeto de tipo B, lo cual es un error obvio ya que A no se hereda de B

Esto lo entiendo. Pero no está nada claro por qué la misma acción en el ejemplo de ZIP-bibble funciona. Es exactamente el mismo fantasma allí.

ZS Lo he descubierto.

 

La luz de fondo se apaga... luego reaparece


Archivos adjuntos:
Error1.mqh  1 kb
 

Me he enfrentado a un problema de este tipo al probar losresultados en cuatro y cinco dígitos (especialmente en la pequeña MT4) en MT4. Los resultados son significativamente diferentes (el reconocimiento de 5 y 4 dígitos está implementado en el Asesor Experto) al menos el número de operaciones aumenta significativamente. ¿Quién sabe o ha sugerido la razón? ¿Quizás no depende del signo, sino del tipo de ejecución de la orden, normal y de mercado?

P.D. En ambos casos las citas fueron cargadas a través de Tisckstory.


Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Buenas tardes. ¿Puedes decirme si es posible cambiar la configuración de la pantalla del indicador desde el código del Asesor Experto? Por ejemplo, el color o el grosor de las líneas. Gracias de antemano.
 
SuhanovDM94:
Hola, me gustaría compartir con vosotros mis ideas sobre este tema. ¿Sabes si se puede cambiar la configuración de visualización del indicador desde el código del Asesor Experto? Por ejemplo, el color o el grosor de las líneas. Gracias de antemano.

Puedes, pero

  1. Sólo en el momento de la creación del indicador
  2. Sólo si el color del indicador y la configuración de la línea se incluyen en los parámetros de entrada (un ejemplo de este tipo de indicador es elde las entradas de medias móviles personalizadas)

 
SuhanovDM94:
Hola. ¿Sabes si se puede cambiar la configuración de la pantalla de un indicador desde el código de un Asesor Experto? Por ejemplo, el color o el grosor de las líneas. Me gustaría darles las gracias por adelantado.

¿Por qué quieres cambiar el color y el grosor del EA? No afecta a su rendimiento de ninguna manera. ¿Lo necesitas para una foto? Así que cámbialo en una plantilla en la configuración del indicador.

Razón de la queja: