Quello che vorrei dal "terminale" come programmatore professionista. Un altro thread con i desideri per MQL5. - pagina 8

 
Tuttavia, if() da qualsiasi JMP - incondizionato o condizionale si ramifica ancora + while/for
 
Nell'intervista con gli sviluppatori di MQL5 è stato detto che l'interprete ora compilerà nel codice x86 della piattaforma, non nel byte-code dell'interprete. Quindi, fondamentalmente è possibile smontare e vedere l'API per lavorare con il terminale. Anche le librerie possono essere scritte sulla base di questo e scritte anche in VC++.
 

Sarebbe molto comodo fare doppio clic su una posizione nei risultati del tester per saltare a un evento sul grafico.

Nel frattempo, dover cercare il momento a mano è faticoso.

 
majestic >> :

Sarebbe molto comodo fare doppio clic sulla posizione nei risultati del tester per saltare all'evento sul grafico.

Nel frattempo, devi usare le mani per trovare il momento - è stressante.

Quello che c'è già non va bene?

 

MProgrammer, perché hai bisogno di un modulo dotnet che disegni grafici? Inoltre, che interesse ha MQ a dare un tale modulo di grafici gratuitamente a programmatori terzi.

Non è possibile ora dare i nostri dati calcolati da C# che abbiamo bisogno di visualizzare su un grafico attraverso un semplice file con il caricamento e la visualizzazione di oggetti utilizzando lo script o l'indicatore, scritto in MQL4? Cioè programma C# >> dati >> file >> script, indicatore o accesso sincrono di EA.

Se volete creare Expert Advisor in C# o in qualsiasi altro linguaggio di programmazione a cui siete abituati, potete fare una catena di collegamento con MT, come


per Expert Advisor:

MQL4 Expert Advisor >> Dll >> sync socket >> programma C# (lavorando con le virgolette) >> (risultati) >> sync socket >> Dll >> MQL4 Expert Advisor (visualizzazione di oggetti grafici, posizioni di apertura e chiusura)


per il vostro ottimizzatore o tester:

MQL4 script >> Dll >> sync socket >> programma C# (lavorando con le virgolette, corse multiple) >> (risultati) >> sync socket >> Dll >> MQL4 Expert Advisor (visualizzazione di oggetti grafico e posizioni della corsa come dopo il tester)


Vantaggi di questo approccio:

- Potete sviluppare il programma nel linguaggio e nell'ambiente a cui siete abituati, perché tutti i linguaggi di livello superiore supportano la gestione dei socket.

- È possibile eseguire il debug del programma di strategia.

- È possibile creare i propri ottimizzatori, la cui potenza di calcolo è distribuita tra i processori (thread multipli) e anche i computer in rete

(la distribuzione ovviamente è un sacco di lavoro, ma la velocità di ottimizzazione sarà aumentata di parecchie volte). Per esempio, eseguendo l'ottimizzatore sul computer desktop a casa darà una parte delle esecuzioni al portatile sulla rete locale e anche al computer del vostro amico e forse anche al computer al lavoro, dove il vostro modulo di ottimizzazione è anche in esecuzione (uso non autorizzato della capacità dell'ufficio per scopi personali :))).


Contro:

- In MQL4, il trasferimento di dati a Dll non è convenientemente implementato. Cioè, le strutture e gli array di strutture non possono essere passati solo array di doppi, ma in MQL5 questo problema è stato promesso.

Anche se, tenendo conto che msvc++ è più veloce a lavorare con il doppio che con altri tipi di dati, l'approccio esistente è probabilmente ancora meglio, anche se meno conveniente.

- Dovrò creare un modulo di connessione e fare il debug (ma per un programmatore professionista non è un problema - è più facile che creare i propri grafici, come ha detto l'autore di questo thread).


Il modulo di comunicazione che voglio implementare da solo su un socket per dot.net e java. Ho il modulo simile in Delphi e WM_COPYDATA utilizzando - funziona bene e viene utilizzato nel programma collegato con MT e il trading sul conto reale.

A proposito, recentemente ho fatto alcuni test con numeri reali e interi in Java e C++.

In generale, se si usa la macchina java in modalità -server, allora a partire dalla seconda o terza esecuzione la velocità del test java di lavoro con i numeri interi supera il programma MSVC++.

Con tipi di dati doppi msvs++ supera java, ma se si usano tipi float java prende il comando. Quindi c'è un'ottimizzazione dinamica del programma java in fase di esecuzione.

Non sono testato su C#, ma sono deluso da delphi - è indietro sia rispetto a C++ che a Java nei test di velocità. Anche se può essere quando si lavora con molti piccoli oggetti (ordinare, spostare, cancellare, creare) Delphi mostrerà il suo lato migliore.

 

Cari amici, permettetemi di dire qualche parola su GOTO.

Tutta questa storia è iniziata molto prima dell'apparizione anche di quegli antichi personal computer, che alcune persone ricordano con nostalgia.

"Nel 68 la situazione è stata completamente esplosa dal famoso articolo di Dijkstra "About goto operator's harmfulness", e questo all'epoca in cui non un solo programma poteva fare a meno dell'operatore goto. Si è scoperto che l'abilità del programmatore è inversamente proporzionale al numero di operatori goto che usa nel suo programma. È stato uno shock rivoluzionario non solo nel campo della programmazione, ma anche nella metodologia di programmazione in generale.

Poi ci sono stati diversi articoli sulla programmazione strutturale, dove si è dimostrato che qualsiasi programma potrebbe essere disegnato senza un GOTO, usando 3 strutture di base: sequenza, ramificazione e loop. Da qualche parte ho anche il libro di Hoare "Structured Programming" in giro. Non ricordo esattamente, forse il secondo autore era Wirth.

"Nel '69, apparve il linguaggio Pascal, che era una pura implementazione delle idee di Dijkstra".

"Quindi si può o non si può usare l'operatore goto? Nel 1974 apparve l'articolo di Knuth "Structured programming with goto operator".

E così via.

In breve, le discussioni si sono spente molto tempo fa, l'uso di GOTO non è incoraggiato, sono apparsi break, contunue, exit, halt, hande hoch e altri sostituti di GOTO, anche se in molte lingue l'operatore è conservato. Penso che gli sviluppatori MQL conoscano questa storia, ecco perché non c'è GOTO in MQL5. È chiaro che nascondono le loro motivazioni per tradizione. :-)

 

a Dedushka
chiunque puòsvergognare e rimproverare un programmatore,
Soprattutto qualcuno che non conosce il colore della copertina del
"Programmazione strutturata" e non sa che il suo autore è Iodan (Iordan)
Sì, avete date di battere il GOTO adattate allo sbarco degli americani sulla luna, ma perché?
Inoltre non sei a conoscenza degli eventi che hanno seguito il rilascio di C#, e perché?
Un'ultima cosa - ai tempi di Dijkstra il numero di GOTO nei programmi arrivava al 50%)))),
ma per una ragione molto diversa dalla qualificazione.
Per renderlo più chiaro, è come se qualcuno dicesse che il rendimento di un nonno dovrebbe essere giudicato dal numero di riparazioni minori
- Meno riparazioni ci sono, più il nonno è qualificato.

e per far lavorare meglio il nonno, gli si dovrebbero togliere gli attrezzi.

 
Korey писал(а) >>

a Dedushka
Tutti possonosvergognare e rimproverare un programmatore,
Soprattutto qualcuno che non sa di che colore è la copertina di
"Programmazione strutturata" e non sa che il suo autore è Iodan (Iordan)
Sì, avete date di battere il GOTO adeguate allo sbarco degli americani sulla luna, ma perché?
Inoltre non sei a conoscenza degli eventi che hanno seguito il rilascio di C#, e perché?
Un'ultima cosa - ai tempi di Dijkstra il numero di GOTO nei programmi arrivava al 50%)))),
ma per una ragione molto diversa dalla qualificazione.
Per renderlo più chiaro, è come se qualcuno dicesse che il rendimento di un nonno dovrebbe essere giudicato dal numero di riparazioni minori
- meno riparazioni, più il nonno è qualificato.

e per far lavorare meglio il nonno, togliergli gli attrezzi.

Caro Korey, ho riletto più volte il mio post per sicurezza... Per Dio, non vedo alcun accenno al tentativo di rimproverare o svergognare qualcuno.

Non ci stavo nemmeno pensando, è solo che ho conosciuto l'oggetto della discussione circa 30 anni fa... E come un nonno gentile ha deciso di dirmi da dove viene. :-)

Sulla "programmazione strutturale" - sì, c'è un libro così spesso in brossura gialla, opera classica: W. W. Dahl, E. Dijkstra, e K. Hoare, "Structured Programming", Mosca, Mir, 1975.

E infine sto parlando dei vecchi tempi, tutti i miei libri sono del secolo precedente, e sono davvero "fuori dal contatto con gli eventi successivi al rilascio di C#", perché non sono un programmatore praticante da molto tempo ormai. Lavoro solo come guardiano in una piccola azienda :-). Ma sono interessato a MQL5, e sembra che ho bisogno di rilassarmi e uscire dal letargo - ho molto da programmare, e non ho nessuno che mi aiuti. Così sono venuto in questo forum sperando di ottenere qualche aiuto da, come te, caro... Per favore non dire parolacce, non mi piace...

 

a Dedushka

1. guardando il tuo avatar, vedo un petto da marinaio e il soprannome "Nonno" - sì, significa meccanico della nave, il capo meccanico andava in borsa.
2. il livello di "parolacce" sul forum è accettabile, il commercio è identità, e non si può commerciare senza identità)))
2) il livello di "parolacce" sul forum è accettabile. il commercio è una forma di autosufficienza senza interesse personale, non si può commerciare senza interesse personale.
3. Sia che vogliate bestemmiare personalmente o no, avete già bestemmiato, soprattutto perché MQL4 come linguaggio e come ambiente è cattivo = )))
Ti capita di unirti a quelli vergognosi per "operatore di quattro lettere".
Ti vergogni anche di non capire il pensiero profondo dei creatori di MQL))))
- Se vi ricordate la forma dei fori nei portapunzoni, capirete presto il prezzo di MQL e MT-4.
4. il goto è stato tweettato come una tetta con i peperoni e sotto forma di vergogna nell'incomprensione, cioè presunta miseria mentale, e vergogna.
per le prove leggere anche questo thread))
= ha tolto l'operatore goto ai programmatori, si suppone che ora li faccia saltare in giro.
5.
Tuttavia, sull'argomento:
la parola vergognosa goto non può essere usata, ma la SRAM stessa e il suo operatore goto - SHOULD

 

Dovrebbe, dovrebbe essere - solo per il bene dell'arte. Ci sono situazioni in cui goto è l'unico modo per codificare in modo breve ed elegante.

Motivazione: