Errores, fallos, preguntas - página 2910

 
AlexInRush:

Hola a todos.

¿Podría decirme cómo depurar un robot que opera con una pila de órdenes en Forts? ¿Existe alguna herramienta para reproducir el historial de la copa o trabajar con datos reales en el modo de emulación de la ejecución? No se me ocurre otra cosa que depurarlo en una cuenta real usando print y comment, que a veces no es barato :(

Hay uno en el mercado. El kodobase no parece tener ninguno.

 
Stanislav Korotky:

Hay algunos en el mercado. Creo que no hay ninguno en la base de datos de kodo.

Buenas tardes, Stanislav.

He leído la descripción de la biblioteca de historia de OrderBook. Si lo he entendido bien, cuando conecto esta librería al robot, puedo sustituir los eventos normales del vaso por eventos del emulador. Al reproducir la estrategia en el probador, la emisión del historial del canal se sincronizará con el historial de ticks del probador. En consecuencia, la emulación de la ejecución se basará en el historial de ticks del probador. Si lo he entendido bien,parece que esto es lo que buscaba. Gracias, lo intentaré.

 
AlexInRush:

Buenas tardes, Stanislav.

He leído la descripción de la biblioteca de historia de OrderBook. Si lo he entendido bien, cuando conecto esta librería a mi robot, puedo sustituir los eventos del probador por eventos del emulador. Al reproducir la estrategia en el probador, la emisión del historial del canal se sincronizará con el historial de ticks del probador. En consecuencia, la emulación de la ejecución se basará en el historial de ticks del probador. Si lo he entendido bien,parece que esto es lo que buscaba. Gracias, lo intentaré.

No se puede mencionar ni hablar de productos en el foro. Si tiene preguntas sobre el producto, escríbame en persona.

 

¡He descubierto una cosa extraña con la creación de un recurso gráfico! Una misma variante de código escrita en MQL5 funciona perfectamente, ¡y en MQL4 no funciona en absoluto! Todo es absolutamente igual y parece sencillo:

    string path="::Images\\AAA.bmp";
    string path1="\\Images\\AAA.bmp";

    if(!ResourceCreate(path,path1))
     {
      Print(__FUNCTION__+", Error="+string(GetLastError()));
      return(false);
     }

Como resultado, al instalar el indicador en el gráfico en Metatrader 4 tenemos

¿Dónde está el problema?

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
//| Expert initialization function                                   |                                                                                       ); "Внимание! %s: Попробуем добавить индикатор MACD(%s/%s) на график %s/%s. Получим ошибку 4114"                         subwindow...
 
Nikolay Kositsin:

¡He descubierto una cosa extraña con la creación de un recurso gráfico! Una misma variante de código escrita en MQL5 funciona perfectamente, ¡y en MQL4 no funciona en absoluto! Todo es absolutamente igual y parece sencillo:

Como resultado, al instalar el indicador en el gráfico en Metatrader 4 tenemos

¿Dónde está el problema?

Sí, no funciona en MT4.
Pero funciona tanto para MT5 como para MT4 con esta construcción más corta:

#resource  "\\Images\\AAA.bmp"
string path="::Images\\AAA.bmp";

uint bmp[], w,h;
ResourceReadImage(path,bmp,w,h);

Archivos adjuntos:
Morph.mq4  9 kb
iCanvas.mqh  49 kb
Images.zip  731 kb
 
Nikolai Semko:

Sí, no funciona en MT4.
Pero funciona tanto para MT5 como para MT4 con este diseño más corto:


Te lo agradezco, pero por desgracia, esta estructura carga las imágenes sólo en el momento de la compilación y necesito cargarlas en un archivo compilado en el trabajo. ¿Entonces la función ResourceCreate() en MQL4 no funciona de ninguna manera? Tal vez, los desarrolladores simplemente se olvidaron de añadir el código para ello en la apretada agenda?

Документация по MQL5: Общие функции / ResourceCreate
Документация по MQL5: Общие функции / ResourceCreate
  • www.mql5.com
[in]  Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для...
 
Los comentarios no relacionados con este tema han sido trasladados a "Preguntas de los principiantes de MQL4 MT4 MetaTrader 4".
 
Nikolay Kositsin:

Gracias, pero por desgracia, esa construcción sólo carga las imágenes en tiempo de compilación, mientras que debería cargarse en el archivo compilado en tiempo de ejecución. ¿Entonces la función ResourceCreate() en MQL4 no funciona de ninguna manera? Tal vez, los desarrolladores simplemente se olvidaron de añadir un código para ello en la agitación de los acontecimientos.

Tal vez.
Han arreglado ResourceReadImage hace poco.
 
No hay ningún mensaje de error:
class B {
enum E { function };
        void function() {} //нормально ???
        void g() { function(); }
};

pero así es:

class A {
public:
        void function() {}
};
class B : public A {
enum E { function };
        void g() { function(); } //Error: ')' - expression expected
};

¿Cuál es la diferencia fundamental?

 
fallo de compilación con operador ternario
falla la compilación con el operador ternario ?

interface A{};
class B:public A{};
class C:public A{};
void OnStart(void)
  {
   A* x=(true)? new B : new C; //invalid cast operation
  }


¿alguna sugerencia?
¿Por qué?