Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
In MQL5 und noch mehr in MQL4 ist die Codegeschwindigkeit für solche Algorithmen zu gering, d.h. in reinem MQL kann nichts Gutes erreicht werden, und es muss mindestens eine DLL erstellt werden. Und es würde ohnehin keinen Sinn machen, da Portfolios nicht in Echtzeit bei jedem Tick oder auf den Balken kleiner Zeitrahmen optimiert werden müssen.
Yuri, das stimmt nicht, mql5 ist Toad in Bezug auf die Geschwindigkeit nicht unterlegen.
Was den Zweck der Nutzung betrifft, so bin ich zum Beispiel in Bezug auf Forex eher an der Optimierung von Strategieportfolios als an Tools interessiert. Also... Ausreden werden nicht akzeptiert. :)
Aber die gute Nachricht ist, dass ich Ihnen beim Schreiben von Code in mql5 Gesellschaft leisten kann. Ich kann sie sogar selbst schreiben. Vorzugsweise nur eine Beschreibung des Algorithmus.
Ich glaube, das wird ein Spaß.
Yuri, das ist nicht wahr, mql5 steht Toad in Sachen Geschwindigkeit in nichts nach.
Sie erzählen Ihren Kindern diese Märchen. Virtuelle Java-Maschinen führen eine JIT-Kompilierung durch, d. h. sie kompilieren Java-Code in Maschinencode, bevor sie das Programm ausführen. Die Ausführung von Java-Anwendungen erfolgt also im Maschinencode.
Siehe Ergebnisse zum Vergleich der Quake2-Leistung in Java und C++: http://www.bytonic.de/html/benchmarks.html
Mehr zu diesem Thema: Benchmarks für C#, C++, Java, Delphi
Dies lässt sich leicht überprüfen, indem man denselben in Java und in MQL5 geschriebenen Benchmark ausführt.
Was den Grund für die Nutzung angeht - zum Beispiel bin ich in Bezug auf Forex eher an der Optimierung von Strategieportfolios interessiert, nicht an Tools. Also... Ausreden werden nicht akzeptiert. :)
Laden Sie dann die ersten Equity-Differenzen der Strategien in eine CSV-Datei hoch und optimieren Sie sie. Warum brauchen Sie Ausreden, dass MQL5 angeblich eine im Maschinencode ausgeführte Anwendung "überholen" kann?
Aber die gute Nachricht ist, dass ich Ihnen beim Schreiben von Code in mql5 Gesellschaft leisten kann. Ich kann sie sogar selbst schreiben. Vorzugsweise nur eine Beschreibung des Algorithmus.
Fahren Sie fort. Der Brown-Robinson-Algorithmus ist kein Geheimnis. Hier ist der Code in Java:
Sie erzählen Ihren Kindern diese Märchen. Virtuelle Java-Maschinen führen eine JIT-Kompilierung durch, d. h. sie kompilieren Java-Code in Maschinencode, bevor sie das Programm ausführen. Die Ausführung von Java-Anwendungen erfolgt also im Maschinencode.
Yura, das scheint neu für Sie zu sein, aber die virtuelle Maschine mql5 funktioniert auf ähnliche Weise. Der Compiler erstellt den Bytecode, der vor dem Ausführen in ein natives Format vorkompiliert wird. Es ist dasselbe wie in Java und Sharp. Sie sollten das mql5 Forum öfters lesen.
Siehe Ergebnisse zum Vergleich der Quake2-Leistung in Java und C++: http://www.bytonic.de/html/benchmarks.html
Mehr zu diesem Thema: Benchmarks für C#, C++, Java, Delphi
Es ist einfach, dies zu überprüfen, indem man denselben in Java und in MQL5 geschriebenen Benchmark ausführt.
Ich habe es überprüft. Allerdings habe ich es nicht mit Java, sondern mit Sharp verglichen. Ich habe die gleiche Geschwindigkeit. Ich glaube nicht, dass Java mindestens 30-40% schneller ist als Sharp. Wenn es einen Unterschied gibt, ist noch nicht bekannt, zu wessen Gunsten er ausfällt. Ich stimme zu, dass man auch mit Java vergleichen sollte. Welchen Code würden Sie für vergleichende Tests empfehlen?
Geben Sie dann die ersten Unterschiede der Aktienstrategien in eine CSV-Datei ein und optimieren Sie sie.
Ich bin an einer solchen Variante nicht interessiert. Ich möchte einen eingebetteten Code. Und das werde ich.
Warum brauchen Sie Ausreden, dass MQL5 angeblich eine Anwendung, die im Maschinencode läuft, "überholen" kann?
Fahren Sie fort. Der Brown-Robinson-Algorithmus ist kein Geheimnis. Hier ist der Code in Java:
Ja, ich habe diesen Code. Sie haben es bereits veröffentlicht. Ich konnte es nicht sofort verstehen. Ich hatte zumindest mit Kommentaren gerechnet, um wirklich etwas herauszufinden, und nicht nur um herumzuspielen.
Okay, ich versuche es noch einmal. Es gibt Beschreibungen der Algorithmusidee im Internet. Ich werde es herausfinden.
Yura, das scheint neu für Sie zu sein, aber die virtuelle Maschine mql5 funktioniert ähnlich. Der Compiler erzeugt Bytecode, der vor dem Start in ein natives Format vorkompiliert wird. Es ist dasselbe wie in Java und Sharp. Sie sollten das mql5 Forum öfters lesen.
Ich habe es überprüft. Allerdings habe ich es nicht mit Java, sondern mit Sharp verglichen. Ich habe die gleiche Geschwindigkeit. Ich glaube nicht, dass Java mindestens 30-40% schneller ist als Sharp. Wenn es einen Unterschied gibt, ist noch nicht bekannt, zu wessen Gunsten er ausfällt. Ich stimme zu, dass man auch mit Java vergleichen sollte. Welchen Code würden Sie für vergleichende Tests empfehlen?
Ich bin an einer solchen Variante nicht interessiert. Ich möchte einen eingebetteten Code. Und das werde ich.
Siehe oben. Ich rechne nicht damit, dass ich überhole, sondern damit, dass ich identisch bin (plus oder minus 10 %).Ja, ich habe diesen Code. Sie haben es bereits veröffentlicht. Ich konnte es nicht sofort verstehen. Ich hatte zumindest mit Kommentaren gerechnet, um wirklich etwas herauszufinden, und nicht nur um herumzualbern.
Okay, ich versuche es noch einmal. Es gibt Beschreibungen der Algorithmusidee im Internet. Ich werde es herausfinden.
urkomisch...
jedoch
;)
Ja, ich habe diesen Code. Sie haben es bereits veröffentlicht. Ich konnte mich nicht sofort damit anfreunden. Ich hatte zumindest auf einen Kommentar gehofft, damit ich es wirklich herausfinden kann, anstatt nur herumzuspielen.
Okay, ich versuche es noch einmal. Es gibt Beschreibungen der Algorithmusidee im Internet. Ich werde es herausfinden.
Es gibt nichts Kompliziertes an dem Code. Ich übergebe in den Argumenten eine Zahlungsmatrix - a[][], in der Ausgabe die optimale Strategie des Spielers nach Spalten der Zahlungsmatrix - q
int m = a.length; // переменной m присваивается значение в виде количества строк в платежной матрице
Arrays.fill(p, 0); // Массив p инициализируется нулевыми значениями
rand.nextBoolean() // с вероятностью 50% / 50% даст случайным образом значение true или false
Alles andere versteht jeder Programmierer, der sich mit C-ähnlichen Sprachen auskennt, ohne jede Hilfe. Der einzige Unterschied zwischen Java und C besteht darin, dass der Speicher nicht freigegeben werden muss. Das heißt, wenn eine Variable innerhalb eines Blocks mit geschweiften Klammern {} deklariert wird, bedeutet dies, dass nach dem Schließen des Blocks die Variable außerhalb des Blocks ungültig ist und die virtuelle Java-Maschine den dafür zugewiesenen Speicher selbstständig freigibt. Wenn versucht wird, auf eine Variable zu verweisen, die innerhalb eines Blocks außerhalb dieses Blocks deklariert wurde, erzeugt der Java-Compiler einen Fehler.Warum schreibst du nicht alles in mql5 und gibst die Quellen an?
Der Quellcode ist öffentlich zugänglich unter http://r-portfolio.sourceforge.net/.
Wenn Sie sie benötigen, können Sie sie in einer beliebigen Programmiersprache umschreiben oder Job kontaktieren - sie tun verschiedene Launen und Begierden derer, die etwas in MQL-Code implementieren müssen.
Yuri, ich habe eine Frage zur Bildung eines Portfolios mit Ihrem Programm. Ich habe sie im Thread "Correlation Expert Advisor" gestellt, aber ich habe diesen Thread gefunden und werde sie hier stellen. Sie nehmen Gold zusammen mit den Majors in das Portfolio auf, aber Währungspaare und Gold haben unterschiedliche Tickpreise. Wie wird dies in der Berechnung korrigiert und welche Paare verwenden Sie für Ihr Portfolio? Ich interessiere mich für dieses Thema und würde gerne von einem erfahrenen Fachmann wissen, welche ungefähren Ergebnisse die Anwendung des Systems bringt.
Virtuelle Java-Maschinen führen eine JIT-Kompilierung durch, d. h. sie kompilieren Java-Code in Maschinencode, bevor sie das Programm ausführen. Die Ausführung von Java-Anwendungen erfolgt also im Maschinencode.
jit in Java kompiliert in Teilen zu Maschinencode. Soweit ich es verstehe, kompiliert mql5 das gesamte Programm auf einmal in Maschinencode - das ist mehr aot als jit.
Siehe Antwort an den Korrelationsratgeber
.
http://sourceforge.net/projects/r-portfolio/ - ist sie auf Russisch verfügbar?