Woran erkenne ich, dass ein Berater von der DC ausgeschaltet wird? - Seite 5

 
Mathemat:
Googeln Sie "OrderSendReliable", es scheint auf den Rat des derzeitigen Führers der Champ. Es ist eine sehr anständige Bibliothek.
Ich danke Ihnen!
 
Meat:
Renat:
...es reicht, IsTradeAllowed() aufzurufen, um zu verstehen, ob der EA das Recht hat zu handeln oder nicht. Keine Ausnahmen.
Sie liegen hier falsch. Was das Verbot von Expert Advisors durch einen Broker betrifft, so können Sie dies mit keiner Funktion überprüfen! Ich spreche aus meiner eigenen Erfahrung.
IsTradeAllowed sagt true, aber die Order wird nicht gesendet und, wie ich bereits oben geschrieben habe, wird der Fehler 133 zurückgegeben und im Journal steht "trading by experts is prohibited".
Es wäre gut, wenn Sie eine spezielle Funktion einführen würden, um zu prüfen, ob der Handel durch den Broker verboten ist. Andernfalls müssen wir nach dem Versuch eines Handelsvorgangs auf Fehler 133 prüfen

Es stellt sich heraus, dass es nicht das Terminal ist, das blockiert... Das bedeutet, dass das Terminal eine Art Hinweis sendet, dass der Auftrag vom Expert Advisor und nicht vom Benutzer eröffnet wurde. Um einen Fehler ähnlich 133 zu erzeugen, müssen Sie wissen, dass der Expert Advisor funktioniert. Sie wissen also Bescheid, und das Terminal versorgt sie mit diesen Informationen. Vielleicht verbergen die Entwickler diese Tatsache einfach. Wir sollten prüfen, was genau vom Terminal an den Server gesendet wird, wenn wir eine Order mit dem Expert Advisor öffnen, und was manuell geöffnet wird, und den Unterschied zwischen den gesendeten Daten vergleichen
 
Es ist sehr schwer, eine schwarze Katze in einem dunklen Raum zu fangen. Vor allem, wenn sie nicht da ist.
 
timbo:
Es ist sehr schwer, eine schwarze Katze in einem dunklen Raum zu fangen. Vor allem, wenn sie nicht da ist.

Aber man will es ja fangen :-) die übliche Paranoia :-)
 
timbo:
Es ist sehr schwer, eine schwarze Katze in einem dunklen Raum zu fangen. Vor allem, wenn sie nicht da ist.

Nichts ist unmöglich
 
timbo:
Es ist sehr schwer, eine schwarze Katze in einem dunklen Raum zu fangen. Vor allem, wenn sie nicht da ist.
Sie sagten, es sei Unsinn, basierend auf IHREN Erfahrungen.
 
scorpionk:

Es stellt sich also heraus, dass es nicht das Terminal ist, das blockiert? Das bedeutet, dass das Terminal irgendeine Art von Hinweis sendet, dass der Auftrag vom Expert Advisor und nicht von den Händen des Benutzers eröffnet wurde. Um einen Fehler wie 133 anzuzeigen, müssen Sie wissen, dass der Expert Advisor funktioniert. Sie wissen also Bescheid, und das Terminal versorgt sie mit diesen Informationen. Vielleicht verbergen die Entwickler diese Tatsache einfach. Wir sollten prüfen, was genau vom Terminal an den Server gesendet wird, wenn wir eine Order mit dem Expert Advisor öffnen, und was manuell geöffnet wird, und den Unterschied zwischen den gesendeten Daten vergleichen


Es gibt eine schwarze Katze, aber sie ist in einem anderen Zimmer.

Der Broker drückt die Schaltfläche "EAs für dieses Terminal verbieten". Bei der Ausführung dieser Kontrollaktion sendet der Server einmalig einen speziellen Auftrag an das Terminal:

S - "Hör zu, Terminal, schick mir keine Handelsaufträge mehr, die von EAs generiert werden, die unter deiner Schirmherrschaft arbeiten!"
T - "Was ist, wenn ein Benutzer einen EA ausführt?"
S - "Und du zeigst ihm den Fehlercode."
T - "Ich hab's! Ich nehm's."

Alles geschieht auf der Seite des Terminals, und der Server weiß nichts von dem Chaos im Terminal.

Und der Benutzer mag vor Wut explodieren, aber jetzt kann er sich nur noch darüber beschweren, dass er nicht zulassen sollte, dass alle möglichen Gridder, Pipsers und Zickzack-Killer-Codes den Server selbst beleidigen!

 
SK. писал (а):
scorpionk:

Es stellt sich heraus, dass es nicht das Terminal ist, das blockiert? es bedeutet, dass das Terminal irgendeine Art von Hinweis sendet, dass die Bestellung vom EA und nicht von den Händen des Benutzers geöffnet wird. Um einen Fehler wie 133 zu machen, muss man wissen, dass der Expert Advisor funktioniert. Sie wissen also Bescheid, und das Terminal versorgt sie mit diesen Informationen. Vielleicht verbergen die Entwickler diese Tatsache einfach. Wir sollten prüfen, was genau vom Terminal an den Server gesendet wird, wenn wir eine Order mit dem Expert Advisor öffnen, und was bei der manuellen Öffnung passiert, und den Unterschied zwischen den gesendeten Daten vergleichen


Es gibt eine schwarze Katze, aber die ist im anderen Zimmer.

Der Makler drückt die Schaltfläche "Berater zu diesem Terminal verbannen". Der Server sendet einmalig einen speziellen Auftrag an das Terminal, um diese Kontrollaktion durchzuführen:

S - "Hör zu Terminal, du schickst mir keine Handelsaufträge mehr, die von Experten, die unter deiner Schirmherrschaft arbeiten, erstellt wurden!"
T - "Was ist, wenn der Benutzer einen EA ausführt?"
S - "Und Sie zeigen ihm den Fehlercode".
T - "Bingo! Ich nehm's."

Dann geschieht alles auf der Terminalseite, und der Server weiß nicht, was im Terminal für ein Durcheinander herrscht, und es ist ihm auch egal.

Und der User mag vor Wut platzen, aber jetzt kann er sich nur noch darüber beschweren, dass er es nicht zulassen sollte, dass verschiedene Gridder, Pipsers und inkonsistente Killer-Codes den Server selbst angreifen!

Das kann durchaus der Fall sein. Zumindest bei mir öffnen sich die Angebote nach einem Neustart des Terminals.
 

Um nicht unhöflich gegenüber einem Server zu sein, muss man den Code korrekt schreiben. Ich denke, jeder versteht, dass wir über die Blockierung sprechen, wenn keine groben Fehler im EA-Code vorliegen (z. B. häufige Anfragen, falsch übergebene Stop- und Take-Parameter usw.). Trotz alledem ist der Autotrading blockiert. Dies gilt nicht für Maklerunternehmen

Wenn ein einfacher Neustart hilft, um den Handel wieder aufzunehmen, dann müssen Sie das Terminal mit Fehler 133 neu starten. Das Problem ist, dass sie nicht so "dumm" sind, dass sie es auf diese Weise getan haben. Ich würde den Server dazu bringen, dem Terminal mitzuteilen, dass er Sie nicht mit EAs handeln lässt.

 
scorpionk:

Um nicht unhöflich gegenüber einem Server zu sein, muss man den Code richtig schreiben. Ich denke, jeder versteht, dass wir über die Blockierung sprechen, wenn keine groben Fehler im EA-Code vorliegen (z. B. häufige Anfragen, falsch übergebene Stop- und Take-Parameter usw.). Trotz alledem ist der Autotrading blockiert. Dies gilt nicht für Maklerunternehmen

Wenn ein einfacher Neustart hilft, um den Handel wieder aufzunehmen, dann müssen Sie das Terminal mit Fehler 133 neu starten. Das Problem ist, dass sie nicht so "dumm" sind, dass sie es auf diese Weise getan haben. Ich würde den Server dazu bringen, dem Terminal mitzuteilen, dass er Sie nicht mit EAs handeln lässt.

Ich hätte den Server dazu gebracht, dem Terminal mitzuteilen, dass man nicht mit EAs handeln darf. Ich denke, die Gründe für die Deaktivierung können unterschiedlich sein, z. B. wenn der EA Gewinn macht, häufige Anfragen usw.