Errores, fallos, preguntas - página 2286

 
Ilyas:

Gracias por el mensaje,

¿Qué debo hacer con él?

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

Errores, fallos, preguntas

A100, 2018.09.01 15:25

Error de ejecución: No se puede encontrar 'g' en 'Test2.ex5'

//Test.mqh
class A {};
//Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
        void g( A* );
#import
void OnStart()
{
        A  a[1];
        ArrayPrint( a ); //(*)
        g(&a[0]);
}
//Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

Y si eliminas la línea con (*) en Test1.mq5, está bien. ¿Cómo le afecta? Construir 1881\32

No es el típico error de compilación - el programa no se inicia (y ArrayPrint sólo está ahí como ejemplo - puedes sustituirlo por otra función adecuada)

Después de todo, este error ya se descubrió hace un año... Se arregló muchas veces pero seguía reapareciendo. Aquí tampoco funcionahttps://www.mql5.com/ru/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber:

¿Qué carpeta del Terminal vía mklink debe colocarse en el RAMdisk para que los datos se lean/escriban desde la memoria y no desde el SSD? Estoy dispuesto a proporcionar datos sobre la cantidad de velocidad que esto dará durante la optimización.

La carpeta del probador se ha movido aldisco RAM de 5Gb y se ha realizado en el directorio de MT5

mklink /j Tester z:\Tester


El SSD duerme ahora tranquilamente, la optimización es ~1,5 veces más rápida (a ojo), ¡gratis!

 

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

Bichos, errores, preguntas

fxsaber, 2017.01.26 17:33

Dado que el modelo del optimizador se basa en el agente, ¿qué le impide implementar una única ejecución ya pasada por un optimizador que aún no está completo?

Por ejemplo, optimizando. Todavía quedan algunas horas. Pero ya veo resultados interesantes. Quiero ver algunos buenos resultados individuales - para correr en el backtester. Pero al mismo tiempo no dejar de optimizar (especialmente relevante para los AG). ¿Es posible, en esta situación, liberar a uno de los agentes locales y enviarle una sola carrera? Y luego continuar cargando este agente con paquetes de optimización.

Ahora los estudios están paralizados hasta que el optimizador termine. Y esto a veces lleva mucho tiempo.

Relevante, a pesar de los excelentes cachés. Por favor, abra el formato de los archivos opt.

Como ejemplo, para qué lo necesito. Aquí he clasificado los resultados de la optimización de la rentabilidad (PF)

Mira el número de operaciones - estadísticamente no significan nada: menos de 30. Pero su FP se sale de lo normal y hay cientos/miles de estos resultados. Entonces, ¿por qué está esta basura en la tabla?

Si el formato opt fuera abierto, esta basura podría ser eliminada automáticamente, dejando sólo resultados interesantes más o menos significativos desde el punto de vista estadístico.

Qué decir de la ordenación personalizada por múltiples criterios al mismo tiempo, etc.


ZZY Se supone que es posible no sólo leer, sino también escribir los archivos opt. Y luego alimentar al probador, ya que se implementa

De este modo, se aprovechan todas las ventajas de la interfaz gráfica de usuario del comprobador de caché libre de basura. Para ello, basta con abrir el opt-format.

 

Losresultados de la optimización pueden clasificarse según varios criterios

MT5 ya dispone de un mecanismo para especificar fórmulas de texto para las llamadas fórmulas sintéticas.

Propongo utilizar el mismo mecanismo de las fórmulas de texto para establecer criterios de ordenación arbitrarios.

 
Slava:

"Todo ha sido ya robado antes que tú".

Al inicio del día, marca completa. Luego oferta y/o demanda y/o flipper completo, todo lo demás en incrementos si está disponible. La media es de 10 bytes por tick.

Como el acceso a los ticks es estrictamente secuencial, no hay problema en organizar el acceso rápido a cada elemento de la matriz

Sí, de verdad. ¡Genial!
Hay que reconocer que sólo he investigado los bares. Y llegó a la precipitada conclusión de que era la misma situación con los tics. Me equivoqué.
Pero entonces es extraño: ¿por qué se guardan las barras prácticamente sin envasar?

Es fácil de comprobar: mire el tamaño del archivo de hcc para cualquier año, y luego cuente el número de barras para ese año con la función Bars. Es ~42,2 bytes por barra de 1 minuto. Son menos de 60, pero claramente redundantes.

 
fxsaber:

La carpeta del probador se ha movido aldisco RAM de 5Gb y se ha realizado en el directorio de MT5


El SSD duerme ahora tranquilamente, la optimización es ~1,5 veces (a ojo) más rápida, ¡gratis!

Vaya, qué solución tan sencilla e inesperada.
¡Impresionante! y ¡Bravo!

 

un extraño error en la compilación 1881 del 9 de julio.

No lo entendí de inmediato.

He minimizado la ventana del terminal, he configurado todos los parámetros y he introducido un depósito de 100 dólares.

Abrí la ventana a pantalla completa y pulsé el botón de inicio. Una hora después de la optimización.... Después de una hora descubrí que no había 100 dólares, sino 10.000.


Cuando extiendo el terminal a la pantalla completa, ¡el campo Depósito se restablece a sus valores por defecto!




El mismo error aparece incluso cuando la optimización ya está en marcha


 
Los comentarios que no son relevantes para este tema se han trasladado a "Preguntas frecuentes sobre el servicio de señales".
 
fxsaber:
Una gran petición en el probador es cerrar por Oferta/Demanda, si la última conocida es cero.

En el vídeo

Instrumento de bolsa en ticks reales. Las barras son construidas por Bid, sin datos finos, posición BUY abierta. Se ve claramente que el precio actual de cierre de la posición

PositionGetDouble(POSITION_PRICE_CURRENT)

es igual a cero todo el tiempo, a pesar de que la Oferta cambia significativamente. ¿Cómo podemos explicar al probador que el símbolo de la acción debe cerrar la posición de COMPRA por Oferta? Ahora ni siquiera se calcula la equidad.

 
Cada vez que hago una carrera individual, comienza con esta entrada
Core 1  MetaTester 5 forced to stop

¿Cuál es la razón?


Todas las ejecuciones terminan con ExpertRemove.