
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
Ich glaube, dass nur du, Dima, hier von "es" gesprochen hast.)
Es wurde über funktionierenden Code diskutiert, bei dem if der schnellste Teil ist.
Switch funktioniert fast sofort, Sie können es für universelle EA verwenden. Aber ich sehe den Sinn nicht.
Von hier aus ging es los.
Besser nicht ein Schalter, sondern OOP-Polymorphismus.
Wenn wir einen Esel mit 40 kg beschweren und dann feststellen, dass wir eine 1 kg schwere Flasche vergessen haben, ist das kein Problem, und wenn wir 1 kg weniger beschweren, ist das auch kein Problem. So kann man einem Esel eine endlose Last von jeweils einem Kilogramm aufbürden (was für einen Esel unbedeutend ist).
Kein Kredit.
Sie hängen 20 Gramm leere Fläschchen an einen Esel. Und es ist ihm wirklich egal.
Das Wasser, das dort hineingeschüttet wird, macht ihm schwer zu schaffen (schwere Funktionen).
Von hier aus ging es los.
Besser nicht ein Sweep, sondern ein OOP-Polymorphismus.
In diesem Beispiel können Sie mindestens 10 ifs einfügen, ohne dass sich dies auf die Arbeitsgeschwindigkeit (sowie die Test- und Optimierungsgeschwindigkeit) auswirkt (<1% Verlangsamung).
Denn in der benachbarten Funktion werden die Aufträge analysiert oder zumindest die Auftragssumme abgefragt, und in der anderen Funktion wird die Zeit unter Berücksichtigung der GMT-Verschiebung überprüft.
...
In diesem Beispiel können Sie mindestens 10 ifs einfügen, ohne dass sich dies auf die Arbeitsgeschwindigkeit (sowie die Test- und Optimierungsgeschwindigkeit) auswirkt (<1% Verlangsamung).
Der Grund dafür ist, dass die nebenstehende Funktion die Aufträge oder zumindest die orderTotal-Anfrage aufzählt, und die andere Funktion die Zeit unter Berücksichtigung der GMT-Verschiebung überprüft.
An dieser Stelle einfügen, an einer anderen einfügen, an einer anderen einfügen, usw... und der Esel flieht.
Die Zweckmäßigkeit einer zusätzlichen Kontrolle ist in diesem Beispiel minimal. Jemand möchte im Gegenteil, dass die Order sofort nach dem Start des EAs geöffnet wird, auch wenn der EA auf Balken arbeitet. Aber unser Expert Advisor ist super kompetent darin, den Shit-Code zu definieren, und alles, was seiner Meinung nach falsch ist, ist ein Shit-Code.
Du erklärst mir alles so, als ob ich keinen einzigen EA gesehen hätte, den ich gar nicht geschrieben hätte. Es stellte sich heraus, dass ich nicht einmal weiß, wie man eine if-Bedingung richtig schreibt.
Für einen Esel ist das nicht schwer, man schüttet das Wasser nicht auf einmal in die Flaschen, sondern eine nach der anderen. Es ist bewiesen, dass ein Esel mit einer unendlichen Menge an Gewicht beladen werden kann.
Ich hätte nicht mit meiner eigenen Cleverness beginnen sollen:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Hilfe!
Dmitry Fedoseev, 2015.11.03 20:44
Die Arbeitsgeschwindigkeit wird reduziert.Wir haben es einfach aufgegriffen! ;)
Hören Sie schon auf. Das schnellste Programm ist ein OnTick(); und das war's.
Alles, was mehr Code enthält, wird langsamer sein. Und wenn man über die Geschwindigkeit nachdenken muss, geht es sicher nicht um das Ob.
Ein if kann in OpenCL-Code entscheidend sein, da es eine Verzweigungslogik erzeugt, die zur Unsynchronisierung von Threads führt. Aber auch hier ist es nicht if selbst, das die Verlangsamung verursacht, sondern die Threads, die aufgrund der unterschiedlichen Logik mit unterschiedlichen Geschwindigkeiten arbeiten. Auch in diesem Fall sollten Sie nicht versuchen, die Anzahl der ifs zu reduzieren, sondern die Operationen in if- und else-Blöcken "vereinheitlichen", z. B:
anstelle von
verwenden müssen
dann bleibt die Anzahl der Operationen in den verschiedenen Threads erhalten, und es gibt keine Desynchronisation und die Ausführungsgeschwindigkeit ist höher, obwohl es mehr Code gibt.
An einen Ort stellen, an einen anderen stellen, an einen anderen stellen und so weiter... und der Esel wird abhauen.
Die Zweckmäßigkeit einer zusätzlichen Kontrolle ist in diesem Beispiel minimal. Jemand möchte im Gegenteil, dass die Order sofort nach dem Start des EAs geöffnet wird, auch wenn der EA auf Balken arbeitet. Aber unser Expert Advisor ist per Definition super-autoritär 00000 und alles, was nicht so ist wie er, ist xxxxxx.
Ihr erklärt es mir alle so, als ob ich noch nie einen EA gesehen hätte, nicht dass ich jemals einen geschrieben hätte. Es stellt sich heraus, dass ich nicht einmal weiß, wie man die richtige if-Bedingung schreibt.
Sie gießen das Wasser nicht auf einmal in die Flaschen, sondern eine nach der anderen. Es ist bewiesen, dass der Esel mit unendlich vielen Lasten beladen werden kann.
Es ist nicht nur das Programm, das auf die Spitze getrieben werden kann. Das ist genau das, was Sie tun.
Wenn Sie sagen, dass Sie wissen, wie es geht, müssen Sie das Prinzip des if-Operators verstehen. Oder etwa nicht?
Und vergleichen Sie einen if-Operator nicht mit einem Esel, ein Esel sitzt in Ihrem Gehirn und schreibt Unsinn. Und vergleichen Sie den "if"-Betreiber nicht mit einem Esel, der in seinem Gehirn sitzt und Blödsinn schreibt.
anstelle von
sollten Sie