Discussione sull’articolo "Perché l'hosting virtuale su MetaTrader 4 e MetaTrader 5 è migliore del solito VPS?" - pagina 14

 
Renat:

Come posso controllare le risorse consumate nei servizi di hosting MetaTrader?

Di seguito sono riportati diversi piani di test:

1) L'Expert Advisor funziona per 50 cicli (50 chiamate al timer dopo 1 minuto), consuma 10 MB di RAM durante ogni ciclo e scrive la stessa quantità in un file. Dopo 50 cicli l'Expert Advisor si spegne, libera la memoria e cancella i suoi file.

Si può notare che le risorse vengono liberate istantaneamente.


2) L'Expert Advisor esegue 50 cicli per catturare le risorse (RAM e la stessa quantità nei file). Ogni acquisizione successiva è pari al 95% di quella precedente. Dopo i primi 50 cicli, vi sono altri 50 cicli di liberazione delle risorse in ordine inverso, seguiti dalla cancellazione dell'Expert Advisor.

Si può notare che la memoria viene liberata un po' meno del disco. Ciò è dovuto al fatto che la memoria dell'Expert Advisor è allocata fino a 1 megabyte nel proprio pool di memoria, che rimane in vita finché l'Expert Advisor è attivo.


Conclusione generale: perfetta gestione delle risorse, visualizzazione e disponibilità per il cliente.

Mi sembra di capire che consigliate di utilizzare classi dinamiche e di farle crashare se manca molto tempo al calcolo successivo, in modo da non tenere le risorse (che non utilizzate) sotto il culo?

Oppure non ho capito qualcosa?

ZЫ In realtà per me non è molto importante, mentre stavamo premendo la tastiera qui ho ottimizzato il calcolo, ho reso il tempo di una chiamata meno di un secondo (sulla storia i dati non sono calcolati dall'algoritmo principale, ma solo preparati per l'elaborazione dell'ultima barra), quindi ho tutto viene insieme abbastanza normalmente. Spero che una volta in 15 minuti VPS permetterà di catturare la CPU per un secondo, e anche se taglia le risorse 1000 volte, avrò ancora il tempo di ottenere il calcolo corrente prima della barra successiva.

La domanda di cui sopra è puramente accademica.

 
Urain:

Quindi mi sembra di capire che tu consigli di usare classi dinamiche e di distruggerle se c'è molto tempo prima del prossimo calcolo, in modo da non tenere le risorse (che non si usano) sotto il culo?

O sto fraintendendo qualcosa?

No, sto solo mostrando e dimostrando la reattività del servizio e la capacità di controllare la situazione. Non tutti fanno ricerca.

Per MT4 fino a 2 gb di RAM possono essere consumati abbastanza indolore. Solo in caso di evidente deterioramento della situazione generale, verranno attivati degli avvisi.


ZЫ In realtà per me non è molto importante, mentre stavamo premendo la tastiera qui ho ottimizzato il calcolo, ho regolato il tempo di una chiamata a meno di un secondo (sui dati della storia non sono calcolati dall'algoritmo principale, ma solo preparato per l'elaborazione dell'ultima barra), quindi ho tutto viene insieme abbastanza normalmente. Spero che una volta ogni 15 minuti il VPS permetta di catturare la CPU per un secondo, e anche se taglia le risorse 1000 volte, avrò ancora il tempo di ottenere il calcolo corrente prima della barra successiva.

È quasi sempre possibile trovare un metodo algoritmico per accelerare i calcoli, quindi i limiti sono una buona cosa. Costringono a pensare e a usare meno la forza bruta.

Non stiamo parlando di "accaparrarsi la CPU per 1 secondo", ma di casi evidentemente problematici in cui l'Expert Advisor occupa la CPU (uno o più core) senza sosta, si comporta in modo folle e non vuole cambiare approccio. Ci sono diversi casi di questo tipo e li stiamo ancora osservando.


Come ho spiegato in precedenza, non dobbiamo ridurre la domanda a "no, ditemi i limiti difficili!". Nessuno li dirà e ne dichiarerà l'inviolabilità (questo è ciò che chiedono gli interroganti), perché la valutazione delle risorse nello spazio condiviso sarà soggettiva - se danneggiate o meno i vostri vicini.

 
Renat:

No, sto solo mostrando e dimostrando la reattività del servizio e la capacità di controllare la situazione. Non sono le stesse persone che conducono le ricerche.

Per MT4 è possibile consumare fino a 2 gb di RAM in modo abbastanza indolore. Solo in caso di evidente peggioramento della situazione generale, verranno attivati degli avvisi.


È quasi sempre possibile trovare un metodo algoritmico per accelerare i calcoli, quindi i limiti sono positivi. Costringono a pensare e a usare meno la forza bruta.

Non stiamo parlando di "accaparrarsi la CPU per 1 secondo", ma di casi evidentemente problematici in cui l'Expert Advisor occupa la CPU (uno o più core) senza sosta, si comporta in modo folle e non vuole cambiare approccio. Ci sono diversi casi di questo tipo e li stiamo ancora osservando.


Come ho spiegato in precedenza, non dobbiamo ridurre la domanda a "no, ditemi i limiti difficili!". Nessuno li dirà e dichiarerà la loro inviolabilità (questo è ciò che chiedono gli interroganti), perché la valutazione delle risorse in uno spazio condiviso sarà soggettiva - se danneggiate o meno i vostri vicini.

Ho capito molto tempo fa che non si chiamano limiti, perché questo porta all'ottimizzazione e a spingersi al limite.

La questione è diversa, il mio algoritmo è essenzialmente parallelo, e non è pesante per ogni thread separatamente, ma se lo si lascia elaborare in modo sequenziale, la CPU perde risorse al costo di una qualità minima accettabile (e questo porta a un aumento della criticità). Ora abbiamo bisogno di un algoritmo che determini con segni indiretti i punti in cui la qualità sottostimata è inammissibile, e questo è un altro problema.

Se si potesse dare almeno un controllo minimo dei thread in mql, sarebbe molto bello.

ZZY OpenCL l'abbiamo chiesto, e l'abbiamo ottenuto grazie agli sforzi di Ilyas'a, ma non risolve il problema dei vps o del cloud.

 

Avviate un server virtuale, fatelo funzionare per alcuni giorni in diverse modalità e poi pubblicate qui i risultati dei grafici delle prestazioni.

Vediamo cosa avete ottenuto.

 
Renat:

Avviate un server virtuale, fatelo funzionare per alcuni giorni in diverse modalità e poi pubblicate qui i risultati dei grafici delle prestazioni.

Vediamo cosa hai ottenuto.

È su mql5 e non fa ancora trading, lo porterò a mql4 e pubblicherò i risultati.
 

Avevo il terminale Metatrader 5 versione 5 sul mio PC. Non ho potuto vedere questo "Registra un server virtuale" sul mio account. C'è qualche passaggio che ho tralasciato o le mie impostazioni o la versione scaricata non sono corrette?

Accolgo con favore qualsiasi feedback e consiglio. Grazie in anticipo

 

Buon pomeriggio!

Ho provato il server virtuale sulla demo - per ora non funziona - si è rifiutato di sincronizzarsi.

Schermata allegata - cosa sto facendo di sbagliato?

 
Andrew1469:

Buon pomeriggio!

Ho provato il server virtuale sulla demo - per ora non funziona - si è rifiutato di sincronizzarsi.

Schermata allegata - cosa sto facendo di sbagliato?

L'ho avviato in Germania - a quanto pare non ho notato il pulsante di sincronizzazione la prima volta :)

 

Nessun problema con i server oggi?

Dal log:

2015.02.11 09:50:21.178 Virtual Hosting: 6892 non è riuscito a connettersi al server 'Regno Unito' (199.59.206.34:443 non riuscito)

2015.02.11 09:49:33.738 Virtual Hosting: 6891 non è riuscito a connettersi al server 'Paesi Bassi' (78.140.180.90:443 non riuscito)

2015.02.11 09:48:46.205 Hosting virtuale: 6890 connessione fallita al server 'Paesi Bassi' (78.140.176.167:443 fallito)

 

Buon pomeriggio, Renat.

Per qualche motivo non riesco ad "Allocare il server virtuale" quando ho dei soldi nella comunità.

Broker Otkritie, MT5.

C'è una soluzione?

File:
333.PNG  15 kb