Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 261

 
tiiga:

Nun, es gibt viele Themen, die sich mit den Indizes und den dafür zu verwendenden Parametern befassen - daher habe ich beschlossen, ein Programm zu erstellen, das seine eigenen Indizes auswählt.

Es handelt sich um ein neuronales Netz mit etwa 100 Neuronen (man kann die Zahl ändern, aber selbst bei 10 funktioniert es noch langsam), von denen jedes einen eigenen Satz verschiedener Indizes von 2 bis 20 hat. Wenn ein Neuron wegen eines Fehlers getötet wird, erhält es einen neuen Satz von Indizes.

Optimieren Sie zuerst den Algorithmus und dann den Code.
 
Der Algorithmus funktioniert perfekt, der gleiche Algorithmus, wenn ich nicht mit Truthähnen gearbeitet habe, sondern selbst Paternas zugewiesen habe, erlaubte es, Millionen von Neuronen schnell genug zu analysieren. (etwa eine Stunde für ein paar Jahre Geschichte) sind es die Drehscheiben, die sich verlangsamen.
 
und mit einem Leistungsprüfstand funktionierte es auch mehr oder weniger schnell, aber sobald ich die Anzahl der Leistungsprüfstände erhöhte, wurde es viel langsamer
 
tiiga:
Und mit nur einem dynamischen Indikator funktionierte es mehr oder weniger schnell, aber als ich die Anzahl der Indikatoren erhöhte, verlangsamte sich alles drastisch.

Soll ich sie mit Weihwasser besprengen?

Welche anderen Ratschläge kann ich Ihnen geben? Sie haben sich an die Tatsache gehalten, dass Sie es richtig gemacht haben. Die Logik ist perfekt, der Algorithmus ist super. Alles ist fein abgestimmt, es gibt nirgendwo Bugs, der gesamte Code ist auf Ausführungsgeschwindigkeit optimiert.

Ich kann Ihnen die Telefonnummer von Hottabych geben.

 

die Frage war

1) Unterscheidet sich die Arbeit des Indikators, wenn er über iCastom aufgerufen wird?

2) Ist es sinnvoll zu versuchen, Berechnungen aus dem Indikator herauszureißen und in den Expert Advisor einzufügen?

Ich habe auch einen Gedanken - wenn ich auf Hilfe klicke, zeigt es Build 509 an - ich habe gelesen, dass es neuere Builds gibt und die neue vielleicht schneller funktioniert - vielleicht hilft das?

 
tiiga:

die Frage war

1) Unterscheidet sich die Arbeit des Indikators, wenn er über iCastom aufgerufen wird?

2) Ist es sinnvoll zu versuchen, Berechnungen aus dem Indikator herauszureißen und in den Expert Advisor einzufügen?

Ich habe auch einen Gedanken - wenn ich auf Hilfe klicke, zeigt es an, dass ich den Build 509 habe - ich dachte, ich hätte gelesen, dass es neuere Builds gibt und der neue schneller funktionieren könnte - vielleicht hilft das?

In Ihrem Fall (theoretisch), wenn man bedenkt, dass, wenn Sie den Indikator mit neuen Parametern aufrufen, das Terminal eine neue Kopie des Indikators lädt und das gesamte historische Volumen auf dem Chart neu berechnet, macht es Sinn, "die Berechnungen aus dem Indikator zu schneiden". Vergessen Sie nicht, den Parameter für die Anzahl der berechneten Balken hinzuzufügen. Aber der Stock ist immer "zweischneidig": ein korrekter Indikator berechnet bei jedem Tick 1-2 Takte neu, der Code im Expert Advisor berechnet für jeden Tick eine bestimmte Anzahl von Takten (und in der Regel erfordert die Berechnung des Algorithmus des Indikators mehr als die zuvor genannten 1-2 Takte).

Solche komplexen (adaptiven) Systeme sollten bei der Ankunft eines neuen Stabes ausgeführt werden. Der neue Build (vorerst experimentell) wird nicht helfen.

P.S. Ein Beispiel für das "Herausreißen" eines Indikatorcodes ist hier zu sehen.

 

Danke, das hört sich richtig an.

Ich muss nur den Code ein bisschen verstehen:)

Gut, dass es gut kommentiert ist.

 
TarasBY:

In Ihrem Fall (theoretisch), wenn man bedenkt, dass, wenn Sie den Indikator mit neuen Parametern aufrufen, das Terminal eine neue Kopie des Indikators lädt und das gesamte historische Volumen auf dem Chart neu berechnet, macht es Sinn, die Berechnungen aus dem Indikator herauszureißen". Vergessen Sie nicht, den Parameter für die Anzahl der berechneten Balken hinzuzufügen. Aber der Stock ist immer "zweischneidig": ein korrekter Indikator berechnet bei jedem Tick 1-2 Takte neu, der Code im Expert Advisor berechnet für jeden Tick eine bestimmte Anzahl von Takten (und in der Regel erfordert die Berechnung des Algorithmus des Indikators mehr als die zuvor genannten 1-2 Takte).

Solche komplexen (adaptiven) Systeme sollten bei der Ankunft eines neuen Stabes ausgeführt werden. Der neue Build (vorerst ein experimenteller) wird nicht helfen.

P.S. Ein Beispiel für das "Herausreißen" des Indikatorcodes ist hier zu sehen.


Aber es gibt eine alternative Option - auf der Grundlage des EA dynamische Puffer zu organisieren, wie in dem Indikator, und die gesamte Logik an den EA zu übertragen. In diesem Fall muss sich der Programmierer nur um die Größe der Puffer kümmern, die sich automatisch an die Anzahl der Balken in der Historie anpasst (so wie es das Terminal für den Indikator tut). Im Übrigen erhalten wir die Vorteile des Expert Advisors und des Indikators in einem Paket (und die Anzahl der Puffer ist nahezu unbegrenzt).


Wie man dynamische Puffer in einem EA organisiert, habe ich einmal gezeigt, ich kann es wiederholen, wenn Sie es brauchen.

 
Ich habe gehört, dass die Standard-Indikatoren auch modifiziert werden können - ist es möglich, dass sie nur eine begrenzte Anzahl von Takten und nicht die ganze Geschichte lesen?
 
tiiga:
Ich dachte, ich hätte gehört, dass Standardindikatoren auch modifiziert werden können - ist es möglich, dass sie nur eine begrenzte Anzahl von Balken statt der gesamten Historie lesen?

Natürlich genügt es, eine entsprechende Bedingung zu stellen, in den Standardbeispielen ist dies eine variable Grenze
Grund der Beschwerde: