Su un'applicazione dell'OOP - pagina 10

 
Alexey Volchanskiy:

Caspita - il compilatore Intel che sta facendo a pezzi tutti sta per raggiungere l'interprete?

Sanych, non bere troppo ))))

Si prega di leggere attentamente il post:

Le vostre classi di matrici dovranno usare la libreria Intel per le operazioni sulle matrici,

Questo è BIBLIOTECA!

Espandi i tuoi orizzontida lì. Per risparmiarvi la fatica, eccolo qui:

Intel® Math Kernel Library (Intel® MKL) accelera le routine di elaborazione matematica che aumentano le prestazioni delle applicazioni e riducono il tempo di sviluppo. Intel® MKL include funzioni di Algebra Lineare altamente vettorializzate e threaded, Fast Fourier Transforms (FFT), Matematica Vettoriale e Statistica.

Accidenti... Gyyy....

Intel® Math Kernel Library (Intel® MKL) | Intel® Software
Intel® Math Kernel Library (Intel® MKL) | Intel® Software
  • software.intel.com
Intel® Math Kernel Library (Intel® MKL) accelerates math processing routines that increase application performance and reduce development time. Intel® MKL includes highly vectorized and threaded Linear Algebra, Fast Fourier Transforms (FFT), Vector Math and Statistics functions. The easiest way to take advantage of all of that processing power...
 
СанСаныч Фоменко:
Per interprete, intendo il vostro R
 
Комбинатор:
Per interprete intendevo il tuo R preferito

Niente è interpretato in R. Tutte le funzionalità sono in codice nativo. Si chiama una funzione e solo il comando stesso viene interpretato. Questo è tutto.

E la velocità di esecuzione delle funzioni integrate è sorprendente. Non puoi farlo con le tue mani o con la MKL. Oppure è troppo lungo e non ce n'è bisogno.

 
Yuriy Asaulenko:

Non dipende da me. Credo che le operazioni vettoriali e matriciali siano ad un livello superiore. Altrimenti non sarebbe nella top 5.

E ho un buon atteggiamento verso la lingua stessa. Ma paragonare MQL e R è ridicolo).

un linguaggio di trading applicativo contro un linguaggio di analisi dei dati? come possono essere paragonati?

Dati scaricati (MQL) analizzati (R) trovato un Edge, scritto un ATS (MQL), se necessario, con un link alla funzionalità necessaria della piattaforma analitica.

Se volete fare il porting delle funzionalità richieste, è abbastanza giusto. Tutto l'aiuto più possibile è disponibile sotto forma di sviluppatori portati alglib

 

Idealmente si potrebbe eseguire un intero ecosistema di EAs per modellare il modo in cui sopravvivono e cambiano in base ai GAs per abbinare meglio le quotazioni storiche.

Come all'inizio c'erano quelli più semplici che compravano o vendevano ad una semplice condizione. Poi, quelli più complessi hanno cominciato a formarsi sulla base di quelli semplici. In generale, l'estinzione e l'emergere di nuovi esperti efficienti da seguire))) Un tipo di programmazione evolutiva basata sull'incrocio booleano di altri individui

 
Avals:

Idealmente, si potrebbe lanciare un intero ecosistema di EAs per simulare come sopravvivono e cambiano in base ai GAs per abbinare meglio le quotazioni storiche.

Come all'inizio c'erano i protozoi, che venivano comprati o venduti ad una semplice condizione. Poi, quelli più complessi cominciarono a formarsi sulla base di quelli semplici. In generale, l'estinzione e l'emergere di nuovi esperti efficienti da seguire))) Un tipo di programmazione evolutiva basata sull'incrocio booleano di altri individui

A proposito di evoluzione ed "estinzione": una nota azienda ha tenuto un concorso per la programmazione dell'IA. Tutto è adulto - modello predatore-preda, ecologia, geografia, riproduzione, capacità di comunicare tra gli esemplari e altre cose. Dopo numerose esecuzioni di AI il modello più sofisticato vince con il più semplice algoritmo di comportamento: mangiare tutto ciò che si può raggiungere, riprodursi alla prima occasione e se succede qualcosa, correre insieme a un branco.

 
Maxim Kuznetsov:

sull'evoluzione e "l'estinzione": una nota azienda ha tenuto una competizione per la programmazione dell'IA. Tutto è adulto - modello predatore-preda, ecologia, geografia, riproduzione, possibilità di comunicazione tra copie, e così via. L'algoritmo più semplice dell'IA disponibile ha vinto dopo numerose corse: un individuo deve mangiare tutto ciò che può raggiungere, riprodursi alla prima occasione e se succede qualcosa, correre insieme a una mandria.

MS l'ha organizzato nei primi anni 2000 per rendere popolare C#. Prima, il gioco era popolare in Java.

Ma MS ha incartato il tutto con dei premi, ho vinto una tappa, non ricordo quale. Ma la strategia era Rat in agguato)))))

Mi ricordo qualcos'altro, il postino ha suonato il campanello, - c'era un pacco per te da MS.

Sono venuto all'ufficio postale - una scatola di 20 kg, tutta piena di libri sulla programmazione)).

 
Alexander Laur:
Il tuo post avrebbe una conclusione LOGICA se, per sostenere i tuoi argomenti sull'incoerenza dell'ereditarietà, tu fornissi un diagramma grafico della tua visione della gerarchia delle classi. Per chiarezza! :)
Lalibreria standard non è il miglior esempio di codice, ma non è (s)solo in essa. Fortemente più.
 
Alexander Laur:
Il tuo post avrebbe una conclusione LOGICA, se a conferma dei tuoi argomenti sull'incoerenza dell'ereditarietà, tu portassi uno schema grafico della tua visione della gerarchia delle classi. Per amore della chiarezza! :)

Finora, a livello di tesi:

Non esiste una pallottola d'argento("NoSilver Bullet" Frederick Brooks, 1986). Cioè, non c'è una tecnologia unica per un corretto sviluppo del software. Qualsiasi metodo di progettazione può causare incoerenza, complessità di percezione e, di conseguenza, rallentamento o addirittura impossibilità di ulteriore sviluppo.

L'ereditarietà è intrinsecamente incoerente. Tuttavia, usandolo è molto facile creare un disegno contraddittorio, molto più facile di quanto possa sembrare all'inizio del disegno.

Le interfacce e le inclusioni sono più sicure.

Da quanto detto, sembra che di regola sia meglio usare modelli piatti: una catena di eredità limitata a due, massimo tre livelli e l'interscambio tramite interfacce, la cui funzionalità è meglio realizzata tramite inclusioni.

Sfortunatamente, le interfacce sono proibite in MQL5, il che è molto spiacevole, anche se avrebbero potuto essere incluse in una mossa pulita: permettere l'ereditarietà multipla di classi puramente astratte.

ZZY. Quando avrò tempo disegnerò un albero di classe del mio progetto CStrategy. Sarà interessante confrontarlo. Anche se sottolineo ancora una volta: non c'è una pallottola d'argento, cioè in nessun modo considerare la stessa CStrategy dal principio "guarda come dovrebbe essere fatto".

 
СанСаныч Фоменко:

Se non sai cucinare i gatti, stai zitto...

R. Questo linguaggio per l'analisi statistica dei dati ha anche 2 sistemi di programmazione orientati agli oggetti

Quindi? C'è molto di più lì dentro che MQL non ha. E allora?

Non è questo il punto. La superiorità algoritmica di una lingua rispetto a un'altra non ha alcuna importanza dopo una certa soglia di capacità rispetto alla materia.

Qui stai masticando i gusti dei codificatori, e personalmente sono qui per il bene del commercio.

PS.

Le vostre classi matriciali dovranno usare la libreria Intel per le operazioni matriciali, poi forse eguaglierete R in questa materia.

Infili le tue matrici in ogni post che fai. La loro applicazione nel trading reale è molto limitata. Il 99,9% degli Expert Advisor non usa calcoli di matrice (da non confondere con gli array in MQL).

R è stato creato per l'analisi rapida dei dati, ma non per la simulazione vera e propria. E i calcoli nella finestra scorrevole? Il 99,99% di tutti i calcoli nel trading sono fatti usando la finestra scorrevole. Cioè, se si inserisce un nuovo elemento nella matrice e si rimuove il vecchio, e poi si ricalcola, il costo di questa operazione deve essere O(1), e nient'altro. In MQL questo può essere garantito in quasi tutti i casi, ma come farlo in R?

Motivazione: