MetaTrader 5 Strategy Tester e MQL5 Cloud Network - pagina 16

 
Interesting:

È un compito così difficile fare un gestore di agenti diretto per Linux (almeno per quelli più popolari)?

La questione è che un file così semplice come metatester[64].exe (~2,5 Mb) include

  1. l'agente di prova stesso, compreso l'intero sottosistema runtime di MQL5, la sua sandbox e l'intera logica di business del terminale
  2. Tutta la parte GUI della visualizzazione di test (questa è una pura GUI di Windows senza possibilità di essere portata)
  3. Parte dell'interfaccia grafica del gestore dell'agente
  4. Rete di nuvole MQL5
  5. aggiornamenti automatici

Abbiamo impacchettato in un file EXE, che non richiede altre librerie/componenti aggiuntive, così tante funzioni e semplificato il lavoro con esso, che la replica della stessa funzionalità con la stessa qualità sotto Linux è fuori questione.
 
Renat:
Il fatto che abbiamo impacchettato in un file EXE, che non richiede altre librerie/componenti aggiuntive, così tante funzioni e semplificato il lavoro con esso, che la replica della stessa funzionalità con la stessa qualità sotto Linux è fuori questione.

Il perenne problema multipiattaforma di Microsoft.

Renat:

Il fatto è che un file così semplice come metatester[64].exe (~2,5 Mb) include

  1. l'agente di prova stesso, compreso l'intero sottosistema runtime di MQL5, la sua sandbox e l'intera logica di business del terminale
  2. Tutta la parte GUI della visualizzazione di test (questa è una pura GUI di Windows senza possibilità di essere portata)
  3. Parte dell'interfaccia grafica del gestore dell'agente
  4. Rete di nuvole MQL5
  5. auto-aggiornamento

È chiaro. Non capisco perché non possono tagliare alcune funzionalità e lasciare solo ciò che è disponibile in MQL5 Cloud Network?

Per esempio, non capisco la necessità di un tale schema del secondo punto (il cui punto principale è l'impossibilità del porting)...

 
Interesting:

Il perenne problema di Microsoft con il cross-platforming.

Questo è comprensibile. Non capisco perché non possono tagliare alcune funzionalità e lasciare solo ciò che funziona in MQL5 Cloud Network?

Per esempio, non capisco la necessità di un tale schema del secondo punto (l'impossibilità del porting è il punto principale)...

Preferisco pormi domande più importanti:

  1. Chi ha bisogno di un tester spogliato per Linux? Senza protezioni, senza il normale supporto 32/64, senza una bella architettura e semplicità. Gli sviluppatori non ne hanno assolutamente bisogno.
  2. Perché gli sviluppatori passeranno mezzo anno (minimo) della loro vita su questo progetto sputando e imprecando? Dov'è il profitto dello sviluppatore?
  3. Perché gli sviluppatori rovineranno un'architettura pulita introducendo un orrore multipiattaforma nel codice?

Lo sviluppo del software è un business guidato da risposte chiare a domande economiche.

Quelli che non tengono conto della dura economia vanno a fare progetti aerei, fanno fallire gli investitori e poi... cambiare lavoro e di solito di nuovo in un cerchio :)

ps: MetaTrader 4 e MetaTrader 5 funzionano abbastanza decentemente sotto Linux via Wine, e ci assicuriamo esplicitamente che il terminale funzioni bene in Wine (sistemiamo le piccole cose di tanto in tanto).

 
Renat:

Nella prossima versione, gli agenti tester non saranno in grado di lavorare nella rete MQL5 Cloud Network, se sono lanciati sotto virtualizzatori o emulatori (Virtual PC, VMWare, Virtual Box, Wine, ecc). Questo viene fatto per minimizzare la possibilità di corrompere le valutazioni delle prestazioni.

La normale modalità server di esecuzione degli agenti sotto i virtualizzatori è completamente conservata. Questo significa che potete usare gli agenti in qualsiasi forma per le vostre esigenze.

qual è il problema, che tipo di overclock sta avvenendo sotto la virtualizzazione?

cosa importa dove sono i noccioli?

Mi dispiace molto se è possibile far girare il rating, onestamente non capisco bene come ...

cos'è il rating? cos'è il rating?

c'è un compito per il kernel - il kernel completa il compito - c'è un tempo per il kernel per completare questo compito

non dovrebbero esserci altri criteri

tutto questo può essere controllato nel MQL5 Cloud Network

In poche parole

1-core dice che sono pronto

2- MQL5 Cloud Network dice al nucleo, andare a lavorare, impostare il tempo

3-core funziona per 3 secondi

4-core risponde a MQL5 Cloud Network -> prendi il tuo compito

5 - ben fatto kernel - l'hai fatto in 3 secondi - ecco una caramella sotto forma di 0,1 centesimi

un altro nucleo

1-Core ha detto che sono pronto.

2- MQL5 Cloud Network - > il kernel è in orario

3-core funziona per 30 secondi

4-core risposte a MQL5 Cloud Network -> prendi il tuo compito

5 - ben fatto core - l'hai fatto in 30 secondi - ecco una caramella sotto forma di 0,1 centesimi

è semplice - più velocemente e più duramente si lavora, più si ottiene.

La rete MQL5 Cloud non dovrebbe avere favoriti - i compiti saranno dati a loro più spesso ...

È come nella vita - i preferiti ricevono ordini più spesso!)

il che significa che la rete Cloud - non dovrebbe solo distribuire i compiti per lista! ma probabilmente spostando i core nelle code

per prevenire la situazione in cui solo quelli in cima alla lista otterranno il lavoro - e così via in un cerchio

se supponiamo che ci siano 100 compiti e circa 1000 core

allora i primi 100 avranno il lavoro

li completeranno - poi altri 100 compiti saranno messi in coda e di nuovo saranno consegnati ai core che sono in cima alla lista

e il ponte 900 sarà inattivo

quindi i primi 100 core saranno i più propensi a guadagnare

---

Beh, se il problema non è risolto, allora ahimè

:-(((( , quindi meno 8 dei miei buoni core dal pool, I7 - 3 GHz, 8 giga di core

Non lascerò la macchina virtuale - è sotto LINUX CentOS, non mi sposterò su windows host.

questo è esattamente l'host che funziona 24/7!

----

L'ho fatto apposta su una macchina virtuale e ho assegnato 2 core dei 3 core dell'host alla macchina virtuale

Ora ho 47 core nel pool - di cui solo questi ultimi due

sono sulla stessa macchina

64x 3 core amd

cioè dei 3 core fisici due sono condivisi una seconda volta ma da un sistema operativo diverso

Renat, non capisco bene perché questo sarebbe un problema

Se aiuta a testare e trovare una soluzione - permettendo l'uso di macchine virtuali sarà contento

Posso farne un altro paio se necessario

A proposito - su 47 core solo questi due sono stati distribuiti 2 volte

gli altri sono tutti fisicamente una volta - anche quelli su una grande macchina i7 sono tutti su macchine virtuali ma solo una volta

--

 
Il problema è che non si può far pagare "per compito". Il pagamento va per le risorse utilizzate = performance della CPU (PR) * tempo.

In questa formula, è fondamentale una stima accurata della performance, che è facile da falsificare nelle virtualizzazioni.
 

Su uno dei computer ho installato ed eseguito agenti di prova, ma non funzionano. Più precisamente, il tempo della CPU è periodicamente occupato dai servizi di metatester (fino al 100% per core), ma il gestore degli agenti mostra degli zeri (compiti e tempo; locale e cloud) e sul sito mql5 questi agenti hanno degli zeri nel profilo (ma gli agenti sono visibili nel profilo, durante una delle corse in qualche modo uno di loro aveva un compito e poi un altro). Quando si accede a questi agenti da MetaTrader5, si ottengono messaggi che sono occupati.

Ecco il contenuto della directory MT5tester (da cui eseguo metatester.exe) e le sottodirectory e i file allegati:

MT5tester
    Tester
        Manager
            logs
                20110723.log
                20110725.log
            common.ini
    metatester.exe

Allego questi file. Come potete vedere, nella directory Tester mancano le directory Agents* che vengono create normalmente.

Versione metatester build 479, Windows Server 2003 R2 con SP2, Enterprise Edition, inglese, 32 bit; Intel Core 2 Duo T9300 2.5 Ghz CPU; 4 GB RAM. La directory MT5tester e tutte le sottodirectory e i file per tutti gli utenti (Everyone) è impostata su Full Control, prima di questo è impostata su Full Control per l'utente che sta eseguendo metatester.exe (e facendo il login in Windows) e per l'utente SYSTEM che sta eseguendo i servizi metatester.

File:
pack.zip  2 kb
 

Gli agenti erano registrati in MQL5 Cloud Network e stavano lavorando su compiti della rete. A questo punto, gli agenti non potevano essere collegati come remoti, perché erano molto occupati.

Ecco le loro statistiche incomplete (non tutti i campi sono ancora aggiornati) - circa 63 000 compiti sono stati eseguiti:

Intel Core2 Duo T8300 @ 2.40GHz, 3581MB


0 32483 0 2011.06.08 2011.07.25
Intel Core2 Duo T8300 @ 2.40GHz, 3581MB


0 29861 0 2011.06.08 2011.07.25


Le directory degli agenti sono state rimosse automaticamente quando si disinstallano questi agenti (ripuliscono la loro stessa spazzatura). Ecco le righe del log di cancellazione dell'agente:

RQ    0    Tester    11:12:33    MetaTester 5 build 479 (12 Jul 2011)
HQ    0    Startup    11:12:33    initialization finished
NH    0    Service    11:12:47    Service 'MetaTester-1' stop initialized
MP    0    Service    11:12:50    Service 'MetaTester-1' stopped in 3031 ms
NH    0    Service    11:12:50    Service 'MetaTester-1' successfully uninstalled
PS    0    Service    11:12:51    Service 'MetaTester-2' stop initialized
KK    0    Service    11:12:56    Service 'MetaTester-2' stopped in 5500 ms
OS    0    Service    11:12:56    Service 'MetaTester-2' successfully uninstalled


In generale, tutto funziona come previsto.

 
Renat:

Gli agenti erano registrati in MQL5 Cloud Network e stavano lavorando su compiti della rete. A questo punto, gli agenti non potevano essere collegati in remoto, perché erano molto occupati.

...

Le directory Agents sono state cancellate automaticamente durante la disinstallazione di questi agenti (ripuliscono la loro stessa spazzatura). Ecco le righe del log sulla cancellazione degli agenti:

...

Ovvero altri agenti:

CPU PR Compiti Entrate Creato Attività
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 0 0 2011.06.08 2011.06.08
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 2 0 2011.06.08 2011.07.22

Le directory Agents non sono mai apparse mentre i servizi metatester erano in esecuzione (so della cancellazione dei dati quando si disinstalla).

 
zdd:

Ovvero altri agenti:

CPU PR Compiti Entrate Creato Attività
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 0 0 2011.06.08 2011.06.08
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 2 0 2011.06.08 2011.07.22

Le directory Agents non sono mai apparse mentre i servizi metatester erano in esecuzione (sono consapevole del fatto che la disinstallazione cancella i dati).

Questi sono gli agenti sbagliati - guarda le date di creazione e di ultima attività.

Quelli corretti da guardare sono gli agenti che ho citato - le loro ultime date di attività sono esattamente le stesse della loro data attuale e i loro log di disinstallazione.

ps: installate nuovamente gli agenti e guardate le directory e i loro log personali

 
Renat:

Questi sono gli agenti sbagliati - guarda le date di creazione e di ultima attività.

È corretto guardare gli agenti che ho citato - le loro ultime date di attività sono esattamente le stesse della loro data attuale e i loro log di disinstallazione.

ps: installate nuovamente gli agenti e guardate le directory e i loro log personali

Gli agenti che hai citato sono in esecuzione su un altro computer (con un processore T8300), nessun problema con loro.

Controllo di nuovo (su computer con processore T9300).

1. Disinstallate gli agenti. Disinstalla la directory MT5tester con tutto il suo contenuto.

2. Disinstallate tutti gli agenti dal profilo, che erano sul computer con il T9300.

3. Ho creato la cartella MT5proba e le ho dato accesso completo per tutti.

Ho copiato il file metatester.exe (build 479) in esso (è stato ottenuto da LiveUpdate in MetaTrader5). 5.

5. ha eseguito metatester.exe, ha specificato l'account, ha creato due agenti su nuove porte (uno di loro non è partito per ragioni sconosciute, quindi ne ha creati altri due, eliminando quelli non necessari). Sto allegando il file di log.

6. Avviato MetaTrader5 su un altro computer, cancellato tutti gli agenti remoti in strategy tester, creato due nuovi agenti (specificato indirizzo IP, porta, password). Selezionato ognuno di loro come agente corrente ed eseguito il singolo test di un EA. Il tipo di CPU è stato rilevato, ma il test non è stato eseguito.

Tester di strategie MetaTrader5

Mostro il registro:

CS      0       zddbase 15:38:19        connecting to 192.168.0.33:4001
CD      0       zddbase 15:38:19        connected
EM      0       zddbase 15:38:19        authorized (agent build 479)
II      0       Tester  15:38:19        EURUSD,M1 (MetaQuotes-Demo): testing of Experts\proba.ex5 from 2011.07.10 00:00 to 2011.07.16 00:00 to be started
NF      0       zddbase 15:38:19        common synchronization completed
HL      0       zddbase 15:38:19        3768 bytes of group info loaded
DM      0       zddbase 15:38:19        1478 bytes of tester parameters loaded
MJ      0       zddbase 15:38:19        3256 bytes of input parameters loaded
FN      0       zddbase 15:38:19        initial deposit 10000.00 USD, leverage 1:100
CE      0       zddbase 15:38:19        successfully initialized
MO      0       zddbase 15:38:19        13 Kb of total initialization data received
QF      0       zddbase 15:38:19        Intel Core2 Duo  T9300 @ 2.50 GHz, 4094 MB
FQ      2       zddbase 15:38:19        symbol EURUSD synchronization error
QD      0       zddbase 15:38:19        cannot get history EURUSD,M1
HO      0       zddbase 15:38:20        connection closed
CD      0       zddbase 15:38:34        connecting to 192.168.0.33:4002
MF      0       zddbase 15:38:35        connected
CL      0       zddbase 15:38:35        authorized (agent build 479)
GK      0       Tester  15:38:35        EURUSD,M1 (MetaQuotes-Demo): testing of Experts\proba.ex5 from 2011.07.10 00:00 to 2011.07.16 00:00 to be started
LD      0       zddbase 15:38:35        common synchronization completed
JN      0       zddbase 15:38:35        3768 bytes of group info loaded
NK      0       zddbase 15:38:35        1478 bytes of tester parameters loaded
KM      0       zddbase 15:38:35        3256 bytes of input parameters loaded
LH      0       zddbase 15:38:35        initial deposit 10000.00 USD, leverage 1:100
MS      0       zddbase 15:38:35        successfully initialized
CM      0       zddbase 15:38:35        13 Kb of total initialization data received
OD      0       zddbase 15:38:35        Intel Core2 Duo  T9300 @ 2.50 GHz, 4094 MB
LS      2       zddbase 15:38:35        symbol EURUSD synchronization error
OG      0       zddbase 15:38:35        cannot get history EURUSD,M1
PQ      0       zddbase 15:38:35        connection closed

Durante l'ottimizzazione:

EF      1       Tester  15:43:50        genetic mode turned on due to 4443670 passes, to use complete algorithm decrease amount of optimized parameters
LJ      0       Tester  15:43:50        Experts\proba.ex5 on EURUSD,M1 from 2011.07.10 00:00 to 2011.07.16 00:00
NL      0       Tester  15:43:50        genetic optimization started
DK      0       Tester  15:43:50        size of initial task pack is 128
JP      0       zddbase 15:43:50        connecting to 192.168.0.33:4001
IG      0       zddbase 15:43:50        connecting to 192.168.0.33:4002
PS      0       zddbase 15:43:50        connected
NO      0       zddbase 15:43:50        connected
HE      0       zddbase 15:43:50        authorized (agent build 479)
PO      0       zddbase 15:43:50        authorized (agent build 479)
NP      0       zddbase 15:43:50        genetic pass (0, 2628127, 1) started
HI      0       zddbase 15:43:50        genetic pass (1, 2957422, 1) started
GQ      0       zddbase 15:43:50        common synchronization completed
GJ      0       zddbase 15:43:50        common synchronization completed
NN      2       zddbase 15:43:50        genetic pass (0, 2628127) tested with error "no history"
KF      0       Tester  15:43:50        genetic pass (0, 2628127) returned to queue
QR      0       zddbase 15:43:50        connection closed
PG      0       zddbase 15:43:50        connecting to 192.168.0.33:4001
HS      0       zddbase 15:43:50        connected
RQ      0       zddbase 15:43:50        authorized (agent build 479)
LJ      0       zddbase 15:43:50        genetic pass (0, 2628127, 1) started
QS      0       zddbase 15:43:50        common synchronization completed
JI      2       zddbase 15:43:50        genetic pass (1, 2957422) tested with error "no history"
GM      0       Tester  15:43:50        genetic pass (1, 2957422) returned to queue
GJ      0       zddbase 15:43:50        connection closed

I registri mostrano che l'agente non è riuscito a caricare la storia. Non è cambiato nulla nell'albero delle directory degli agenti rispetto a quello che ho dato prima (nessuna directory Agents*, nessuna storia).

Gli agenti non sono ancora apparsi nel profilo di mql5, non stanno ancora caricando la CPU (è passata 1 ora dall'inizio)...