[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 451
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Aqui está o resultado com 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) //+---- Montante máximo = 3000 -------------------+
1. De modo geral, é preciso remover as restrições sobre o valor. Todo o raciocínio permanece essencialmente o mesmo, apenas mais do que isso.
2. A julgar pelo fato de que na citação o homem precisava de um Cray 1, seu algoritmo foi menos otimizado que o seu :)
1. Grande não é possível - minha mesa de expansão multiplicadora não cabe na memória já na SMax=3400.
Algum avanço com lemma para um produto máximo para um determinado SMax ?
Aqui está a impressão para 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. Não, é que o mql5 é uma linguagem muito rápida... :)
Quanto tempo durou a contagem? Não cinco segundos...
Checado na SMax=3350. O resultado é o mesmo. Conta por cerca de um minuto, ainda menos.
A principal limitação neste momento é a memória. Precisamos limitar a tabela de decomposição do multiplicador.
Versão atual de PMax=SMax*(SMax/2-1). Pode ser diminuído ainda mais? Você pode habilitá-lo?
Acho que é suficientemente fácil provar que PMax<=SMax*(sqrt(SMax)-1)). Tentarei executá-lo agora e se ele cair, significa que estou errado. :)
Não funcionou (construiu uma mesa, mas parecia ser muito pequena), mas consegui encontrar mais uma solução (!) :-)
2011.01.15 19:40:28 MetaSage (EURUSD,M1) Array out of range in '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) //+---- Montante máximo = 4000 -------------------+
2011.01.15 19:40:24 MetaSage (EURUSD,M1) //============== START ========================
Agora, se pudéssemos ter certeza de que estas não são apenas soluções potenciais, mas soluções reais.
OK, podemos pensar mais, estabelecendo um limite de, digamos, 10.000.
P.S. Quantos números você tem na tabela aos 3300?
3300*(3300/2-1) ~ 5 milhões?
1. Agora, se pudéssemos ter certeza de que estas não são apenas soluções potenciais, mas soluções reais.
OK, podemos pensar mais, estabelecendo um limite de, digamos, 10.000.
2. P.S. Quantos números você tem na tabela aos 3300?
3300*(3300/2-1) ~ 5 milhões?
1. Bem, o roteiro é a maneira de ter certeza. Altere-o para uma versão de verificação. Será suficiente, mas vamos lidar primeiro com a PMax.
2. SIM.
Aqui está um pouco de mexer com o tamanho da mesa. Obtivemos os resultados com SMax=4100.
Conjunto PMax como segue: 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, há mais uma solução no meio: S=137; P=4672; a=64; b=73.