[Matematica pura, fisica, chimica, ecc.: problemi di allenamento del cervello non legati in alcun modo al commercio - pagina 451
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ecco il risultato 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) //+---- Importo massimo = 3000 -------------------+
1. In generale, bisogna eliminare le restrizioni sull'importo. Tutti i ragionamenti rimangono essenzialmente gli stessi, solo più di questo.
2. A giudicare dal fatto che nella citazione l'uomo aveva bisogno di un Cray 1, il suo algoritmo era meno ottimizzato del tuo :)
1. Grande non è possibile - la mia tabella di espansione dei moltiplicatori non entra in memoria già a SMax=3400.
Qualche progresso con il lemma per il prodotto massimo per un dato SMax?
Ecco la stampa del 3300:
2011.01.15 19:18:12 MetaSage (EURUSD,M1) //+---- Somma massima = 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, è solo che mql5 è un linguaggio molto veloce... :)
Quanto è durato il conteggio? Non cinque secondi...
Controllato a SMax=3350. Il risultato è lo stesso. Conta per circa un minuto, anche meno.
La principale limitazione in questo momento è la memoria. Dobbiamo limitare la tabella di decomposizione dei moltiplicatori.
Versione attuale di PMax=SMax*(SMax/2-1). Può essere diminuito ulteriormente? Puoi abilitarlo?
Penso che sia abbastanza facile dimostrare che PMax<=SMax*(sqrt(SMax)-1). Proverò ad eseguirlo ora e se si blocca significa che mi sbaglio. :)
Non ha funzionato (ha costruito un tavolo, ma sembrava troppo piccolo), ma sono riuscito a trovare un'altra soluzione (!) :-)
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) //+---- Importo massimo = 4000 -------------------+
2011.01.15 19:40:24 MetaSage (EURUSD,M1) //============== START ========================
Ora, se solo potessimo fare in modo che queste non siano solo soluzioni potenziali, ma soluzioni reali.
OK, possiamo pensare ulteriormente fissando un limite di, diciamo, 10.000.
P.S. Quanti numeri hai nella tabella a 3300?
3300*(3300/2-1) ~ 5 milioni?
1. Ora, se solo potessimo fare in modo che queste non siano solo soluzioni potenziali, ma soluzioni reali.
OK, possiamo pensare ulteriormente fissando un limite di, diciamo, 10.000.
2. P.S. È il numero di numeri che hai nella tabella a 3300?
3300*(3300/2-1) ~ 5 milioni?
1. Beh, lo script è il modo per assicurarsene. Cambiatelo con una versione di verifica. Lo farò, ma prima occupiamoci di PMax.
2. SÌ.
Ecco un po' di giochetti con le dimensioni della tabella. Ho ottenuto i risultati con SMax=4100.
PMax impostato come 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
.
Come vediamo, c'è un'altra soluzione nel mezzo: S=137; P=4672; a=64; b=73.