Programmazione asincrona e multithread in MQL - pagina 20

 
Реter Konow:

Cosa ti fa pensare che qualcosa sia inefficiente o non funzioni per me? Vai al mio profilo e vedi come funzionano le cose. È perché funziona e si evolve che presumo che il multithreading sia necessario presto.

Bene, fantastico! Perché avete bisogno del multithreading? - Non so ancora come spiegarlo, ho scritto sopra che fa male, ho scritto sopra che è un colpo alla gamba... )))

non è un problema mettere un compito in un thread separato, il problema è fare il compito inverso - raccogliere tutto in un unico posto! - e non importa in quale linguaggio questo compito sarà eseguito, ci sono modelli di progettazione per compiti asincroni, rendono il lavoro più facile, ma con le applicazioni multi-thread il controllo di questi thread è un mal di testa per lo sviluppatore, se non si controlla la prontezza di calcolo - si ottiene un bug che apparirà in qualche momento sconosciuto, non si elimina il thread inutilizzato, ma se ne crea uno nuovo ogni volta - questo mangia risorse di sistema...


O pensate che il vostro codice scritto per un thread in MQL possa diventare multithread? - Basta inserire la direttiva #property multithreading nella parte superiore e voilà! )))

 
Igor Makanu:

perché avete bisogno del multithreading? - Non so ancora come spiegarlo, ho scritto che fa male, ho scritto sopra che è un colpo alla gamba... )))

non è un problema mettere un compito in un thread separato, il problema è fare il compito inverso - raccogliere tutto in un unico posto! - e non importa in quale linguaggio questo compito sarà eseguito, ci sono modelli di progettazione per compiti asincroni, rendono il lavoro più facile, ma con le applicazioni multi-thread il controllo di questi thread è un mal di testa per lo sviluppatore, se non si controlla la prontezza di calcolo - si ottiene un bug che apparirà in qualche momento sconosciuto, non si elimina il thread inutilizzato, ma se ne crea uno nuovo ogni volta - questo mangia le risorse del sistema...


O pensate che il vostro codice scritto per un thread in MQL possa diventare multithread? - Basta inserire la direttiva #property multithreading nella parte superiore e voilà! )))

Capite che è fisicamente impossibile fare tutto in un solo thread? Sì, ci saranno difficoltà nel codice, bug e nuovi problemi. Ma ci sono casi in cui non può essere altrimenti. Come si può calcolare la visualizzazione tridimensionale, comunicare con il server e fare trading parallelo in un solo thread? Quindi, abbiamo calcolato l'intera visualizzazione, poi abbiamo ricevuto/inviato un messaggio al server, poi abbiamo calcolato la posizione di trascinamento, poi abbiamo fatto molti altri calcoli, e tutto a turno? Seriamente... Cosa succede se una delle operazioni si blocca, o se il valore durante la visualizzazione supera i limiti dell'array? Crollo totale del tutto?

Capisco che ci sono difficoltà associate al multithreading. Ma voglio evolvere, e sto cercando di assicurarmi lo spazio in anticipo. E non sono l'unico.

 
Реter Konow:

Capisco che ci sono difficoltà associate al multithreading. Ma voglio evolvere, e sto cercando di assicurarmi lo spazio in anticipo. E non sono l'unico.

Non avete altre direzioni di sviluppo oltre a MKL? Questo è uno sviluppo molto unilaterale che state progettando per voi stessi).

 
Yuriy Asaulenko:

Non ci sono altre aree di sviluppo oltre al MCL? È uno sviluppo molto unilaterale quello che stai progettando per te stesso).

Beh, se non altro per vendere torte)).

Le altre nicchie sono occupate e tutto viene arato lì. L'unica cosa che potrei dire è una nuova parola in materia di IA, ma è necessario crescere fino a questo; altrimenti, tutte le nicchie di software sono occupate da giganti e c'è un mare di concorrenti. Almeno qui c'è ancora un po' di spazio.

 
Реter Konow:

Beh, se non altro per vendere torte).

Le altre nicchie sono occupate e tutto viene arato lì. Per il resto tutte le nicchie sono occupate da giganti del software e c'è molta concorrenza. Almeno qui c'è ancora un po' di spazio.

Perché sei occupato? Potete scrivere TC in C++/C#, Java e Python sono anche al vostro servizio). Ci sono molte più possibilità che in MCL. E, se vuoi vendere, hai molto di più da fare con il Mercato. E tu ti stai inserendo nel rigido quadro di MKL e Market. Perché? Il resto del mondo è altrettanto bello).

 
Yuriy Asaulenko:

Perché sono occupati? Potete scrivere TC in C++/C#. Ci sono molte più possibilità che in MKL. E se vuoi vendere, c'è molto di più sul mercato.

Non c'è spazio lì. Hai bisogno di una GUI? Non c'è di che!)) Hai bisogno di funzioni? - Ecco le biblioteche. Se lo dici tu, ce l'hai. Non sono interessato al TC in sé. Sono interessato a crearne uno nuovo, e come crearlo, se è già stato creato? Ed ecco una nicchia intatta. "Un'isola di selvaggi" in senso figurato). Tutto il software qui è debole rispetto alle sue controparti in altre lingue. Qui si può coltivare. E gli affari si possono fare...
 
Реter Konow:
Non c'è posto per questo. Avete bisogno di un'interfaccia grafica? Sì, per favore!)) Se avete bisogno di funzioni, ecco le librerie. Qualsiasi cosa ti venga in mente, hai tutto. Non sono interessato al TC in sé. Sono interessato a crearne uno nuovo, e come crearlo, se è già stato creato? E non è stato ancora creato. Questa è una nicchia incontaminata. Tutto il software qui è debole rispetto alle sue controparti in altre lingue. Qui si può coltivare. E gli affari si possono fare...

Ti sbagli. Non puoi fare affari qui. Puoi raccogliere spiccioli dal Market o dal freelance, ma non ha senso.

SZY Perché dovrei, ipoteticamente, la tua GUI, ecc., quando può essere scritta in due punti in Sharp o Python? All'utente tanto più non importa in cosa è scritto, ha bisogno di funzionalità, non delle specifiche di implementazione. Cioè un programmatore non ha bisogno di tali prodotti, ma a un utente non interessa, gli interessa il prezzo, ed è certamente più economico e funzionale in Sharp.

 
Yuriy Asaulenko:

Ti sbagli. Non puoi fare affari qui. Puoi raccogliere spiccioli dal Market o dal freelance, ma non ha senso.

E non mi interessa. Quello che mi importa è che almeno qui posso dire una nuova parola ed essere il primo. E nel mondo esterno, io sarò il 1000000001 prima)). Non è il mio destino.
 
Se volete il multithreading, i linguaggi "maturi" sono il vostro aiuto. Beh, il multi-threading non sembra buono in mql. CopyRate asincrono e CopyBuffer sarebbe bello, ma l'analogo di std::thread in mql è inutile. IMHO.
 
Vladimir Simakov:
Amico, se vuoi il multithreading, i linguaggi "maturi" sono il tuo aiuto. Ma il multithreading in mql non sembra buono. CopyRate asincrono e CopyBuffer sarebbe bello, ma l'analogo di std::thread in mql è inutile. IMHO.

Non possono essere "adulti". Con gli "adulti" non sono ammessi al mercato. MQL solo e per sempre.