Fehler, Irrtümer, Fragen - Seite 410

 
papaklass:
Sie können schwebende Aufträge mit der Funktion OrdersTotal() verfolgen. Vergleichen Sie den aktuellen Wert mit dem vorherigen Wert. Wenn Sie mehrere schwebende Aufträge vermeiden wollen, verwenden Sie das Kennzeichen zum Setzen eines Auftrags. Wenn dieses Flag == true ist, bedeutet dies, dass bereits ein Auftrag erteilt wurde. Setzen Sie dieses Flag zurück, wenn die Bestellung ausgelöst wird, d. h., OrdersTotal() wird sich ändern.

Glücklicherweise habe ich diese Grundlagen schon vor einem Jahr gelernt. Ich habe die Artikel verwendet, die sich mit den anfänglichen Fähigkeiten der Arbeit in MQL5 befassen. Die Meisterschaft hat bestätigt, dass dieses System gut für die Ausbildung ist, aber nicht für den täglichen Handel. In den Artikeln von Roche werden alle Punkte auf die Spitze getrieben und alle Punkte auf die Spitze gestellt.

Und das ist nicht die Frage, wie man den Auftragsstatus überprüfen kann. Der Punkt ist, dass die oben beschriebenen Handelsparameter die Arbeit sowohl mit Aufträgen als auch mit Positionen stark vereinfachen können. Aus der Sicht eines einzelnen Nutzers (d.h. mir) stellt sich die Frage"Was soll ich tun? Unbekannt", sowie die Arbeit mit Aufträgen Punkt für Punkt statt durch das "Symbol - OrdersTotal()"-Bündel.

papaklass:
Alles, was Sie wissen müssen, ist das Symbol, an dem dieses Ereignis stattgefunden hat.

Der Punkt ist, dass es, wenn wir die Schulungsparadigmen beiseite lassen, wichtiger ist, das Auftragsticket und nicht das Symbol zu kennen, um mit schwebenden Aufträgen zu arbeiten. Um genau zu sein, ist die Arbeit mit einem Symbol akzeptabel, aber mit viel zusätzlicher Arbeit verbunden.

P.S. Dies ist das erste Mal, dass ich von einem "Abonnement" höre. Das ist eine schöne Variante.

 
papaklass:
Ich erhebe nicht den Anspruch, in erster Linie die Wahrheit zu sagen, aber Ihre Aussage über den Kindergarten riecht nach Arroganz.

Nehmen Sie es nicht persönlich. Ich habe diese Formulierung vor Ihrer Nachricht korrigiert. Wissen Sie, manchmal schreibt man einen Text, schickt ihn ab, - und wenn man ihn dann liest, korrigiert man mögliche Unklarheiten in Nebensätzen.

Zu diesem Thema. Wir haben genau entgegengesetzte Herangehensweisen an den Handel: Mir ist es egal, wann und wie eine Position eröffnet/geschlossen wird, da EA diese Momente selbst handhabt (verschiebt TP, Trailing Stop, etc.). Mir ist es wichtig, dass die schwebenden Aufträge immer die Marktsituation abdecken. Deshalb betone ich, dass eine Aussage wie "nur ein Symbol-Parameter ist genug für OnTrade()" nicht alle gängigen/typischen Strategien widerspiegelt.

 
Interesting:

An die Entwickler von

Ist Win 2003 SP2 (im Terminalmodus), das ständig Informationen über mein Handelskonto verliert, ein Fehler oder wurde es entwickelt, um die Sicherheit zu verbessern?

Genauer gesagt, wenn ich abwechselnd dieselbe Programmkopie im normalen und im Terminalmodus mit verschiedenen Konten verwende, verschwinden die Kontodaten von Zeit zu Zeit. Offenbar ist die Situation ähnlich, wenn Sie nur im Terminalmodus mit verschiedenen Konten arbeiten (ich habe das noch nicht überprüft).


Ja, das ist richtig.

Wenn ein anderer Windows-Benutzer (sogar auf demselben Computer) versucht, auf ein Terminal zuzugreifen, das Passwörter von einem anderen Windows-Benutzer gespeichert hat, werden die Passwörter zwangsweise zurückgesetzt. Damit soll verhindert werden, dass jemand Passwörter stiehlt.

 
Virty:

Ja, es scheint eine einfache Frage zu sein, und schon streiten sich die Gurus. Es ist sehr mühsam, das Prüfgerät richtig zum Laufen zu bringen. Um 1 Lot EURUSD zum aktuellen Kurs zu kaufen, müssen Sie 3-4 Checks durchführen. Wenn Sie das nicht tun, wird das Prüfgerät zwar funktionieren, aber nicht richtig und vor allem nicht leise. Das Ergebnis ist nur ein negativer Saldo oder ein anderer Unsinn. Und es ist gut, wenn die Kontrollen erfolgreich sind. Aber wenn SymbolInfoTick false zurückgibt, wissen wir nicht, was wir tun sollen. Sollte ich den Fehlercode an die Wand hängen, anstatt Preise in der Meisterschaft zu gewinnen?

Ich habe es mit "Eigenkapital<0,55*Saldo" und "freie Marge<100" versucht. Es hat nicht funktioniert. Ich weiß nicht, warum es nicht geklappt hat. Diese Spannen verwirren mich wirklich.

Ich habe es gelassen if(AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)<55.0). Es scheint zu funktionieren.

Die Meisterschaftsregeln sind kurz und bündig geschrieben, im Jargon der Entwickler, während sie für Dummies Details benötigen.

Was gibt es da zu diskutieren? Das Margenniveau = Fonds/Wertpapiere*100%, oder in Form von MQL5:

AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)=AccountInfoDouble(ACCOUNT_EQUITY)/AccountInfoDouble(ACCOUNT_MARGIN)*100=
AccountInfoDouble(ACCOUNT_EQUITY)/(AccountInfoDouble(ACCOUNT_EQUITY)-AccountInfoDouble(ACCOUNT_FREEMARGIN))*100

Diese Parameter werden in Ihrem Terminal auf der Registerkarte "Handel" angezeigt, wo Sie sie überprüfen können. Was den Ausstieg betrifft, so sei auf eine ähnliche Diskussion im Jahr 2007 verwiesen.

Установка Stop Out - MQL4 форум
  • www.mql5.com
Установка Stop Out - MQL4 форум
 
papaklass:

Wjatscheslaw, Ihre Antwort ist ermutigend. Jemand im Forum hat eine meiner Meinung nach akzeptable Lösung vorgeschlagen - ein Abonnement. Implementieren Sie dieses Abonnement ähnlich wie die Funktion iCustom(), die obligatorische und nicht obligatorische Parameter hat. Bei der Initialisierung des EA muss jeder Händler die Ereignisse abonnieren, die er benötigt. Nicht für die Gesamtzahl der Ereignisse, sondern nur für diejenigen, die für ihre Branche entscheidend sind. Dieser Ansatz (Abonnement) wird die Entwicklung von Mehrwährungs-EAs erheblich erleichtern und den Code wirklich reduzieren. Machen Sie ein Experiment mit mindestens zwei Funktionen OnTrade() und OnTick(). Machen Sie das Minimum - ein Symbol. Dann können Sie die Anzahl der Ereignisse (Parameter) erhöhen. Die Praxis ist das Kriterium der Wahrheit. Bevor Sie es nicht versucht haben, werden Sie nicht verstehen, welche Schwierigkeiten auftreten können.

PS Die Analogie mit der Funktion GetLastError(), die den Wert der Systemvariablen LastError zurückgibt, ist wahrscheinlich besser geeignet als die Analogie mit der Funktion iCustom(). Geben Sie die Systemvariable TradeEvent ein, und wenn OnTrade() ausgelöst wird, drucken Sie den Wert dieser Variablen.

Es ist das erste Mal, dass ich von einem Abonnement höre, aber es ist eine sehr gute Idee als Grundlage für eine Idee (wie ein Abonnement für Dompteur-Events oder Markttiefe).

Auch die Idee einer Konstante, die auf dem _Fehlertyp basiert, ist recht interessant.

Meiner Meinung nach sollte das Symbol unbedingt übertragen werden, im Prinzip können wir beginnen, in diese Richtung zu bewegen jetzt, so dass vor der Meisterschaft, um zumindest einige Innovationen in diesem Bereich einzuführen.

Yedelkin:

Der Punkt ist, dass es bei schwebenden Aufträgen wichtiger ist, das Auftragsticket als das Symbol zu kennen, wenn wir die Schulungsparadigmen beiseite lassen. Um genau zu sein, ist die Arbeit mit einem Symbol akzeptabel, aber es ist eine Menge zusätzlicher Arbeit.

Zuerst müssen wir nur ein Symbol implementieren, dann haben wir Zeit, uns zu überlegen, was und wie wir es zusätzlich weitergeben. Es wäre gut, das Gleiche mit OnTrade() und OnTick() zu tun.

Bei der Entwicklung des Abonnement-Themas ist es möglich, das Abonnement für Ticks eines bestimmten Paares zu organisieren.

 
Yedelkin:

Nehmen Sie es nicht persönlich. Ich habe diese Formulierung vor Ihrer Nachricht korrigiert. Wissen Sie, manchmal schreibt man, schickt es ab, - und wenn man es dann liest, korrigiert man eventuelle Zweideutigkeiten in Nebensätzen.

Zu diesem Thema. Wir haben genau entgegengesetzte Herangehensweisen an den Handel: Mir ist es egal, wann und wie eine Position eröffnet/geschlossen wird, da EA diese Momente selbst handhabt (verschiebt TP, Trailing Stop, etc.). Mir ist es wichtig, dass die schwebenden Aufträge immer die Marktsituation abdecken. Deshalb betone ich, dass eine Aussage wie "nur ein Symbol-Parameter ist genug für OnTrade()" nicht alle gängigen/typischen Strategien widerspiegelt.

Ich stimme zu, dass dies nicht der Fall ist. Dennoch müssen wir von dem Symbol ausgehen, und der Auftrag/Handelsschein oder etwas anderes wird später hinzugefügt.

Renat:

Ja, das ist richtig.

Wenn ein anderer Windows-Benutzer (selbst auf demselben Computer) versucht, auf ein Terminal zuzugreifen, dessen Kennwörter von einem anderen Windows-Benutzer gespeichert wurden, werden die Kennwörter zwangsweise zurückgesetzt. Damit soll verhindert werden, dass jemand Passwörter stiehlt.

Verstehe, danke (das dachte ich auch, aber ich wollte mich vergewissern).
 
Interesting:

Zunächst sollte nur das Symbol implementiert werden, und dann wird es Zeit sein, darüber nachzudenken, was und wie man zusätzlich passieren kann.

...Es ist das Symbol, das gestartet werden sollte, und der Auftrag/Handelsschein oder etwas anderes wird später hinzugefügt, das ist eine andere Frage.

Generell sind die Akzente schon gesetzt, ich möchte nur darauf hinweisen, dass man nichts erreichen kann, wenn man nach dem Prinzip "jeder zieht sich die Decke über den Kopf" handelt (z.B. "gib mir nur Symbol-Parameter" oder "nur Ticket-Parameter"). Deshalb war meine Frage ursprünglich mit Blick auf eine Mindestkonfiguration von Parametern formuliert worden. Genau "Minimalkonfiguration", da ich davon ausging, dass fortgeschrittenere Benutzer ihre eigenen Wünsche bezüglich der Erweiterung/Klarstellung ihrer Liste haben würden.

Daher war es etwas überraschend, dass Vorschläge zur Begrenzung auf nur einen Parameter (Zeichen-Parameter) aufkamen, insbesondere vor dem Hintergrund der Antwort von stringo, die nichts über Probleme der Entwickler mit der Anzahl der Parameter für OnTrade() aussagte. Das Problem war, dass "ein und dasselbe Ticket zu einem Haufen von Nachrichten führen kann". Und sie kommen unabhängig davon, wie viele Parameter für die Funktion eingegeben werden.

...Letztes Jahr konnte ich lange Zeit nicht verstehen, von welchen "Krücken" die Profis regelmäßig sprachen. Nun, aufgrund der Diskussion des Themas über Parameter für OnTrade() habe ich eine starke Assoziation: "Krücken" == Halbheiten bei der Lösung dieses oder jenes Problems. Ich denke, das Problem der Parameter für OnTrade() wird auch ohne sie gelöst werden. Ein Lob, wie man so schön sagt, an die Entwickler für ihren komplexen Problemlösungsansatz! :)

 

Was bedeutet die Meldung "Pumpenergebnis 0" am Ende des Tests?

 
MoneyJinn:

build 466: Die Ergebnisse des Einzeltests unterscheiden sich von den Ergebnissen der eine Minute zuvor durchgeführten Optimierung.

Was ist der Grund dafür? Welche aktualisierten Parameter entnimmt der Tester dem Markt während des neuen Tests?

Können Sie die Ergebnisse beifügen?
 
Ashes:

Was bedeutet die Meldung "Pumpenergebnis 0" am Ende des Tests?

Eine willkürlich eingeschobene Debugging-Meldung. Die Zahl nach dem Pumpenergebnis entspricht der Zahl beim Start