Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
1. Die gegenseitige Schließung von Aufträgen erfolgt automatisch ohne Eingreifen des Market Makers?
2. Die Änderung von offenen Aufträgen (wenn die akzeptierten Abstände eingehalten werden) erfolgt automatisch, ohne dass der Market Maker eingreifen muss?
3. Die Löschung und Änderung von schwebenden Aufträgen (wenn die akzeptierten Abstände eingehalten werden) erfolgt automatisch ohne Eingreifen eines Market Makers?
2. Die Änderung von offenen Aufträgen (wenn die akzeptierten Abstände eingehalten werden) erfolgt automatisch, ohne dass der Market Maker eingreifen muss?
3. Die Löschung und Änderung von ausstehenden Aufträgen (wenn die akzeptierten Abstände eingehalten werden) erfolgt automatisch, ohne dass der Market Maker eingreifen muss.
Das ist nicht korrekt. Sie müssen Ihren Broker fragen, wie die Aufträge verarbeitet werden. Die automatische Verarbeitung ist erlaubt, aber sogar auf unserem Demoserver ist die automatische Verarbeitung manchmal deaktiviert und manuelle Bestätigungen werden durchgeführt.
vielen Dank für die klare Antwort.
Ist davon auszugehen, dass dies auch für den automatischen TrailingStop-Pull-up gilt?
Gibt es überhaupt Unterschiede für den Market Maker in Bezug auf die Quelle der kontrollierenden Einflussnahme (EA oder MT)?
2) Der Zugriff auf die Array-Elemente ist relativ langsam. Kann er nur durch umständliche Konstrukte oder etwas anderes beschleunigt werden?
Nochmals vielen Dank. Das ist mehr als deutlich.
Myxu,
versuchen Sie ArrayCopy() zu verwenden;
Wenn in einem Fenster der Expert Advisor und das Skript gleichzeitig arbeiten, geben sie etwa zur gleichen Zeit Aufträge an den Server zur Änderung:
- EA ändert Buy zum Zeitpunkt t_o, Sovet=OrderModify(...)
- Script ändert BuyLimit zum Zeitpunkt t_o +1ms, Script=OrderModify(...)
Weitere Ereignisse:
-Server liefert TRUE bei erfolgreicher Ausführung des Änderungsauftrags (ich weiß nicht welcher),
(welche der Variablen erhält den Wert TRUE - Sovet oder Script ?)
und nach 1ms...
-Server liefert FALSE bei erfolgreicher Ausführung einer Änderung (ich weiß nicht welche) der Bestellung
Frage.
1. Ist es richtig anzunehmen, dass die Anfragen an den Server so konfiguriert sind, dass sie benannt werden und die Antworten des Servers nicht vermischt werden, sondern jede von ihnen an ihre eigene OrderModify() zurückgegeben wird?
2. Wenn nicht, gibt es eine Routinemethode, um zwischen den Serverantworten zu unterscheiden? (abgesehen von der Praxis, einen weiteren Auftrag zu erteilen, nachdem man eine Antwort auf den vorherigen Auftrag erhalten hat)?
(Ich habe einige weitere ähnliche Fragen; wenn nicht entscheidend, bitte beantworten Sie sie in MQL4 Forum, die Frage ist dort dupliziert, und wenn es möglich ist, kann die Diskussion dort gehalten werden, weil es bequemer ist, die Codes dort zu präsentieren).
===
Es gibt nur einen Thread, der in einem Programm-Handelskontext gestartet wird, um Handelsoperationen von Experten und Skripten durchzuführen. Wenn dieser Kontext also durch eine Handelsoperation eines EA belegt ist, kann ein anderer EA oder ein Skript in diesem Moment aufgrund des Fehlers 146 (ERR_TRADE_CONTEXT_BUSY) keine Handelsfunktionen aufrufen. Die Funktion IsTradeAllowed() muss verwendet werden, um die Möglichkeit zur Durchführung von Handelsoperationen zu erkennen. Für die klare Trennung des Zugriffs auf den Handelskontext können Sie die Semaphore auf der Grundlage der globalen Variablen verwenden, deren Wert mit der Funktion GlobalVariableSetOnCondition() geändert werden muss.
===
Es können nicht mehrere EAs (oder ein EA und ein Skript) gleichzeitig gehandelt werden. In der Fehlerverzweigung #6 gibt es ein Beispiel, wie man die Situation mit Hilfe von Semaphore handhaben kann
danke für Ihre Antwort. Sehr wichtige Informationen. Einige Dinge sind geklärt.
Aber es gibt noch Fragen.
Ist die Tatsache, dass
um Orders in einem EA oder Skript nach den folgenden Schemata auszuführen:
;
Ist es richtig anzunehmen, dass:
- im ersten Beispiel wird OrderModify(..number2) erst dann ausgeführt, wenn der Zuweisungsoperator a= nach Erhalt der Serverantwort auf OrderModify(..number1)? ausgeführt wird
- Im zweiten Beispiel wird OrderModify(..number2) sofort ausgeführt, ohne auf die Antwort des Servers auf OrderModify(..number1) zu warten?