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

 
Sergey Likho:

Nuevos, los borrados no se usan. Los elementos de la clase se declaran al principio y no los recreo.

La mayor parte del trabajo se realiza con matrices.


¿Qué sonlos scripts de casos de prueba?

Haces una clase y probablemente (incluso antes) escribes un montón de scripts (o uno o dos scripts y un montón de funciones de prueba) que comprueban que hace exactamente lo que se supone que tiene que hacer y así es como funciona y es usable.
Al mismo tiempo, comprueba la estabilidad, los errores y las fugas de memoria.

No tienes que depurar una clase en un complejo enorme con muchas otras como ella.

----

Si trabajas mucho con matrices, envía periódicamente los tamaños de las matrices al diario externo y observa cuál se infla hasta un tamaño inimaginable mientras trabajas.

Por cierto, las llamadas recursivas pueden provocar el agotamiento de la memoria si hay arrays dentro. Comprueba que no hay recursión o que está bien limitada.

 
¿Me pueden decir qué estudiar para aprender a intercambiar datos entre gráficos en mt4, y entre terminales (no por internet)?
 
Yevhenii Levchenko:
Por favor, aconséjeme, ¿qué tengo que aprender para intercambiar datos entre gráficos en MT4, así como entre terminales (no a través de Internet)?
Si entre gráficos entonces EventChartCustom, variables globales de la terminal, archivo, winapi.
Si entre terminales entonces archivo y winapi
 
Yevhenii Levchenko:
Por favor, aconséjeme, ¿qué tengo que estudiar para aprender a intercambiar datos entre gráficos en MT4, así como entre terminales (no por Internet)?

Entre terminales de la misma máquina, puede utilizar un archivo en la carpeta "Common"

Si no me equivoco, la dirección es: C:\NUsers<....>\NAppData\Roaming\NMetaQuotes\NTerminal\NCommon

 
Vladimir Simakov:
Si entre gráficos, EventChartCustom, variables globales del terminal, archivo, winapi.
Si entre terminales, archivo y winapi
Vitaly Muzichenko:

Entre terminales de la misma máquina, puede utilizar un archivo en la carpeta "Common"

Si no me equivoco, la dirección es: C:\NUsers<....>\NAppData\Roaming\NMetaQuotes\NTerminal\NCommon

Resulta que no es tan complicado (es decir, ¡sólo el winapi es complicado!). Gracias. :)

 
Alexey Viktorov:
Línea 61, ¿qué línea es?
No puedo decirlo ahora mismo, está en la VPN, no puedo acceder a ella todavía
 
Ivan Butko:
No puedo decirlo ahora mismo, está en un VPS, no puedo acceder a él todavía

¿La fuente está en un VPS? ¿No lo tienes en tu ordenador? Vale, ya no me interesa.

 
Alexey Viktorov:

¿La fuente está en un VPS? ¿No lo tienes en tu ordenador? Vale, ya no me interesa.

De acuerdo.
Sí, acabo de salir del ordenador.

 
En general, la situación es la siguiente. Hay varios "lotes" Lotes1, Lotes2, Lotes3, etc. En cada parada el lote cambia. No puedo multiplicar el lote utilizando la Martingala, todos son diferentes. He intentado adaptar las funciones estándar FindLastLot() y otras. Resultó muy engorroso y anormalmente trabajado. Es decir, para cada lote he prescrito OrderSend y un montón de funciones que impedían la apertura paralela de otras órdenes. Entonces decidí intentar usar el bucle while y adjuntarle el switch case, pero recordé que sólo funciona con enteros. Pensé que podríamos usar el bucle for, pero las órdenes están cerradas, por lo tanto, hay que buscarlas en posiciones cerradas. ¿Pero cómo? ¿Necesito escribir un bucle más, es decir, for y while en él? Sólo tengo preguntas... He buscado respuestas en el foro y también en Internet. Todo es banal. Todo era simplemente Martingale multiplicado por dos. Sólo tengo esperanzas para ustedes, maestros de MQL. ¿Puede decirme en qué dirección ir?
 
Corvin85:
En general, la situación es la siguiente. Hay varios "lotes" Lotes1, Lotes2, Lotes3, etc. En cada parada el lote cambia. No puedo multiplicar el lote utilizando la Martingala, todos son diferentes. He intentado adaptar las funciones estándar FindLastLot() y otras. Resultó muy engorroso y anormalmente trabajado. Es decir, para cada lote he prescrito OrderSend y un montón de funciones que impedían la apertura paralela de otras órdenes. Entonces decidí intentar usar el bucle while y adjuntarle el switch case, pero recordé que sólo funciona con enteros. Pensé que podríamos usar el bucle for, pero las órdenes están cerradas, por lo tanto, hay que buscarlas en posiciones cerradas. ¿Pero cómo? ¿Necesito escribir un bucle más, es decir, for y while en él? Sólo tengo preguntas... He buscado respuestas en el foro y también en Internet. Todo es banal. Todo el mismo Martingale multiplicado por dos. Sólo tengo esperanzas para ustedes, maestros de MQL. ¿Puede aconsejarme en qué dirección ir?
Tengo la sensación de que el texto original viene de un universo paralelo, ha sido traducido dos veces por google-translate y luego recontado por Alice :-)