Die Aufgabe der Suche nach Aufträgen - Seite 2

 
Михаил:

Mach dich nicht lächerlich....

Wenn etwas Unerwartetes passiert, rettet Sie kein Unterricht!

Bei einem unerwarteten Neustart des Servers von 5 Minuten oder mehr werden alle variablen Daten gelöscht...

Während des Neustarts auf den Servern des Brokers können Aufträge auf sl oder тп schließen oder zum Markt werden,

Die einzige stabile Lösung besteht darin, Informationen zum Zeitpunkt des EA-Ladens oder bei Bedarf zu sammeln ...

Leider passiert dieses Unvorhergesehene sehr oft, so dass ich auf der Suche nach guten/normalen Lösungen dieses Thema erstellt habe.

Danke, Michael, für deine Vorschläge ...

 
Михаил:

Seien Sie nicht lächerlich....

Wenn etwas Unerwartetes passiert, rettet Sie kein Unterricht!

Wenn Windows oder das Terminal abstürzt, wenn der EA neu initialisiert wird,

Ich "schaue" mir nur die aktiven Aufträge an und schließe sie, weil es keine Kontrolle darüber gibt.

Ist es nicht sinnvoll, die Kontrolle über sie zurückzugewinnen?
 
Vladimir Pastushak:
Ist es nicht sinnvoll, die Kontrolle über sie zurückzugewinnen?

Ich verstehe nicht, was das soll. Warum sollte man sich die Mühe machen, zu untersuchen, was sie "getan" haben?

Es ist viel einfacher, sie "festzunageln" und sich die Position anzusehen, zumal man sie ohnehin ansehen muss!

 
Михаил:

Ich verstehe den Sinn nicht. Warum sollte man sich die Mühe machen, zu untersuchen, was sie "getan" haben?

Es ist viel einfacher, sie "festzunageln" und sich die Position anzusehen, zumal man sie ohnehin ansehen muss!

Nein. Es gibt Aufträge, die auf dem Markt belassen werden müssen, und es gibt Aufträge, für die eine Entscheidung getroffen werden muss. All dies wird durch den Expert Advisor erledigt, der seinen "Arbeitsbereich" durchsucht und immer über relevante Daten verfügt. Und in wirklich unerwarteten Situationen - auch hier wird die Nachricht automatisch an das Mobiltelefon gesendet, so dass ich mit meinem Verstand eingreifen kann und nicht der Roboter. Meiner bescheidenen Meinung nach ist dies das vernünftigste Verhalten für einen EA.

Und es gibt keine Variablen, in denen das wichtige Umfeld gespeichert ist - nur die Suche nach dem neuesten, frischesten Stand, nur das Extreme. Das ist Geld ;)

 
Artyom Trishkin:

Nun, nein. Es gibt Aufträge, die auf dem Markt belassen werden müssen, und dann gibt es solche, für die eine Entscheidung getroffen werden muss. All dies wird vom Expert Advisor durch "Scannen" seines "Arbeitsbereichs" erledigt und er verfügt immer über die aktuellen Daten. Und in wirklich unerwarteten Situationen - auch hier wird die Nachricht automatisch an das Mobiltelefon gesendet, so dass ich mit meinem Verstand eingreifen kann und nicht der Roboter. Meiner bescheidenen Meinung nach ist dies das vernünftigste Verhalten von EAs.

Und keine Variablen, in denen die wichtige Umgebung gespeichert ist - nur die Suche nach dem neuesten, frischesten Stand, nur das Extreme. Das ist Geld ;)

Dies sind allgemeine Worte.

Bitte nennen Sie mir ein Beispiel (MT5) für einen Auftrag, der einfach im Markt belassen werden muss,

nach einem "Absturz" von Windows oder des Terminals?

Ist es besser und schneller, 100 unbeaufsichtigte Aufträge zu analysieren oder die erforderlichen Aufträge nach der Analyse der Position zu platzieren?

notwendig?

 

Bei der Umsetzung verschiedener "Raster" kam ich auf die folgende Struktur:

struct OrderInfo
{
   int            type;
   int            ticket;
   int            martinLeg;
   double         lots;
   double         openPrice;
   double         profit;
   datetime       openTime;
};

struct SeriesInfo
{
   int            ordersCnt;
   int            maxMartinLeg;                                                                    // Максимальный номер ордера в серии.
   
   double         lastOpenPrice;                                                                   // Минимальная для Buy-серии и максимальная для Sell-серии цена открытия ордера в серии
   double         totalProfit;                                                                                                   
   OrderInfo      order[MAX_ORDERS_IN_SERIES];
   
   void Init()
   {
      ordersCnt = 0;
      maxMartinLeg = 0;
      lastOpenPrice = 0.0;
      totalProfit = 0.0;
   }
};

Die Struktur wird bei jedem neuen Tick auf der Grundlage des Wertes der Magic Number ausgefüllt (sie enthält alle Informationen, die zur Identifizierung des Auftrags erforderlich sind: Auftragsnummer, zu welchem Raster er gehört usw.).

 
Михаил:

Dies sind allgemeine Worte.

Nennen Sie mir ein Beispiel (MT5), bei dem Sie einen zuvor erteilten Auftrag einfach im Markt lassen MÜSSEN,

nach einem "Absturz" von Windows oder des Terminals?

Ist es besser und schneller, 100 unbeaufsichtigte Aufträge zu analysieren oder die erforderlichen Aufträge nach der Analyse der Position zu platzieren?

notwendige Aufträge?

Es geht nicht um die Implementierung (Code), sondern um den Algorithmus. Der Expert Advisor muss nach dem Neustart alle seine Aufträge und Positionen auffangen. Wenn er sie verliert - das ist ein Schülertrick, wenn er sie schließt, nachdem er sie gesehen hat, ist das auch aus dem gleichen Bereich.

Ein EA sollte versuchen, die Aktionen des Händlers zu wiederholen, und glauben Sie mir, so viele Kunden, für die ich Codes geschrieben habe, wollen alle nicht, dass ein EA dummerweise schließt (wenn dies nicht Teil des TS ist), sondern dass er sie auffängt und aus ihrem Zustand Schlüsse zieht, um die notwendigen Aktionen mit ihnen durchzuführen.

Und warum glauben Sie, dass nach dem Neustart des Terminals die Aufträge, die der EA vor fünf oder zehn Minuten (oder sogar vor einer oder zwei Stunden, usw., alles hängt vom TS ab) eröffnet hat, plötzlich für den EA unkontrollierbar werden und gelöscht werden müssen?

 
Artyom Trishkin:

Es geht nicht um die Implementierung (Code), sondern um den Algorithmus. Der Expert Advisor sollte nach dem Neustart alle seine Aufträge und Positionen wieder aufnehmen. Wenn er sie verliert, ist das ein Schultrick, wenn er sie, nachdem er sie gesehen hat, aus dem Weg räumt, ist das auch aus dem gleichen Bereich.

Der Expert Advisor sollte versuchen, die Handlungen des Händlers zu wiederholen, und glauben Sie mir, ich habe jedem Kunden geschrieben, der den Expert Advisor braucht, um nicht stupide zu schließen (wenn dies nicht Teil des TS ist), sondern um sie aufzugreifen und Schlüsse aus ihrem Zustand zu ziehen, um weitere Aktionen mit ihnen durchzuführen.

Und warum glauben Sie, dass nach dem Neustart des Terminals die Aufträge, die der EA vor fünf oder zehn Minuten (oder sogar vor einer oder zwei Stunden, usw., alles hängt vom TS ab) eröffnet hat, plötzlich für den EA unkontrollierbar werden und gelöscht werden müssen?

Sie beschäftigen sich mit Wortschatz (Schulbasteleien, etc.).

Sie brauchen keinen Mentor, der Ihnen erklärt, wie es sein sollte!

Sie beantworten die gestellte Frage:

Nennen Sie mir ein Beispiel (MT5), bei dem Sie einen zuvor erteilten Auftrag einfach im Markt belassen MÜSSEN,

Nach einem "Absturz" des WIND oder des Terminals?

Was ist besser und schneller, 100 unbeaufsichtigte Aufträge zu analysieren odereine Position zu analysierenund die

notwendige Aufträge?

P/S Unkontrollierte Bestellungen - weil ihre Tickets verloren gehen!

Eine Position kann man nicht verlieren :)

Entweder sie (die Position) existiert oder sie existiert nicht!

 
Михаил:
...

P/S Unkontrollierte Haftbefehle - weil ihre Tickets verloren gegangen sind!

Und eine Position kann man nicht verlieren :)

Hier ist meine Antwort auf PS: Sie müssen einfach gefunden werden - darum geht es ja, warum sollten sie also gelöscht werden? Das ist es, was der Themenstarter meinte, und dem stimme ich voll und ganz zu. Ich wiederhole - dies ist lediglich meine Meinung. Übrigens: Wenn Sie versuchen, einen EA auf den Markt zu bringen, der bei einem Verbindungsabbruch oder einem Neustart des Terminals Aufträge und Positionen löscht, wird er wahrscheinlich nicht moderiert werden. Und dort, glauben Sie mir, prüfen die Moderatoren alles und verlangen in ihren Anforderungen an die Produkte ein angemessenes Verhalten der Programme, das manchmal sogar schwachsinnig erscheint. Beispiele für harte Moderation können Sie eine Menge Verkäufer geben, ich bin nicht der einzige (obwohl ich Beschwerden nur auf Design hatte) ...

Was die Wortwahl und andere Dinge angeht, die Sie in meinen Beiträgen "denken" - das ist nur Ihre Meinung. Ich kommuniziere mit Ihnen in einer sehr freundlichen Art und Weise, ohne Ermahnungen und andere scheinbar negative Dinge. Ich habe lediglich meine IMHO geäußert (über die ich berichtet und meine Beobachtung angeführt habe, nach der die Leute fragen).

Übrigens - wenn Windows abgestürzt ist, kann der Expert Advisor keine Aufträge löschen - nur manuell, so dass sich dieses Beispiel nicht vollständig auf Autotrading beziehen kann.

 
Artyom Trishkin:

Hier ist meine Antwort auf PS: Sie müssen sie einfach nur finden - darum geht es, warum sollten sie gelöscht werden? Darüber und über den Themenstarter sprach, mit dem ich voll übereinstimme. Ich wiederhole - dies ist lediglich meine Meinung. Übrigens, wenn Sie versuchen, einen EA in den Markt einzutragen, der bei einem Verbindungsabbruch oder einem Neustart des Terminals Aufträge und Positionen löscht, wird er wahrscheinlich nicht moderiert werden. Und dort, glauben Sie mir, prüfen die Moderatoren alles und verlangen in ihren Anforderungen an die Produkte ein angemessenes Verhalten der Programme, das manchmal sogar schwachsinnig erscheint. Beispiele für harte Moderation können Sie eine Menge Verkäufer geben, ich bin nicht der einzige (obwohl ich Beschwerden nur auf Design hatte) ...

Was die Wortwahl und andere Dinge angeht, die Ihnen in meinen Beiträgen "erscheinen" - sie erscheinen nur Ihnen. Ich kommuniziere mit Ihnen in einer recht freundlichen Weise, ohne Ermahnung oder andere scheinbar negative Dinge. Ich habe lediglich meine IMHO geäußert (über die ich berichtet und meine Beobachtung angeführt habe, nach der die Leute fragen).

Übrigens - wenn Windows abgestürzt ist, kann der Expert Advisor keine Aufträge löschen - nur manuell, so dass sich dieses Beispiel nicht vollständig auf Autotrading beziehen kann.

Ich will damit nicht sagen, dass es keine freundliche Kommunikation ist...

Aber auch hier gilt (wie ich glaube), dass es keinen Sinn hat, in Haftbefehlen zu wühlen!

Übrigens als Antwort auf diese Frage:

"Übrigens - wenn der Wind nicht weht, kann der EA die Orders auch nicht löschen - hier geht das nur manuell, daher kann dieses Beispiel nicht vollständig auf den Autotrading-Bereich angewendet werden."

MÖGLICH, Sie wissen wahrscheinlich nicht wie. Bei Interesse kann ich den Code veröffentlichen.