Automatisches Initialisieren und Reinitialisieren des EA aus einer Datei - Seite 6

 
Romal001:
Guten Abend sagen Sie mir die Qualität der Prüfung der Roboter für wie viele Jahre sollte es nicht verlustbringende Trades?????????? Wenn Sie diese Anfrage beantworten können, senden Sie sie bitte als private Nachricht an mich, vielen Dank im Voraus!
In Anbetracht der schlechten Qualität der historischen Daten, unabhängig von ihrer Quelle, sind selbst einige Jahre kein Indikator. Der Expert Advisor sollte für einen bestimmten Broker optimiert und getestet werden, aber vergessen Sie nicht, dass der "bestimmte" Broker eine Menge "Löcher" in der Geschichte hat. Daher hängt die Prüfung von dem Zeitrahmen ab, in dem der EA arbeitet. Wenn es sich um M1-M5 handelt, reichen 6-12 Monate für Schlussfolgerungen aus. Bei M15 und darüber hinaus benötigen wir 12 Monate zum Testen und Hoffen auf die Richtigkeit der historischen Daten. Und keine Ducascopy und dergleichen werden uns hier retten.
 
Vasiliy Sokolov:
Sie drängen hier nicht auf Ihre mythische Erfahrung. Viele Leute hier haben echte Handelserfahrung, auch mit FORTS, auch mit MetaTrader 5. Wenn die Händler kein Geld auf dem FORTS haben, müssen sie auf dem FORTS handeln, und dann können sie nicht auf dem FORTS auf dem realen Markt handeln.

Bezüglich Michaels Erfahrung.

Vor mehr als einem Jahr haben er und ich unsere Dienste ausgetauscht. Ich habe ihm eine Dienstleistung angeboten, und im Gegenzug hat er mir einen EA für MT5 FORTS geschrieben. Im Laufe des Jahres gab es Börsencrashs, Stromausfälle und Verbindungsabbrüche, aber der von ihm geschriebene Roboter machte keinen einzigen Fehler.

Der einzige Schlag ins Kontor war der Absturz des Börsenservers aufgrund von Transaktionsüberlastungen, was aber darauf zurückzuführen ist, dass die Entwickler noch keine normalen Rückgabecodes für den Handelsserver erstellt haben.

Wir haben dieses Problem mit ihm besprochen, und ich wollte den EA nicht wegen eines ungültigen Request Return Codes blockieren, da der Handelsserver manchmal im normalen Betrieb diesen Return Code (Code 10013) zurückgibt.

Wenn Sie der Meinung sind, dass es sich um ein erfundenes Problem handelt, das sich nur in seinem Kopf abspielt, dann geben Sie mir bitte einen Rat, wie man es umgehen kann.

 
kond777:

Bezüglich Michaels Erfahrung.

Vor mehr als einem Jahr haben er und ich unsere Dienste ausgetauscht. Ich habe ihm eine Dienstleistung angeboten, und im Gegenzug hat er mir einen EA für MT5 FORTS geschrieben. Im Laufe des Jahres gab es Börsencrashs, Stromausfälle und Verbindungsabbrüche, aber der von ihm geschriebene Roboter machte keinen einzigen Fehler.

Der einzige Schlag ins Kontor war der Absturz des Börsenservers aufgrund von Transaktionsüberlastungen, was aber darauf zurückzuführen ist, dass die Entwickler noch keine normalen Rückgabecodes für den Handelsserver erstellt haben.

Wir haben dieses Problem mit ihm besprochen, und ich wollte den EA nicht wegen eines ungültigen Request Return Codes blockieren, da der Handelsserver manchmal im normalen Betrieb diesen Return Code (Code 10013) zurückgibt.

Wenn Sie der Meinung sind, dass es sich um ein erfundenes Problem handelt, das sich nur in seinem Kopf abspielt, dann geben Sie mir bitte einen Rat, wie man es umgehen kann.

Sie brauchen nicht zu überprüfen, etwas über Mihail's Erfahrung, wenn er bereits gesagt hat, dass seine EAs in der Inite sind dummerweise löschen Aufträge und dann wieder von vorne anfangen, und dies geschieht bei jedem Start. Was gibt es da zu besprechen?

Wir können keine Ratschläge erteilen, denn das ganze Ausmaß dieses Unsinns ist weder ihm noch seinen Verteidigern bewusst. Hier schrieben Sie "blockieren Sie den Expert Advisor durch den Rückgabecode". Warum sollte man sie überhaupt blockieren? Sie müssen das Richtige tun. Sie haben dort Ihre eigenen speziellen Prinzipien der EA-Programmierung (niemand hat den Code gesehen und wird ihn wahrscheinlich auch nicht sehen), also überlegen Sie selbst, wie Sie mit Ihren eigenen speziellen Situationen umgehen.

 
Romal001:
Guten Abend sagen Sie mir die Qualität der Prüfung der Roboter für wie viele Jahre sollte es nicht verlustbringende Trades?????????? Wenn Sie mir die Antwort in einer privaten Nachricht mitteilen können, danke ich Ihnen im Voraus!
Das mag sein. Ohne Verlustgeschäfte ist das unrealistisch und verdächtig.
 
Dmitry Fedoseev:

Warum erzählen Sie uns mehr über Mikhails Erfahrungen, wenn er selbst uns bereits gesagt hat, dass seine EAs in der Inite dummerweise Aufträge löschen und dann wieder von vorne anfangen, und so weiter bei jedem Start. Was gibt es da zu besprechen?

Wir können keine Ratschläge erteilen, denn das ganze Ausmaß dieses Unsinns ist weder ihm noch seinen Verteidigern bewusst. Hier haben Sie geschrieben, dass Sie den Expert Advisor durch den Rückgabecode blockieren. Warum sollte man sie überhaupt blockieren? Sie müssen das Richtige tun. Sie haben dort Ihre eigenen speziellen Prinzipien der EA-Programmierung (niemand hat den Code gesehen und wird ihn wahrscheinlich auch nicht sehen), also überlegen Sie selbst, wie Sie mit Ihren eigenen speziellen Situationen umgehen.

 
Ja. Farbige Bilder für Erwachsene sind sehr starke Argumente.
 
Dmitry Fedoseev:

Warum erzählen Sie uns mehr über Mikhails Erfahrungen, wenn er selbst uns bereits gesagt hat, dass seine EAs in der Inite dummerweise Aufträge löschen und dann wieder von vorne anfangen, und so weiter bei jedem Start. Was gibt es da zu besprechen?

Wir können keine Ratschläge erteilen, denn das ganze Ausmaß dieses Unsinns ist weder ihm noch seinen Verteidigern bewusst. Hier schrieben Sie "blockieren Sie den Expert Advisor durch den Rückgabecode". Warum sollte man sie überhaupt blockieren? Sie müssen das Richtige tun. Sie haben dort Ihre eigenen speziellen Prinzipien der EA-Programmierung (niemand hat den Code gesehen und wird ihn wahrscheinlich auch nicht sehen), also überlegen Sie selbst, wie Sie mit Ihren eigenen speziellen Situationen umgehen.

Ich verteidige niemanden, ich nenne nur die mir zur Verfügung stehenden Fakten.

Zurück zu den Fehlern bei den Rückgabecodes. Michael schlägt vor, den EA nach drei Anfragen auszusetzen, da dies ein Versäumnis der Entwickler sei

https://www.mql5.com/ru/forum/58012/page2#comment_2017705

Ich bin wie Sie der Meinung, dass es sich nicht lohnt, den EA-Arbeiter zu stoppen. Wie kann das im obigen Link genannte Problem Ihrer Meinung nach gelöst werden?

ФОРТС: OnTradeTransaction() коды возврата
ФОРТС: OnTradeTransaction() коды возврата
  • www.mql5.com
Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 2 - Категория: автоматические торговые системы
 

Offensichtlich, wenn:

Когда "подглючивает" сервер МТ5 или сбой на бирже, то происходит следующее:

Der Prüfer sendet einen Auftrag zur Löschung eines EXISTIERENDEN Auftrags und die Antwort kommt zurück

"Ungültige Anfrage"!!!! Und der EA bombardiert den Server weiterhin mit Aufträgen zum Löschen

der Bestellung.

Dann müssen Sie weiterstampfen. Es ist nicht notwendig, den Expert Advisor zu blockieren. Möglicherweise nimmt die Anzahl der Fehler zu und die Zeitspanne zwischen den Versuchen wird größer. Die einfachste Lösung besteht darin, mehrere Versuche zu unternehmen und zu warten, bis der nächste Balken geöffnet wird.

 
Dmitry Fedoseev:

Es wurde hier schon geschrieben - rechnen Sie alles noch einmal durch. D.h. Analyse der Situation mit Aufträgen. Das Speichern von Daten in Dateien oder auf andere Weise (vielleicht in globalen Variablen) ist nicht wichtig. Der wichtigste Punkt ist, dass, wenn einige Daten benötigt werden, sie in der Bindung an Bestellscheine gespeichert werden, und in diesem Fall gibt es kein Problem mit veralteten Daten - wir haben Ordnung - wir haben Daten, keine Ordnung - wir haben keine Daten. Es mag Daten geben, die nicht an eine bestimmte Reihenfolge gebunden sind, aber wir müssen über jeden einzelnen Fall nachdenken, und es ist ein lösbares Problem.

Das Clearing ist wirklich das komplizierteste Problem. Aber es ist kein Problem der langfristigen Datenspeicherung (oder ihrer Veralterung), wir können Daten in einfachen Variablen im Expert Advisor speichern (ein bisschen riskant, aber nur für 5 Minuten). Die Schwierigkeit dabei ist, wie man später damit umgehen kann. Wir können eine Gruppe globaler Terminalvariablen für jeden Auftrag erstellen und den Eröffnungskurs darin speichern. Wenn dann die nicht markierten Aufträge erscheinen (oder bei der Eröffnung eines neuen Tages), sehen wir uns die letzten geschlossenen Aufträge in der Historie an, gleichen sie anhand der Merkmale ab, die verwendet werden können (z. B. Los), und setzen alle globalen Variablen des geschlossenen Auftrags auf den neuen Auftrag zurück.

Ich danke Ihnen. Der Grundgedanke ist klar. Ich dachte, es gäbe eine einfache und universelle Lösung für alle Situationen.
 
Andrey Khatimlianskii:

Ich stimme mit meinen Vorrednern (fast allen) überein.

  1. Wir holen alles aus dem Marktumfeld heraus, was wir können.
  2. Alles andere speichern wir mit einem Verweis auf etwas (Bestellschein, Uhrzeit des Tagesbeginns, etc.).
Definieren Sie einfach für jede der gespeicherten Variablen ein anderes "Ablaufdatum" (es kann nicht für alle dasselbe sein), und laden Sie sie nur, wenn sie noch nicht abgelaufen ist.

In Ihrem Beispiel mit der Anzahl der Bewerbungen: Fügen Sie einfach eine weitere Variable hinzu - die Startzeit des letzten Tages. Der Tag hat sich geändert - der Zähler wurde zurückgesetzt, und das neue Datum wurde gespeichert.

Für das Beispiel mit der Übereröffnung einer Position: Sie müssen entscheiden, welche Ereignisse diese Informationen unbrauchbar machen können. Zum Beispiel, wie Mikhail riet - wenn es keine Position gibt, vergiss einfach alles, und wenn es eine gibt, betrachte die Informationen als auf dem neuesten Stand.

Im Allgemeinen wird kein allgemeines Rezept benötigt, sondern konkrete Maßnahmen.

Ich verstehe.

Konkret: Morgen werde ich darüber nachdenken, wie man eine Position auf FORTS fangen kann. Was ich nämlich am meisten brauche, ist der tatsächliche Eröffnungskurs einer Position, die glattgestellt (zum Clearingkurs wiedereröffnet) wurde.

Die Position auf FORTS ergibt sich aus der Summe der Abschlüsse auf einen (oder mehrere) Aufträge. Beim Clearing gibt es einen technischen Handel ohne Ticket, wir müssen herausfinden, wie wir den POSITION_PRICE_OPEN-Preis bestimmen können, der vor dem Clearing galt.