Bei einer Anwendung des OOP - Seite 10

 
Alexey Volchanskiy:

Meine Güte - der Intel-Compiler, der alle in Stücke reißt, wird den Interpreter einholen?

Sanych, trinken Sie nicht zu viel ))))

Bitte lesen Sie den Beitrag aufmerksam:

Ihre Matrixklassen müssen die Intel-Bibliothek für Matrixoperationen verwenden,

Dies ist BIBEL!

Erweitern Sievon dort aus Ihren Horizont. Um Ihnen die Mühe zu ersparen, hier ist sie:

Die Intel® Math Kernel Library (Intel® MKL) beschleunigt mathematische Verarbeitungsroutinen, die die Anwendungsleistung erhöhen und die Entwicklungszeit reduzieren. Intel® MKL enthält hochgradig vektorisierte und mit Threads versehene Funktionen für lineare Algebra, schnelle Fourier-Transformationen (FFT), Vektormathematik und Statistik.

Oje... 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...
 
СанСаныч Фоменко:
Mit Interpreter meine ich Ihren Lieblings-R
 
Комбинатор:
Mit Dolmetscher meinte ich Ihren Lieblings-R

In R wird nichts interpretiert. Die gesamte Funktionalität ist nativer Code. Sie rufen eine Funktion auf und nur der Befehl selbst wird interpretiert. Das ist alles.

Und die Geschwindigkeit, mit der die eingebauten Funktionen ausgeführt werden, ist erstaunlich. Das kann man weder mit den eigenen Händen noch mit dem MKL machen. Oder sie ist zu lang, und es gibt keinen Grund dafür.

 
Yuriy Asaulenko:

Es liegt nicht an mir. Ich glaube durchaus, dass Vektor- und Matrixoperationen dort auf einem Niveau sind. Andernfalls wäre es nicht unter den Top 5 zu finden.

Und ich habe eine gute Einstellung zur Sprache selbst. Aber der Vergleich zwischen MQL und R ist lächerlich.)

anwendungsbezogene handelssprache vs. eine sprache zur datenanalyse? wie kann man sie überhaupt vergleichen?

Entladene Daten (MQL) analysiert (R) fand eine Kante, schrieb ein ATS (MQL), falls erforderlich, mit einem Link zu den erforderlichen Funktionen der analytischen Plattform.

Wenn Sie die erforderliche Funktionalität portieren wollen, ist das nur fair. Umso mehr mögliche Hilfe gibt es in Form der von Entwicklern portierten alglib

 

Idealerweise könnte man ein ganzes Ökosystem von EAs laufen lassen, um zu modellieren, wie sie überleben und sich auf der Grundlage von GAs verändern, um besser zu historischen Kursen zu passen.

Wie am Anfang gab es die einfachsten, die unter einer einfachen Bedingung kauften oder verkauften. Dann begannen sich komplexere Formen auf der Grundlage der einfachen Formen zu bilden. Im Allgemeinen, Aussterben und die Entstehung neuer effizienter Experten zu verfolgen))) Eine Art der evolutionären Programmierung, die auf der booleschen Kreuzung anderer Individuen beruht

 
Avals:

Im Idealfall könnte ein ganzes Ökosystem von EAs gestartet werden, um zu simulieren, wie sie überleben und sich auf der Grundlage von GAs verändern, um besser zu historischen Kursen zu passen.

Wie am Anfang gab es Protozoen, die unter einer einfachen Bedingung gekauft oder verkauft wurden. Dann begannen sich komplexere Formen auf der Grundlage von einfachen Formen zu bilden. Im Allgemeinen, Aussterben und die Entstehung neuer effizienter Experten zu verfolgen))) Eine Art der evolutionären Programmierung, die auf der booleschen Kreuzung anderer Individuen beruht

Über Evolution und "Aussterben": Ein berüchtigtes Unternehmen veranstaltete einen Wettbewerb für KI-Programmierung. Alles ist erwachsen - Raubtier-Beute-Modell, Ökologie, Geografie, Fortpflanzung, Fähigkeit zur Kommunikation zwischen Exemplaren und anderes mehr. Die Ergebnisse zahlreicher Durchläufe zeigten, dass der einfachste Verhaltensalgorithmus bei allen klügsten KIs gewinnt: Sie fressen alles, was sie erreichen können, brüten bei der ersten Gelegenheit und rennen, wenn etwas passiert, mit einer Herde zusammen.

 
Maxim Kuznetsov:

über Evolution und "Aussterben": Ein berüchtigtes Unternehmen veranstaltete einen Wettbewerb für KI-Programmierung. Alles ist erwachsen - Räuber-Beute-Modell, Ökologie, Geografie, Fortpflanzung, Kommunikationsmöglichkeiten zwischen den Exemplaren und so weiter und so fort. Der einfachste Algorithmus der verfügbaren KI hat sich nach zahlreichen Durchläufen durchgesetzt: Ein Individuum muss alles fressen, was es erreichen kann, sich bei der ersten Gelegenheit fortpflanzen und, wenn etwas passiert, mit einer Herde zusammenlaufen.

MS arrangierte es in den frühen 2000er Jahren, um C# zu popularisieren. Davor war das Spiel in Java sehr beliebt.

Aber MS hat alles in Preise verpackt, ich habe irgendeine Etappe gewonnen, ich weiß nicht mehr welche. Aber die Strategie war Rat aus dem Hinterhalt)))))

Ich erinnere mich noch an etwas anderes, der Postbote klingelte an der Tür, - da war ein Päckchen für dich von MS.

Ich kam zur Post - eine Kiste von 20 kg, alle mit Büchern über Programmierung gefüllt)).

 
Alexander Laur:
Ihr Beitrag hätte eine LOGISCHE Schlussfolgerung, wenn Sie zur Untermauerung Ihrer Argumente über die Inkonsistenz der Vererbung ein grafisches Diagramm Ihrer Sicht der Klassenhierarchie vorlegen würden. Für mehr Klarheit! :)
Die Standardbibliothek ist nicht das beste Beispiel für Code, aber es ist nicht (nur) darin. Starkes Plus.
 
Alexander Laur:
Ihr Beitrag hätte eine LOGISCHE Schlussfolgerung, wenn Sie zur Bestätigung Ihrer Argumentation über die Inkonsistenz der Vererbung ein grafisches Schema Ihrer Vorstellung von der Hierarchie der Klassen vorlegen würden. Um der Klarheit willen! :)

Bis jetzt auf der Ebene der Thesen:

Es gibtkeine Silberkugel("NoSilver Bullet" Frederick Brooks, 1986). Das heißt, es gibt keine Einheitslösung für die korrekte Softwareentwicklung. Jede Entwurfsmethode kann zu Inkonsistenzen und einer komplexen Wahrnehmung führen, was die weitere Entwicklung verlangsamt oder sogar unmöglich macht.

Vererbung ist von Natur aus inkonsistent. Es ist jedoch sehr einfach, ein widersprüchliches Design zu erstellen, viel einfacher, als es zu Beginn des Designs erscheinen mag.

Schnittstellen und Einschlüsse sind sicherer.

Nach dem Gesagten scheint es besser zu sein, in der Regel flache Modelle zu verwenden: eine begrenzte Vererbungskette von zwei, maximal drei Ebenen und Austausch über Schnittstellen, deren Funktionalität besser durch Einschlüsse realisiert wird.

Unglücklicherweise sind Schnittstellen in MQL5 verboten, was sehr bedauerlich ist, obwohl sie durch einen geschickten Schachzug hätten integriert werden können: Mehrfachvererbung von rein abstrakten Klassen zu erlauben.

ZZY: Wenn ich Zeit habe, werde ich einen Klassenbaum meines CStrategy-Projekts zeichnen. Es wird interessant sein, sie zu vergleichen. Ich möchte jedoch noch einmal betonen, dass es keinen Königsweg gibt, d.h. keinesfalls die gleiche CStrategie nach dem Prinzip "schau, wie es gemacht werden sollte" betrachten.

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

Wenn du keine Katzen kochen kannst, sei still...

R. Diese Sprache für die statistische Datenanalyse verfügt auch über 2 objektorientierte Programmiersysteme

Und? Da ist noch viel mehr drin, was MQL nicht hat. Na und?

Das ist nicht der Punkt. Die algorithmische Überlegenheit einer Sprache gegenüber einer anderen spielt ab einer bestimmten Fähigkeitsschwelle in Bezug auf das Fachgebiet überhaupt keine Rolle mehr.

Sie kauen hier auf dem Geschmack von Programmierern herum, und ich persönlich bin aus kommerziellen Gründen hier.

PS.

Ihre Matrix-Klassen müssen die Intel-Bibliothek für Matrix-Operationen verwenden, dann werden Sie vielleicht R in dieser Angelegenheit gleichziehen.

Du steckst deine Matrizen in jeden Beitrag, den du schreibst. Ihre Anwendung im realen Handel ist sehr begrenzt. 99,9% der Expert Advisors verwenden keine Matrixberechnungen (nicht zu verwechseln mit Arrays in MQL).

R wurde für die schnelle Datenanalyse entwickelt, aber nicht für eine vollwertige Simulation. Was ist mit Berechnungen im gleitenden Fenster? 99,99 % aller Berechnungen im Handel werden mit Hilfe von Schiebefenstern durchgeführt. Das heißt, wenn man ein neues Element in die Matrix einfügt und das alte entfernt und sie dann neu berechnet, müssen die Kosten für diese Operation O(1) sein und nichts anderes. In MQL kann dies in fast allen Fällen garantiert werden, aber wie kann man dies in R tun?

Grund der Beschwerde: