Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1453

 
ANDREY:

¿Y qué hace exactamente el probadorcon cada tic , si no hay un solo símbolo en el programa que está ejecutando, que le dé una orden?

El probador crea una simulación del mercado. Envía un nuevo precio a su EA en cada tick. Y como hay 53 mil garrapatas, se necesita un tiempo considerable para enviarlas todas. Todo esto ocurre antes de que se ejecute el código del EA. Lo que se escriba en el EA es cosa del programador y no tiene nada que ver con el trabajo del probador.

 

El tiempo total incluye el tiempo de funcionamiento del probador y el tiempo de preparación del mismo. El tiempo de ejecución de su probador es mínimo (procesado en) en ambos modos. El tiempo de preparación es estándar independientemente del modo.

 
ANDREY:

Al hacer la prueba a precios de apertura - de 160 órdenes que se abrieron a CADA TICK, sólo se abrieron 120, y además no a precios intra-minuto (como requiere el código).

Aquí todo está en manos del programador: cómo construir la lógica, cómo va a funcionar, buscar errores en la comprensión del programa.

Trabajar con garrapatas en una historia larga lleva mucho tiempo. Y como habrá un gran número de pruebas, el tiempo de cálculo debe reducirse. Por lo tanto, es mejor desarrollar un Asesor Experto con el control de la apertura de una nueva barra y utilizar el modo - por los precios de apertura. Y luego estudiar y analizar lo que está mal.

 
Aleksei Stepanenko:

Bien, el probador crea una operación de mercado simulada. Envía un nuevo precio a su EA en cada tick. Y como hay 53 mil garrapatas, se necesita una cantidad de tiempo considerable para enviarlas todas. Todo esto ocurre antes de que se ejecute el código del EA. Lo que se escriba en el EA es cosa del programador y no tiene nada que ver con el trabajo del probador.

Gracias por la información. Sin embargo, las frases amarilla y gris parecen contradecirse. Parece que el probador enviará TODOS los ticks con precios a mi Asesor Experto en el momento en que la función OnTick() comienza a trabajar. Pero, cuando OnTick( ) comienza a funcionar , el probador no enviará ticks con precios al Asesor Experto. En este caso, ¿qué pasa si no son los ticks los que van a procesar las líneas de programa de mi EA? Lo siento si te he entendido mal.

 
Aleksei Stepanenko:

Aquí todo está en manos del programador: qué tipo de lógica construir, cómo va a funcionar, buscar errores para entender cómo funciona el programa.

Trabajar con garrapatas en una historia larga lleva mucho tiempo. Y como el probador se ejecutará un gran número de veces, el tiempo de cálculo debe ser reducido. Por lo tanto, es mejor desarrollar un Asesor Experto con control de apertura de una nueva barra y utilizar el modo - por los precios de apertura. Y luego estudiar y analizar lo que está mal.

¿Está de acuerdo en que si las órdenes se abren dentro de una vela de un minuto en ticks, el modelo BAR OPENING PRICES no abrirá órdenes a precios de ticks dentro de una vela de un minuto? Incluso si controlamos la apertura de cada vela de minutos.

 
Aleksei Stepanenko:

El tiempo total incluye el tiempo de funcionamiento del probador y el tiempo de preparación del mismo. El tiempo de ejecución de su probador es mínimo (procesado en) en ambos modos. La preparación lleva el tiempo estándar, independientemente de la modalidad.

Esto significa que sólo se puede guardar el tiempo de ejecución del probador en procesado en

 
Hola! No sabía donde escribir un poco de off-topic, necesito un indicador para la aplicación Binance, hay un "indicador configurable" añadido por la entrada directa de un código. Si puedes ayudar, esta es la tarea:
"Identificar una vela de impulso"

1. Comparación del tamaño del cuerpo de una vela recién cerrada con las velas anteriores (número de velas anteriores X) (¿se debe cambiar en la ventana de parámetros del indicador o en el propio código?)

2. la vela debe ser mayor que las velas anteriores en Y% (posibilidad de cambiar la Y en la ventana de parámetros del indicador o en el código)

3. la sombra de una vela no hace más de Z% del cuerpo de la vela (también debe cambiar)

Cuando se cumplen las tres condiciones, es conveniente enviar una notificación al correo electrónico.
Ya tengo uno en formato luac, pero lo necesito en Binance.

 
ANDREY:

Resulta que el probador enviará TODOS los ticks con precios a mi Asesor Experto en el momento en que la función OnTick() comience a funcionar.

OnTick() es la función de captura de eventos, donde el evento es la llegada de un tick al terminal, o la imitación de dicha llegada en el probador. Los ticks vienen uno tras otro, y activan la función. Si hay un código en OnTick(), se ejecutará cada tick. Si llega un nuevo tick en el momento de procesar el anterior, el nuevo tick no se coloca en la cola sino que se salta (en el modo de negociación). Si no hay código en OnTick(), el tick también activa esta función, pero el código no está ahí, así que no hay nada que ejecutar.

 
Aleksei Stepanenko:

OnTick() es una función de captura de eventos, donde el evento es la llegada de un tick en el terminal, o una llegada simulada en el probador. Los ticks vienen uno tras otro, y activan la función. Si hay código en OnTick(), entonces procesa cada tick que viene. Si llega un nuevo tick mientras se está procesando el anterior, el nuevo tick se salta y no se pone en la cola. Si no hay código en OnTick(), el tick también activa esta función, pero no hay código allí, así que no hay nada que resolver.

Lo tengo. Gracias.

 
Hola, ¿pueden ayudarme a entender por qué PrintFormat() necesita el signo %, si sin él los valores se registran como en Print()?
PrintFormat("%s %d: hombro = 1:%I64d",
server,login,leverage);