[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 361

 

Diubakin:
1. Здраствуйте, подскажите пожалуйста, есть ли возможность доступа к исторической тиковой информации в МТ4, средствами MQL4? То есть что-то вроде "тик-серии"?

2. ¿Es posible programar MA en base a ticks, pero no a plazos (series temporales)? Perdonen si no me expreso correctamente. En resumen, necesito un historial de garrapatas...


1. Lee artículos (haz una búsqueda) sobre cómo funciona el comprobador de estrategias.

2. Esta posibilidad existe, pero aquí juega un papel muy importante la elección de la empresa con la que se trabaja, sus condiciones comerciales, etc. Para ello necesitas un historial de ticks, y luego "descargarlo" en MT4... Muchas más cosas - esta no es una lista completa de cuestiones que hay que resolver...

Ver al final de la base de código del sitio - un Asesor Experto (por Composter) - Guardar... - No recuerdo su nombre exacto - cómo escribir el historial de garrapatas de un proveedor de cotización (CA).

 
Gracias por la ayuda, si he entendido bien, entonces en MT4 el trabajo en toda regla con los ticks es un problema serio, es decir, poder utilizar todas las posibilidades (indicadores, expertos, scripts) como en los timeframes y por tanto al programar en base a la información de los ticks hay muchos problemas adicionales, que serían muy difíciles de resolver para un principiante. ¿Era realmente tan difícil para los desarrolladores hacer una obra completa con información de garrapatas?
 

Diubakin:
1. Спасибо за помощь, если я правильно понял, то в МТ4 полноценная работа с тиками - это серьёзная проблем, то есть чтоб можно было использовать все возможности(индикаторы, эксперты, скрипты) как на таймфреймовых графиках и соответственно при программировании на основе тиковой информации возникает масса дополнительных задач, которые начинающему решить будет очень сложно.

2. ¿Fue muy difícil para los desarrolladores hacer un trabajo completo con la información de las garrapatas?


1. depende de su formación básica : qué lenguajes de programación domina, su capacidad para aprender, asimilar y aplicar materiales de aprendizaje, muchas otras cosas... Si todo está bien, hay un deseo y la aspiración de estudiar en esta dirección, a continuación, comprender y aplicar todo este placer en la práctica, estoy seguro, no es difícil y posible. Si acaso..., entonces es muy difícil, si no imposible, hacerlo uno mismo, la posibilidad, no me refiero a través de un joba...

2. Aquí, pregunte a los propios desarrolladores.

 
pension:
Disculpe, ¿cómo debería haber escrito el código para mantener los espacios, pero da miedo mirarlo yo mismo? Todo estaba bien en el borrador en el editor de texto.

Aquí en el editor, presione ktrl+alt+M - ponga el código a través del portapapeles en esta ventana, luego presione "Pegar" en la parte inferior, luego continúe con su arreglo.
 
Estimados profesionales. A continuación se muestra un fragmento del Asesor Experto, que se repite a menudo en él, en diferentes lugares, para diferentes propósitos.
Pregunta. ¿Por qué los Asesores Expertos escriben el operador B (condición básica en la p4) después del operador A? ¿O no entiendo algo, o es sólo reaseguro-precisión,
o son conscientes de algunas trampas? Entonces, ¿qué podría pasar de imprevisto?
Tengo otra sugerencia, es un elemento de estructuración del programa, para mejorar la comprensión de su lógica, pero entonces si tal técnica se utiliza con frecuencia

el rendimiento del programa se ve perjudicado. Por favor, explique cuál es el propósito de escribir la página 4.

for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {                                       //стр.1
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);                                   //стр.2
       if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber)  continue;  //стр.3 Оп-р А.
       if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)             //стр.4 Оп-р Б.
                   if (OrderType() == OP_BUY || OrderType() == OP_SELL)                //стр.5 Пример нужного оператора
                                                 Profit += OrderProfit();              //стр.6 Пример нужного действия
        }                                                                              //стр.7
 
Vinin:

Es difícil hablar de lo real sin saber muchas cosas. Pero en una primera aproximación se puede decir que el 50% es seguro. Me refiero a la repetición del resultado.

Ya veo, ¡gracias!
 
pension:
Pregunta. ¿Por qué los expertos escriben el operador B (condición principal página 4) después del operador A?

la sentencia continue termina la iteración actual del bucle for si el nombre del instrumento actual no es igual o el mago no es igual, es decir, por debajo de la sentencia continue el código no se ejecutará hasta "nuestra orden", la segunda sentencia if comprueba la ejecución simultánea de las condiciones

Un código un poco engorroso, mira la rama https://www.mql5.com/ru/forum/131859, hay un montón de funciones inteligentemente escritas

 

Existe (estoy escribiendo) un indicador que simula las pulsaciones del teclado según sea necesario a través de keybd_event(...) . El indicador tiene que estar en varios gráficos. Así, si otro gráfico está abierto, incluso sin indicador, mientras el gráfico con indicador está oculto, esta pulsación se envía a esta otra ventana activa y no se envía a la cerrada con indicador. ¡¡¡Y si ejecutas el indicador en varios gráficos, será...!!!

La pregunta es, ¿cómo lo sabe el indicador? que su gráfico está inactivo, para al menos bloquear este envío o, si lo envía, debe enviar este empuje a su propia ventana inactiva?

 
pension:
Estimados profesionales. A continuación se muestra un fragmento del Asesor Experto, que se repite a menudo en él, en diferentes lugares, para diferentes propósitos.
Pregunta. ¿Por qué los Asesores Expertos escriben el operador B (condición básica en p4) después del operador A? O bien no entiendo algo, o bien se trata de un reaseguro-refinamiento,
o ¿son conscientes de las dificultades? Entonces, ¿qué puede ser lo imprevisto?
Tengo otra sugerencia, es un elemento de estructuración del programa, para mejorar la comprensión de su lógica, pero entonces si dicha técnica se utiliza a menudo

el rendimiento del programa se ve perjudicado. Por favor, explique cuál es el propósito de escribir la página 4.



Lo mejor es que compruebe usted mismo el funcionamiento de este búho con la página 4, sin la página 4... en tester, en demo - no importa... Dos variantes: que trabajen en paralelo al mismo tiempo, en el mismo instrumento... A continuación, publique aquí las muestras de estas dos variantes. Parece un exceso de seguro... Después de todo, si pasamos la condición A, entonces podemos ir con seguridad a la línea №5 - reaseguro...
 

Estoy totalmente confundido con la optimización.

La tarea consiste en ver cómo funcionará el EA en un periodo determinado, el resultado no es importante todavía.

Tenemos un saldo inicial de 10000 dólares. Un parámetro a optimizar. He establecido la condición límite: el saldo mínimo es de 1000 dólares. El probador busca y dice "no hay resultados". Bien. Empiezo a probar y veo que la reducción máxima es de 532$ y el saldo final es de 9378$. Es decir, el saldo del periodo es siempre superior a 1000 dólares, pero el comprobador no lo muestra durante la optimización. ¿Por qué? Una búsqueda en los foros muestra que no existe tal problema, lo que significa que no entiendo correctamente el significado de "saldo mínimo"...