MT5 e la velocità in azione - pagina 73

 
Andrey Dik:

Per favore, ditemi un esempio in cui sono richiesti eventi asincroni e questo non è fattibile in questo momento con mezzi standard.

Tutto è iniziato con una mancata corrispondenza dell'evento OnTick OnBook, e Slava l'ha confermato. Questo è uno.
Il fxsaber batte la tempestività di SymbolInfoTick(). A causa del funzionamento bloccante dei gestori, questo è un problema. Questi sono due.
Leggere le prese da diversi gestori, questo è un problema. Questi sono tre.
Cicli di looping nei gestori. Questi sono quattro.
Calcoli lunghi. Questi sono cinque.

Impossibile ricevere gli eventi del gestore in modo tempestivo se un altro gestore è occupato. Questo è il sesto.
Molte restrizioni sono dovute al modello di blocco dei gestori.
La lista può continuare all'infinito, basta avere abbastanza immaginazione.

Per non parlare degli eventi dei grafici, eventi di rendering grafico, ecc.
 
Igor Makanu:

Capisco come funzionano le applicazioni in Win.

Fareste meglio a scoprire la storia di Python, dove e quando sono arrivate queste stampelle asincrone ben chiamate? - Vi rendete conto che queste soluzioni non sono state originariamente progettate in Python?

Sono d'accordo che grazie a queste cose asincrone si può usarePython per soluzioni client-server, forse è figo che il frontend dell'utente possa ora usare le risorse di un server multiprocessore,

ma perché un utente in un'applicazione desktop dovrebbe avere un terminale in Win? - Bene, se avete più thread, anche se potete sincronizzarli con alcune funzioni await, rimarrà un pool comune di messaggi/eventi


Ok, sono stufo di discutere qui davanti a tutti voi del forum, ingombrate i thread con le vostre fantasie, non è un mio problema.

E non devi iniziare con le tue fantasie. Nessuno te lo chiede. Se non sapete di cosa sto parlando, è meglio tacere, passerete per letterati.

 
Roman:
Tutto è iniziato con il mismatch degli eventi OnTick OnBook, e Slava lo ha confermato. Questo è uno.
Il fxsaber batte la tempestività di SymbolInfoTick(). A causa del funzionamento bloccante dei gestori, questo è un problema. Questi sono due.
Leggere le prese da diversi gestori, questo è un problema. Questi sono tre.
Cicli di looping nei gestori. Questi sono quattro.
Calcoli lunghi. Questi sono cinque.

Impossibile ricevere gli eventi del gestore in modo tempestivo se un altro gestore è occupato. Questo è il sesto.
Molte restrizioni sono dovute al modello di blocco dei gestori.
La
lista può continuare all'infinito, per quanto si possa immaginare.

La soluzione è semplice - spostare i gestori in EAs separati. Qualsiasi modello di evento può essere implementato con i mezzi standard di MT5.

Un'altra cosa è che Windows non è un sistema in tempo reale, ma anche se lo fosse, l'evento deve essere elaborato più velocemente di quello programmato, ma non istantaneamente in ogni caso. Quindi, gli sviluppatori hanno ragione (anche se non sta a me e non sta a voi giudicare se hanno ragione o no): volete eseguire i programmi più velocemente - comprate processori e memoria più veloci e con quanti più core reali possibile.

 
Andrey Dik:

La soluzione è semplice - spostare i gestori in Expert Advisors separati. Qualsiasi modello di evento può essere implementato con i mezzi standard di MT5.

Un'altra cosa è che Windows non è un sistema in tempo reale, ma anche se lo fosse, l'evento deve essere elaborato più velocemente di quello previsto, ma non istantaneamente in ogni caso.
Quindi gli sviluppatori hanno ragione: volete eseguire i programmi più velocemente - comprate processori e memoria più veloci e quanti più core reali possibile.

Questa non è una soluzione, ma una stampella )) gestori sparsi in programmi separati. Ti insegnano una brutta cosa qui ))
Gli sviluppatori si sbagliano qui, tutti i progetti seri sono scritti in modo asincrono da programmatori normali.
Non è l'hardware che devi sollevare, ma l'architettura di esecuzione del programma.

 
Roman:

Vai a imparare la programmazione asincrona, ti stai stufando.

Roman, ragazzo. Si calmi.

 
Slava:

Roman, ragazzo. Si calmi.

Zio Slava )) scrivere tutti i gestori in un ciclo di eventi non bloccante. Risolverete molti problemi.

 
Roman:

Questa non è una soluzione, ma una stampella )) gestori sparsi in programmi separati. Ti insegnano una brutta cosa qui ))
Gli sviluppatori si sbagliano qui, tutti i progetti seri sono scritti in modo asincrono da programmatori normali.
Non è l'hardware che deve essere aggiornato, ma l'architettura di esecuzione del programma.

Qual è il problema? Scrivete il vostro codice e avrete ragione.

Ammiro quei ragazzi, non ti hanno rimproverato, hanno cercato di spiegare. In modo molto cortese. Non hanno bisogno di dimostrarvi nulla - sono autosufficienti. Saber è stato bannato qui più di chiunque altro. Anche Dick è stato bandito. Igor è la correttezza stessa, e impara costantemente. Ma abbiamo un dialogo molto fruttuoso con loro. A differenza di te.

 
Roman:

Zio Slava )) scrivere tutti i gestori in un ciclo di eventi non bloccante. Risolverete molti problemi.

Quello non bloccante non funziona. Puramente per ragioni oggettive

 
Slava:

Qual è il problema? Hai scritto il tuo codice - hai dimostrato il tuo punto di vista.

Ammiro quei ragazzi, non ti hanno mandato via, hanno cercato di spiegare. In modo molto cortese. Non hanno bisogno di dimostrarvi nulla - sono autosufficienti. Saber è stato bannato qui più di chiunque altro. Anche Dick è stato bandito. Igor è la correttezza stessa, e impara costantemente. Ma abbiamo un dialogo molto fruttuoso con loro. A differenza di te.

Se la gente qui non capisce di cosa sta scrivendo, mi dispiace, non è un mio problema, è il problema di coloro che non fumano l'argomento della conversazione.

 
Slava:

Quello non bloccante non funziona. Puramente per ragioni oggettive.

Può specificare queste ragioni oggettive?