Fehler, Irrtümer, Fragen - Seite 579

 

olyakish:

>Und Sie haben zwei Geschäfte, eines mit Gewinn und eines, das mit Null abgeschlossen wurde, aber das Eigenkapital schwankte immer noch.

Eigentlich handelt es sich um einen einzigen Handel, der aus einem Verkauf (Öffnen der Position zum Verkauf) und einem Kauf(Schließen der Position zum Verkauf) besteht.

Genau genommen handelt es sich um ein Doppelgeschäft In - eröffnet eine Position, und Out - schließt sie (soweit ich mich erinnere, gibt es auch InOut - ein Gegengeschäft zu einer bestehenden Position).

Es gilt die Regel, dass es eine Position gibt, die beliebig viele Aufträge und Geschäfte enthalten kann.

 
papaklass:

Was nicht klar ist, ist Folgendes:

Wir haben zwei einwertige EAs, die jeweils in ihrem eigenen Thread und mit ihrem eigenen Instrument arbeiten, mit ihrem eigenen aufeinanderfolgenden Satz von Ticks. Diese beiden aufeinanderfolgenden Gruppen von Ticks sind unabhängig voneinander. Zum Beispiel kommen GBPUSD-Ticks herein. Wirken sie sich auf EURUSD aus? EURUSD verfügt über einen eigenen unabhängigen Tick-Stream von Kursen. Habe ich Recht oder liege ich mit etwas falsch? Wenn ich richtig liege, warum können diese beiden unabhängigen Ströme nicht auf verschiedene Kerne verteilt werden? Das ist es, was mir nicht klar ist.

Wenn es sich um zwei Expert Advisors handelt, die unterschiedliche Charts ausführen, profitieren sie in vollem Umfang von der Multicore-Fähigkeit, da sie in verschiedenen Threads arbeiten.

Wenn es sich um parallele Tests handelt, können Sie zwei Client-Terminals von verschiedenen Ordnern aus starten und zwei Tests gleichzeitig durchführen. Die Agenten werden auf verschiedenen Kernen laufen.

 
Interesting:

Es handelt sich lediglich um zwei Abschlüsse: In - eröffnet eine Position und Out - schließt sie (soweit ich mich erinnere, gibt es auch InOut - ein Gegengeschäft zu einer bestehenden Position).

Die Regel lautet: Es gibt eine Position, und es können so viele Aufträge und Geschäfte darin enthalten sein, wie Sie möchten.



Okay, ich gebe zu, ich hatte nicht ganz recht.

In meinem Fall gibt es einen normalen (minimalen) Zyklus: eine Position eröffnen , eine Position schließen.

Erstellen Sie dann eine Bid-Order-Deal-Ask-Position und anschließend eine Bid-Order-Buy-Position (Sell Close).

Inhaltliche Frage - bitte kommentieren Sie die Eigenkapital-/Gleichgewichtsübersicht im Tester.

 
papaklass:

Verzeihen Sie meine Unverblümtheit. Ich verstehe den hervorgehobenen Test, wenn er sich auf einen einzigen Strom (Finanzinstrument) bezieht. D.h. wir haben einen monovalenten Expert Advisor, der mit einem Symbol arbeitet. Die Zecken werden darin konsistent verarbeitet und es macht keinen Sinn, sie parallel zu verarbeiten. Ich verstehe.

Was nicht klar ist, ist Folgendes:

Wir haben zwei einwertige EAs, die jeweils in ihrem eigenen Thread und mit ihrem eigenen Tool arbeiten, mit ihrem eigenen aufeinanderfolgenden Satz von Ticks. Diese beiden aufeinanderfolgenden Sätze von Ticks sind unabhängig voneinander. Zum Beispiel kommen GBPUSD-Ticks herein. Wirken sie sich auf EURUSD aus? EURUSD verfügt über einen eigenen unabhängigen Tick-Stream von Kursen. Habe ich Recht oder liege ich mit etwas falsch? Wenn ich richtig liege, warum können diese beiden unabhängigen Ströme nicht auf verschiedene Kerne verteilt werden? Das ist es, was mir nicht klar ist.

stringo:

Wenn wir über zwei EAs sprechen, die auf verschiedenen Charts arbeiten, profitieren sie voll von Multicore, da sie in verschiedenen Threads arbeiten.

Wenn es sich um parallele Tests handelt, können Sie zwei Client-Terminals von verschiedenen Ordnern aus starten und zwei Tests gleichzeitig durchführen. Die Agenten werden auf verschiedenen Kernen laufen.

1. die EAs auf verschiedenen Charts (idealerweise auf verschiedenen Symbolen) nutzen die Vorteile von Multi-Threading/Multi-Core wirklich voll aus. Sie können auch mehrere Terminals auf die alte Weise betreiben (z. B. wenn Sie mit mehreren Konten handeln).

2. Als ich von Multithreading sprach, meinte ich das Arbeiten innerhalb eines einzelnen Expert Advisors. Dabei spielt es keine Rolle, wie und mit welchen Mitteln die gleichzeitige Verarbeitung organisiert werden kann.

Es macht keinen Sinn, eine solche Verarbeitung innerhalb dieses Rahmens zu organisieren, oder es wird viele Probleme sowohl für Entwickler als auch für Endbenutzer verursachen(wie von Renat und Stringo erwähnt wurde).

Aber es gibt eine Lösung, zumindest eine theoretische, auch wenn ich nicht weiß, ob sie umsetzbar ist und wie viel Sinn das Ganze macht.

Ein solches "Multithreading" ist erst nach Durchführung von mindestens zwei Schritten möglich (die Entwickler werden es besser wissen):

a) parametrische Handler für bestimmte Ereignisse (möglicherweise Hinzufügung neuer oder Änderung bestehender Ereignisse);

b) Änderung der Architektur des gesamten Terminals, so dass innerhalb eines Expert Advisors (nur für Expert Advisors) einige Handler gleichzeitig ausgeführt werden können.

Und so wie ich es verstehe, gibt es ohne parametrische Handler keinen Sinn, darüber zu sprechen.

3. Aus der Sicht der Entwickler ist die Einführung der parametrischen Verarbeitung von Ticks eine offene Frage. Aber trotz aller Probleme, die mit der Einführung verbunden sind, werden sie sich vielleicht für einen solchen Schritt entscheiden (nachdem sie seine Verwirklichung in die ferne Zukunft verschoben haben). Die Verwirklichung all dessen, was danach kommt, ist aus einer Fantasiewelt und bleibt hier natürlich nur zu träumen.

Erst wenn man den Parameter zu OnTick hinzufügt, wird es möglich sein, Ticks pro Zeichen aufzuteilen und gleichzeitig zu behandeln, bis dahin macht die Implementierung keinen Sinn.

PS

Schlussfolgerung eins - Zuerst OnTick mit Parametern (der Name eines Symbols reicht aus), und dann die Fortsetzung der Diskussion darüber, wozu das alles dient.

Документация по MQL5: Предопределенные переменные / _Symbol
Документация по MQL5: Предопределенные переменные / _Symbol
  • www.mql5.com
Предопределенные переменные / _Symbol - Документация по MQL5
 
papaklass:
D.h. innerhalb eines Testers, auch wenn der EA mehrere Währungen enthält, sind die Ticks konsistent (unabhängig vom Instrument), ein Thread, ein Kern. Oder?

1. Die Tics in der bestehenden Architektur werden nur vom Hauptwerkzeug (dem Diagrammwerkzeug) bearbeitet. Daher muss die Regelung kohärent sein.

Multicurrency bedeutet in diesem Fall nur, dass der Expert Advisor Daten von anderen Symbolen und/oder anderen TFs anfordern kann, während er in der Lage ist, Trades auf den ausgewählten Symbolen durchzuführen.

Die einzelnen Tests (und alle Arbeiten des Expert Advisors) werden sequentiell in einem Thread durchgeführt. D.h. immer nur ein Befehl (eine Codezeile) zur gleichen Zeit.

Bei der Optimierung eines Expert Advisors erhalten verschiedene Agenten (d. h. Kernel) ihre eigene Kopie des Expert Advisors mit eigenen Parametern und Eingaben.

Jeder Agent führt den Test sequentiell durch, aber nur innerhalb seiner selbst (andere Agenten bekommen von seiner Arbeit nichts mit). In diesem Fall weiß der Agent nur über seine Aufgabe Bescheid, nicht aber über alle Aufgaben, die er von einem bestimmten Tester erhalten und an Agenten weitergegeben hat, und der Endbenutzer/Tester weiß über alle Aufgaben Bescheid und erhält die Ergebnisse für alle Durchgänge.

 
papaklass:
D.h. selbst wenn ein EA mehrere Währungen umfasst, sind die Ticks sequentiell (unabhängig vom Tool), ein Thread, ein Kern. Oder?

Ja, das ist wie im Leben. Im wirklichen Leben sind alle Tics konsistent. In einem Zeitquantum kann es im Prinzip nicht mehr als einen Tick geben.

Im Tester arbeiten zwei Threads - einer für die Kommunikation mit dem Terminal, der andere verarbeitet Ticks und testet den Expert Advisor.

Die Architektur des Client-Terminals ist jedoch so beschaffen, dass die Ticks vom Client-Terminal in einem Thread empfangen und auf verschiedene Threads für jedes Werkzeug getrennt verteilt werden. Außerdem arbeitet jeder Expert Advisor in seinem eigenen Thread. Wenn es mehrere Kerne gibt, werden alle diese Threads auf diese verteilt.

Ein Multi-Currency Expert Advisor im Tester und im Terminal belegt immer einen Thread, was aber nicht bedeutet, dass andere Threads in diesem Moment untätig sind

 

Guten Tag, ich bin besorgt über das MT5-Auftragssystem. Ich habe nichts gegen Netze im Allgemeinen, aber ich denke, dass sie in 5. Ich habe versucht, herauszufinden, wie man einen schönen MT5 Pivot macht, um im Markt zu bleiben, wenn die Umkehrung nicht stattgefunden hat, aber entweder bin ich nicht schlau oder die Aufgabe ist unmöglich. Ich habe festgestellt, dass MQ nicht darüber diskutieren will. Muss ich sie im Detail beschreiben? Und wie beantworten Sie diese Frage?

Das aktuelle Bestellsystem:

а. Gut und wir werden es nicht ändern.

б. Verbesserungsbedürftig

IMHO: Die einzige Möglichkeit, den Handel zu organisieren, besteht derzeit darin, dass der PC den Prozess stets kontrolliert. Aber das ist eine Belastung und nervt. Warum muss ich mir all diese Sorgen machen - ob es einen Zusammenhang gibt oder nicht. Ich werde sinnvolles Geld in den Markt investieren, deshalb ist das für mich wichtig.

 
Vict:

Guten Tag, ich bin besorgt über das MT5-Auftragssystem. Ich habe nichts gegen Netze im Allgemeinen, aber ich denke, dass sie in 5. Ich habe versucht, herauszufinden, wie man einen schönen MT5 Pivot zu machen, um im Markt zu bleiben, wenn es keine Umkehrung, aber ich bin entweder zu dumm oder die Aufgabe ist nicht machbar.


Bitte senden Sie mir eine private Nachricht, wir werden darüber sprechen.
 
Vict:

...In den letzten Tagen habe ich versucht, herauszufinden, wie man einen schönen MT5 Pivot macht, so dass ich im Markt wäre, wenn kein Pivot passiert, aber entweder bin ich dumm oder die Aufgabe ist unmöglich.

Was meinen Sie mit "im Markt bleiben, wenn die Umkehr nicht eintritt"? Wie kann man eine Position, mit der man Probleme hat, rückgängig machen?
 

Ich betrachte den Markt als Wellenbrecher. Ich finde die erste Welle und steige beim Abprall ein, um eine Drei zu erreichen. Ich bin nicht an eine bestimmte Reihenfolge gebunden, so dass die ersten Wellen sowohl nach oben als auch nach unten gleichzeitig auftreten können. Wenn ich also eine Position nach unten oder oben habe, und ein Signal kommt auf der anderen Seite, muss ich umkehren, aber es hebt den vergangenen Trend nicht auf! Wenn der Kurs den letzten Bounce überschreitet, müssen wir unsere vorherige Position zurücknehmen. Das muss verwirrend sein, unten ist das Bild.

Erläuterung des Bildes:

* Wenn das Hochsignal auftaucht, eröffnen wir eine Kaufposition.

* Wenn ein Tiefststand signalisiert wird, ist es sinnlos, jetzt eine Kaufposition einzunehmen. Meine Aktion in 4 ist es, in den Gewinn stopLoss auf Ebenen 1, takeProfit nach dem älteren Rebound zu sperren. Wenn der Markt fällt, nehme ich einen Teil meines Gewinns mit, wenn er wieder steigt, warte ich auf das Zielniveau von drei.

*Was mache ich im MT5? Ich habe zum Beispiel eine Position mit Gewinn umgedreht. Wie eröffne ich meinen früheren Kauf wieder, wenn der Markt wieder anzieht? Würde ich meinen EA damit beauftragen (nicht zuverlässig, ich möchte diese Befehle auf dem Server platzieren)? Sollte ich einen BuyStop bei Level 1 platzieren? Aber was soll ich tun, wenn der Preis unter den oberen Rebound fällt, wie soll ich ihn entfernen?

Dateien:
x71ec4t1j4.png  15 kb