Domanda per gli sviluppatori - usare tutti i core di calcolo durante l'ottimizzazione - pagina 5
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
Il problema della distribuzione uniforme dei compiti è anche legato all'ordine di attivazione degli agenti. Questo è particolarmente evidente quando si aggiungono nuovi agenti, dopo aver eseguito l'ottimizzazione.
La mia speranza è che gli EA e i loro file di accompagnamento, in un brillante futuro, saranno caricati una sola volta su un computer remoto con agenti, il che farà risparmiare tempo e renderà più uniforme la distribuzione delle risorse di calcolo.
Domanda agli sviluppatori di MT: quando ci saranno dei progressi? Per favore, ditemi quando saranno corretti gli errori catastrofici descritti sopra, a causa dei quali l'ottimizzazione non funziona effettivamente ....
Domanda agli sviluppatori di MT: quando ci saranno dei progressi? Potresti dirci la scadenza per risolvere i bug catastrofici descritti sopra che rendono l'ottimizzazione effettivamente non funzionante ....?
A quali "errori catastrofici" si riferisce?
Come mai l'ottimizzazione non funziona?
>A quali "errori catastrofici" si riferisce?
>E come questa ottimizzazione non funziona
Tutto è descritto sopra e non solo da me.
1. Gli agenti di rete in realtà non funzionano, semplicemente non partono
2. Quando calcola un nuovo set, impiega molto tempo e pensa a qualcosa.
3. Distribuisce pacchetti di compiti solo a uno stesso core quando ci sono molti altri core liberi
Risultato: l'ottimizzazione dura 4 volte di più di prima di ....
Ancora nessuna risposta alle domande di cui sopra
ma tutto sembra funzionare bene dopo gli aggiornamenti, anche se ci sono ancora alcuni core inattivi
rimane il problema della distribuzione inadeguata dei posti di lavoro ai nuclei:
1. perché diversi core dell'agente di rete ricevono un numero diverso di lavori e non ogni core riceve lo stesso lavoro
2. Cosa succederà se disabilito l'agente che ha 58 lavori in un dato momento come nell'immagine sopra, saranno ancora calcolati o saranno dimenticati e mai calcolati?
Ciao, cercando di accelerare i test usando la funzione TestorStop() in Opticket fermando i singoli test se EA raggiunge valori inaccettabili. Di conseguenza, alcune corse sono più veloci di altre e uno degli agenti finisce per primo (da qualche parte ho letto che se un agente di test è inattivo per un certo tempo, viene spento) - quando tutti gli altri agenti finiscono, i compiti non vengono inviati al primo agente. E così gli agenti di prova si ritirano uno dopo l'altro, fino a quando rimane solo un agente - in questo caso non si può parlare di velocità. Cioè la velocità può essere aumentata, ma gli errori tecnici di implementazione del calcolo distribuito non lo permettono. Se eseguoTestorStop() su OnInit(), per esempio, per ottimizzare 2 parametri, uno dei quali dovrebbe essere maggiore dell'altro, durante la prima esecuzione aumenta anche la velocità, ma in seguito gli agenti di prova smettono di fare compiti, anche se il contatore dei compiti inviati aumenta con una velocità elevata, mentre il contatore dei compiti risolti dall'agente rimane inattivo. Forse qualcuno sa come bypassare questo - l'argomento è interessante, la velocità dei test scartando i risultati non necessari è 10 volte maggiore dei test normali, inoltre azzerare i risultati non necessari in OnTest() può guidare l'algoritmo genetico nella giusta direzione per noi!
Sviluppatori, risolvere il problema di distribuire i compiti .... il principio "un nucleo - un lavoro"
Ho 10 core della CPU principale che contano ora da quando hanno 40+ lavori e altri 40 core di rete inattivi da quando li hanno contati tutti ... è possibile distribuire i lavori in modo uniforme.... è semplice elementare per la programmazione
Sviluppatori, risolvere il problema di distribuire i compiti .... il principio "un nucleo - un lavoro"
Ho 10 core della CPU principale che contano ora da quando hanno 40+ lavori e altri 40 core di rete inattivi da quando li hanno contati tutti ... è possibile distribuire i lavori in modo uniforme .... è semplice elementare per la programmazione
Questo non è l'approccio giusto - non devi distribuire i lavori uno per uno, devi ridistribuire la capacità se hai risorse libere, cioè cancellare i lavori già distribuiti e darli ad altri da eseguire. Allo stesso tempo, è necessario analizzare le prestazioni di ogni agente per dare al kernel il giusto numero di nuovi lavori da eseguire.