Ein wenig überrascht :) Ich dachte, ich teile das und stelle eine NICHT rhetorische Frage. - Seite 23
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
Wollen Sie einen Wert (nicht unbedingt ein Vielfaches von 2) durch einen anderen Wert (nicht unbedingt ein Vielfaches von 2) durch eine Bitverschiebung dividieren?
Ok, ich gebe Ihnen, was ich habe, und dann können Sie selbst entscheiden, ob Sie es brauchen oder nicht.
gcd(2n + 1, 2(n + k) + 1) = gcd(2(n + k) + 1, 2n + 1) = gcd(2n + 1, k)
--
Zwei Vorträge von STL-Schöpfer Alexander Stepanov auf Yandex
// Zum Thema Berechnung der NOD - zweiter Vortrag. Aber ich empfehle, beide zu sehen/zu hören. Coole Vorträge, kluger Mann, einfach nett. Ja, und nützlich.Wenn mit Bit-Verschiebungen, gehen Sie für sie. Wenn mit Modulo-Division, dann nicht.
Dividieren durch aufeinanderfolgende Offsets
interessante Zahlen am Ende des Artikels:
Dieser Algorithmus wird im schlimmsten Fall in (n-1)! Iterationen ausgeführt, wobei n die Bittiefe des Teilers ist. Zusammenfassend lässt sich sagen, dass dieser Algorithmus im Vergleich zum sequentiellen Additionsalgorithmus bei 8-Bit-Zahlen einen bis zu 9-fachen und bei 16-Bit-Zahlen einen bis zu 546-fachen Gewinn bringt.
Ich habe also Folgendes bekommen:
Es scheint gut zu funktionieren. Bitte testen Sie alle Löcher.
// Ich habe es überarbeitet, so ist es schöner.Das ist seltsam, es ist nicht sehr schnell.
2011.04.03 22:56:59 gcdSpeedTest (EURUSD,M20) Gemeinsame Zeit GreatestCommonDivisor(random(),random()) = 7656ms; // 10000000 Aufrufe
2011.04.03 22:56:51 gcdSpeedTest (EURUSD,M20) Gemeinsame Zeit gcd(random(),random()) = 5234ms; // 10000000 Aufrufe
Das ist seltsam, so viel schneller ist es nicht.
2011.04.03 22:56:59 gcdSpeedTest (EURUSD,M20) Gemeinsame Zeit GreatestCommonDivisor(random(),random()) = 7656ms; // 10000000 Aufrufe
2011.04.03 22:56:51 gcdSpeedTest (EURUSD,M20) Gemeinsame Zeit gcd(random(),random()) = 5234ms; // 10000000 Aufrufe
Ich habe einen größeren Unterschied. Ihr Programm ist 3-4 mal schneller, aber vergessen Sie nicht, dass in C++ der Unterschied um den Faktor 2-2,5 reduziert wird, so dass Sie wirklich 1,5 mal schneller sind.
Ich habe einen größeren Unterschied. Ihre ist 3-4 Mal schneller,
aber vergessen Sie nicht, dass in C++ die Differenz um das 2-2,5-fache verringert wird, so dass Sie ehrlich gesagt um das 1,5-fache im Vorteil sind.
Und wir werden sehen.
Bislang haben wir eine vorläufige Version in mql5. Freundliche Tests, Suche nach Fehlern.
Ich habe sie als Struktur erstellt.
Ich habe alle Operationen in zwei Formen durchgeführt - mit und ohne Normalisierung. Ich habe eine flexible Struktur erhalten.
Wenn Sie die Möglichkeit eines Überlaufs vermuten, verwenden Sie eine Version mit Normalisierung, ohne Angst - Sie sparen Zeit (die Normalisierung kann später erfolgen, wenn sich der Schaum angesammelt hat).
Es gibt einen einfachen Test im Archiv, aber es ist wünschenswert, einen härteren Test durchzuführen.
Danke, dass Sie es wenigstens zugeben - Sie haben Emoticons entfernt, aber wer entfernt ganze Beiträge?
Zu diesem Thema, Academic, Ich finde es großartig, dass Sie einen so genannten "Rechner" haben, aber ich würde gerne klären, ob Sie ihn im Laufe des Handels automatisch optimieren können?
Speziell für diesen Thread habe ich die neuesten Ergebnisse des MT5-Testers veröffentlicht (jeder wird die Tests nach dem nächsten Update wiederholen können).
Das ist es , was der MetaTrader 5-Tester kann, und das sogar mit einer vollständigen Infrastruktur (Berichte, Charts, Ergebnisse, Visualisierung).
Speziell für diesen Thread habe ich die neuesten Ergebnisse des MT5-Testers veröffentlicht (jeder wird die Tests nach dem nächsten Update wiederholen können).
Das kann der MetaTrader 5-Tester, und zwar sogar mit einem vollständigen Layout (Berichte, Charts, Ergebnisse, Visualisierung).
7 Symbole, alle Ticks, seit 2000, zwei Parameter ( Varianten 200 * 200 )- 40000 Durchläufe, mit hundert Aufträgen pro Tag für jedes Symbol.
Wie lange dauert es?
10 Jahre dauern - 356 * 10 * 100 * 7 = 25 000 000 Geschäfte
wir nehmen etwa 10 Ticks pro Minute
und 10 Jahre - 365 * 10 * 1440 * 10 = 52 000 000 Ticks auf ein Symbol. Und wenn wir ehrlich sind, ticken sie auf jedem Symbol, also sollten wir ehrlich gesagt mit 7 multiplizieren. Und es sind keine 10 Ticks pro Minute. Und manchmal sind es 300.
Wie lange dauert es?