[Archivo] Matemáticas puras, física, química, etc.: problemas de entrenamiento cerebral no relacionados con el comercio de ninguna manera - página 451
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Este es el resultado con SMax=3000
2011.01.15 19:14:26 MetaSage (EURUSD,M1) //+---- Max = 3000 -------------------+
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 19:14:21 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 19:14:21 MetaSage (EURUSD,M1) //+---- Cantidad máxima = 3000 -------------------+
1. En general, hay que eliminar las restricciones de la cantidad. Todo el razonamiento sigue siendo esencialmente el mismo, sólo que más.
2. A juzgar por el hecho de que en la cita el hombre necesitaba un Cray 1, su algoritmo estaba menos optimizado que el tuyo :)
1. Grande no es posible - mi tabla de expansión de multiplicadores no cabe en la memoria ya en SMax=3400.
¿Algún avance con el lema del producto máximo para un SMax dado?
Aquí está la impresión del 3300:
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 19:18:06 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 19:18:06 MetaSage (EURUSD,M1) //+---- Max = 3300 -------------------+
.
2. No, es que mql5 es un lenguaje muy rápido... :)
¿Cuánto duró el recuento? No cinco segundos...
Comprobado en SMax=3350. El resultado es el mismo. Cuenta durante un minuto, incluso menos.
La principal limitación ahora mismo es la memoria. Tenemos que limitar la tabla de descomposición del multiplicador.
Versión actual de PMax=SMax*(SMax/2-1). ¿Puede reducirse aún más? ¿Puedes habilitarlo?
Creo que es bastante fácil demostrar que PMax<=SMax*(sqrt(SMax)-1). Intentaré ejecutarlo ahora y si se bloquea es que estoy equivocado. :)
No funcionó (construyó una mesa, pero parecía ser demasiado pequeña), pero logré encontrar una solución más (!) :-)
2011.01.15 19:40:28 MetaSage (EURUSD,M1) Matriz fuera de rango en 'MetaSage.mq5' (100,47)
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=343; P=9952; a=32; b=311
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 19:40:24 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 19:40:24 MetaSage (EURUSD,M1) //+---- Cantidad máxima = 4000 -------------------+
2011.01.15 19:40:24 MetaSage (EURUSD,M1) //============== START ========================
Ahora bien, si pudiéramos asegurarnos de que no se trata sólo de soluciones potenciales, sino de soluciones reales.
Bien, podemos pensar más allá estableciendo un límite de, digamos, 10.000.
P.D. ¿Cuántos números tienes en la tabla a 3300?
¿3300*(3300/2-1) ~ 5 millones?
1. Ahora bien, si pudiéramos asegurarnos de que no son sólo soluciones potenciales, sino soluciones reales.
Bien, podemos pensar más allá estableciendo un límite de, digamos, 10.000.
2. P.D. ¿Es esa la cantidad de números que tienes en la tabla a 3300?
¿3300*(3300/2-1) ~ 5 millones?
1. Bueno, el guión es la forma de asegurarse. Cámbialo por una versión de verificación. Lo haré, pero tratemos primero con PMax.
2. SÍ.
Aquí hay que juguetear con el tamaño de la tabla. Obtuve los resultados con SMax=4100.
PMax ajustado como sigue: SMax*(uint)(SMax/6-1) = 2796200
2011.01.15 20:21:29 MetaSage (EURUSD,M1) //+---- Max = 4100 -------------------+
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=343; P=9952; a=32; b=311
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=163; P=4192; a=32; b=131
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=137; P=4672; a=64; b=73
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=127; P=1776; a=16; b=111
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=89; P=1168; a=16; b=73
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=65; P=244; a=4; b=61
2011.01.15 20:21:18 MetaSage (EURUSD,M1) S=17; P=52; a=4; b=13
2011.01.15 20:21:18 MetaSage (EURUSD,M1) //+---- Max = 4100 -------------------+
2011.01.15 20:21:18 MetaSage (EURUSD,M1) //============== START ========================
2011.01.15 20:21:00 MetaSage (EURUSD,M1) SMax*(uint)(SMax/6-1) = 2796200
.
Como vemos, hay una solución más en el medio: S=137; P=4672; a=64; b=73.