Programmazione asincrona e multithread in MQL - pagina 11

 
Koldun Zloy:

Il futuro è già qui.

MT ha Eventloop.

Grazie per la risposta informativa ))
Bene, vai avanti e spiega cosa e dove si trova.
E come scrivere codice asincrono conEventloop con mezzi standard?

 
Roman:

Spero che gli sviluppatori abbiano sentito l'idea di Eventloop e la implementino in futuro.

Siete stati ascoltati, l'amministratore ha fatto qualcosa che non ha mai fatto prima - ha visitato il thread 3 volte in un'ora, questo è... è fantastico! - Non molte persone ricevono così tanta attenzione ;)

Non conosci nemmeno le basi dell'alfabetizzazione informatica e stai cercando di spacciare materiale googlato come tua conoscenza - è chiaro a tutti, la situazione è passata dal comico al grottesco e si avvicina a una specie di farsa ... ugh - sono un poeta nel cuore? ... ))), ok, non su questo...


rispondere alla domanda: perché il terminale di trading ne ha bisogno?


SZS: questo thread è sul tema "Caro nonno Frost!". - allora, scrivi tutti i tuoi desideri? - Non ne ho così tanti, a questo punto: il signor Admin! finisci il lavoro promesso sull'ereditarietà multipla nelle classi (o almeno nelle interfacce) e aggiungi almeno un paio di pacchetti di machine learning portati - sono passati 7 anni da quandoALGLIB è apparso in SB, è necessario qualcosa di nuovo per attirare l'attenzione degli utenti e/o fornire nuovi articoli (non so quale sia il "trucco" - questo forum è nella top ten della ricerca su google per NS, MO e VR... - Sospetto che sia stata fatta una quantità enorme di lavoro per ottenere questi risultati TIC, imho non arrendetevi!)

 
76Igor Makanu:
...


rispondere alla domanda: perché il terminale di trading ne ha bisogno?

...

Cosa vuol dire perché? Perché un escavatore ha bisogno di un motore più potente di un'automobile? E perché hai bisogno di 220 nella presa quando il tuo telefono ha bisogno di 3,5v? Sempre colpito da domande come questa. I minimalisti saranno sempre in svantaggio...

La gente ha bisogno di più opportunità. Solo perché qualcuno non ne ha bisogno, non significa che tutti non ne abbiano bisogno. Non importa chi comanda. È semplice. :)

 
Igor Makanu:

Siete stati ascoltati, l'amministratore ha fatto qualcosa che non ha mai fatto prima - ha visitato il thread tre volte in un'ora, questo è... è fantastico! - Non molte persone ricevono così tanta attenzione ;)

Non conosci nemmeno le basi dell'alfabetizzazione informatica e stai cercando di spacciare materiale googlato come tua conoscenza - è chiaro a tutti, la situazione è passata dal comico al grottesco e si avvicina a una specie di farsa ... ugh - sono un poeta nel cuore? ... ))), ok, non su questo...


rispondere alla domanda: perché il terminale di trading ne ha bisogno?


SZS: questo thread è sul tema "Caro nonno Frost!". - allora, scrivi tutti i tuoi desideri? - Non ne ho così tanti, a questo punto: il signor Admin! finisci il lavoro promesso sull'ereditarietà multipla nelle classi (o almeno nelle interfacce) e aggiungi almeno un paio di pacchetti di apprendimento automatico portati - sono passati 7 anni da quando ALGLIB è apparso in SB, è necessario qualcosa di nuovo per attirare l'attenzione degli utenti e/o fornire nuovi articoli (non so quale sia il "trucco" - questo forum è nella top ten della ricerca su google per NS, MO e VR... - Sospetto che sia stata fatta una quantità enorme di lavoro per ottenere questi risultati TIC, imho non arrendetevi!)

Beh, sì, e server asincrono conEventloop che mi hai scritto )))
Ancora una volta, non sono addestrato come programmatore, ma per qualche ragione so come scrivere server asincroni per i miei compiti.
Ti vanti delle tue capacità, ma non scrivi codice asincrono, visto che fai queste domande, perché?
Scrivere codice asincrono in un thread ed eseguirlo in un pool di thread è, a mio avviso, molto più efficace che accontentarsi di un singolo thread.
E tali domande dovrebbero interessare prima di tutto le persone come lei che hanno un bagaglio di conoscenze.
Ma la tendenza opposta è osservabile, i professionisti sono seduti su un filo ))
I lamer scrivono in modo asincrono ))

 
Igor Makanu:
...


rispondere alla domanda: perché il terminale di trading ne ha bisogno?

...

Per esempio, voglio far lavorare la grafica in un thread e i calcoli in un altro. In modo che gli eventi dell'interfaccia non rallentino il thread di calcolo. Come esempio...

 
Roman:

Beh sì, e server asincrono conEventloop che mi hai scritto )))
Ancora una volta, non sono addestrato come programmatore, ma per qualche ragione so come scrivere server asincroni per i miei compiti.
Ti vanti delle tue capacità, ma non scrivi codice asincrono, visto che fai queste domande, perché?
Scrivere codice asincrono in un thread ed eseguirlo in un pool di thread è, a mio avviso, molto più efficace che accontentarsi di un singolo thread.
E tali domande dovrebbero interessare prima di tutto le persone come lei, con un bagaglio di conoscenze.
Ma la tendenza opposta è osservabile, i professionisti sono seduti su un filo ))
I lamer scrivono in modo asincrono )))

rispondere alla domanda: perché il terminale di trading ne ha bisogno?


ZS: Ancora una volta, non capisci che i tuoi esempi di "caratteristiche necessarie" con Python o Java sono una sorta di soluzioni di stampelle per piattaforme intrinsecamente lente, MQL5 è quasi vicino al C++ in termini di prestazioni (questo è molto vicino alla massima prestazione possibile!), ciò che verrà eseguito in MQL5 in Python verrà eseguito .... beh, circa cento volte più lento! Capite la differenza di 100 volte? Solo 1 secondo di esecuzione in MQL5 e 1,5 minuti in Python - usate questa chiamata in MQL5 10 volte = 10 secondi, usate in Python = 15 minuti! - Non lo testerò nemmeno, l'ordine dei calcoli non cambierà molto

ZZZY: Perché ho bisogno di questa "caratteristica necessaria"? - i compiti del terminale sono completamente diversi, storicamente le soluzioni client-server sono scritte in Python o Java... ma non in C++ - non importa, ma i tuoi esempi sono tutti di elaborazione di query client-server! - Volete organizzare il terminale - server di trading al contrario? ))))

ZZZZZY: non mi sto "vantando", mentre tu non ti sei preoccupato di leggere le info offerte per qualche giorno di discussione, ma scrivi regolarmente e rispondi entro 2-3 minuti... quando hai il tempo di studiare nuovo materiale? ))))


Retrig Konow:

Per esempio, voglio che la mia grafica venga eseguita in un thread e i calcoli in un altro. In modo che gli eventi dell'interfaccia non rallentino il thread di calcolo. Per esempio...

))) - La colpa è del terminale - è molto lento? - ha una debole capacità di calcolo...? forse è causato da qualcos'altro?).

 
Igor Makanu:

rispondere alla domanda: perché il terminale di trading ne ha bisogno?

...

))) - è colpa del terminale - è troppo lento? - ha una debole potenza di calcolo ...? forse la colpa è di qualcos'altro).

Capire che i programmi MQL5 aumentano la loro complessità e matureranno nuove e nuove caratteristiche. Che tu lo veda o no, lo farà. E sta già accadendo. La grafica è necessaria per la visualizzazione e può consumare molte risorse. Più è fredda la grafica, più è alta. Ma non si tratta solo di grafica. C'è tutta una serie di altri compiti che richiedono energia. State suggerendo di mettere tutti i calcoli relativi alla grafica, alla strategia, a tutti gli eventi interni ed esterni in una sola coda? Sembra strano suggerirlo.

 
Igor Makanu:


Distinguete tra esecuzione sequenziale ed esecuzione asincrona?
Cosa ha a che fare questo con la velocità di esecuzione? Lo sanno tutti sulla velocità di mql.
E pensate che non scrivano in C++ in modo asincrono e multi-thread? ))
E le librerie asincrone per C++ sono state scritte per niente?
Ho dato esempi precedenti di ciò che serve al terminale.
E non solo per il terminale, ma anche per chi lo usa!

La ragione è che non si impostano compiti asincroni per se stessi!
E quanto più si scrive e si sviluppa NS, tanto più se ne ha bisogno in primo luogo, questa è una delle risposte...
Ma no, ci accontenteremo di un solo thread, dove mql è quasi buono come C++...
Sciocchezze...
 
Реter Konow:

Stai suggerendo di mettere tutti i calcoli grafici, la strategia, tutti gli eventi interni ed esterni nella stessa coda? Sembra strano suggerire questo.

le mosche sono separate, le cotolette sono separate - questa è la verità!

per TS, tutto è semplice: calcolo - richiesta di trading - elaborazione della risposta del server - mantenimento della posizione - calcolo - richiesta di trading - elaborazione della risposta del server - mantenimento della posizione....

se il calcolo richiede molte risorse, deve essere spostato in un modulo logico separato (è un indicatore? è un dato precalcolato? è un thread separato? (i servizi sono già disponibili!) ... ci sono molte varianti, leggete come sono stati scritti i giochi su 486 - c'è un minimo di calcoli. tutto è stato preparato in anticipo, ma l'obiettivo è quello di far corrispondere le capacità di calcolo e i compiti!)


Io stesso sono vicino al tema delle interfacce grafiche, ma purtroppo è una visualizzazione nello sviluppo/ricerca di TC, per il lavoro di TC le interfacce grafiche non sono necessarie! - Potete immaginare i server di YouTube che, invece di trasmettere contenuti all'utente, riproducono anche video, traffico e ... ecc. informazioni grafiche sul server? )))) - perché? per chi? ....


Romano:

Sopra nel thread ho già dato esempi del perché il terminale ne ha bisogno.
rispondere alla domanda: perché il terminale di trading ne ha bisogno?
 
Igor Makanu:

le mosche sono separate, le cotolette sono separate - questa è la verità!

per TS, tutto è semplice: calcolo - richiesta di trading - elaborazione della risposta del server - mantenimento della posizione - calcolo - richiesta di trading - elaborazione della risposta del server - mantenimento della posizione....

se il calcolo richiede molte risorse, deve essere spostato in un modulo logico separato (è un indicatore? è un dato precalcolato? è un thread separato? (i servizi sono già disponibili!) ... ci sono molte varianti, leggete come sono stati scritti i giochi su 486 - c'è un minimo di calcoli. tutto è stato preparato in anticipo, ma lo scopo è quello di abbinare la potenza di calcolo e i compiti!


Io stesso sono vicino al tema delle interfacce grafiche, ma purtroppo, è una visualizzazione quando si sviluppa/trova TC, per il lavoro di TC le interfacce grafiche non sono necessarie! - Potete immaginare i server di YouTube che, invece di trasmettere contenuti all'utente, riproducono anche video, traffico e ... ecc. informazioni grafiche sul server? )))) - perché? per chi? ....


rispondere alla domanda: perché il terminale di trading ne ha bisogno?

Per la ricerca, per lo sviluppo del TS (alcuni non hanno bisogno del TS stesso, per esempio a George non interessa il TS), MT4 è sufficiente. Di cosa stiamo parlando allora? Ognuno ha le sue esigenze. Uno vive bene in un monastero e l'altro vuole andare in tutto il mondo. In breve, questa conversazione non riguarda nulla. È come se chiedessi a un artista perché dovrebbe dipingere un quadro se può semplicemente fare una stupida foto della natura. È una conversazione stupida, mi dispiace. ))


Aggiungerei che con questa visione della vita, fenomeni culturali come lo skateboarding non sarebbero mai emersi. Dopo tutto, è un trasporto completamente impraticabile. La scarsità di tutto, è l'origine di questo approccio.