Diskussion zum Artikel "Zeitreihen in der Bibliothek DoEasy (Teil 39): Bibliotheksbasierte Indikatoren - Vorbereitung der Daten und Zeitreihen" - Seite 2

 
Dima Diall:

Hallo - bei der Überprüfung der Event-Handler-Code genauer, habe ich bemerkt, dass Sie verschiedene Methoden verwenden, um die Quelle des Ereignisses zu analysieren... in einigen Fällen ist es auf der Chart-Ereignis-ID-Parameter von OnChartEvent() basiert, während in anderen Sie es aus dem lparam-Parameter über engine.EventSource(lparam) extrahieren - gibt es einen bestimmten Grund, warum es in jedem Fall unterschiedlich ist?

Hallo Artyom - können Sie das bitte für mich klären?
 
Dima Diall :
Hallo Artyom - kannst du das bitte für mich klären?

Bitte, ein wenig später - sehr beschäftigt für jetzt

 

Hallo Artyom,

In Ihrem Beispiel funktionierten die Pending Orders, aber die Market Orders funktionierten im visuellen Backtest-Modus nicht.

Bitte helfen Sie mir, vielen Dank

Juwel

 
jewelnguyen :

Hallo Artyom,

in Ihrem Beispiel funktionierten die Pending-Orders, aber die Market-Orders funktionierten im visuellen Backtest-Modus nicht

Bitte helfen Sie mir, vielen Dank

Juwel

Ich habe es überprüft - es funktioniert. Die Positionen werden im Testgerät geöffnet. Und sie schließen sich auch.

Schreiben Sie genauer, was Sie tun.

 
Vielen Dank für die schnelle Antwort,
Ich zeichne den Bildschirm mit einer Anwendung auf, die unter Windows 7 verfügbar ist.
2 schwebende Aufträge funktionieren, 2 Kauf- und Verkaufsaufträge reagieren nicht.

Ich danke Ihnen vielmals



Dateien:
Screenshot_1.jpg  123 kb
Screenshot_2.jpg  132 kb
Screenshot_3.jpg  127 kb
Screenshot_4.jpg  130 kb
screen.zip  340 kb
 
jewelnguyen :
Спасибо за быстрый ответ,
Я записываю экран с помощью приложения, доступного в Windows 7
2 отложенных ордера работают, 2 ордера на покупку и продажу не отвечают

Большое спасибо



Was wird in der Registerkarte "Journal" geschrieben?

 

Alles funktioniert:


 

Ich bin genau wie Sie, warum funktioniert es nicht? Versuchen Sie auf mt4 oder mt5? Ich versuche es auf mt5, hier Sie:

2021.04.11 14:29:21.646 2017.01.02 09:01:18 failed market sell 0.1 GBPUSD sl: 1.23561 tp: 1.23261 [Unsupported filling mode]

2021.04.11 14:29:21.646 2017.01.02 09:01:18 Handelsversuch #2. Fehler : Ungültige Orderausfüllungsart


Ich brauche es, um meine manuelle Strategie zu testen, bitte helfen Sie mir


Ich danke Ihnen vielmals

Juwel

PS: Ich habe versucht, auf mt4 arbeiten sehr gut, aber auf mt5 bekam es den gleichen Fehler wie oben
Dateien:
Screenshot_1.jpg  337 kb
 
jewelnguyen :

Ich bin genau wie Sie, warum funktioniert es nicht? Versuchen Sie auf mt4 oder mt5? Ich versuche es auf mt5, hier Sie:

2021.04.11 14:29:21.646 2017.01.02 09:01:18 failed market sell 0.1 GBPUSD sl: 1.23561 tp: 1.23261 [Unsupported filling mode]

2021.04.11 14:29:21.646 2017.01.02 09:01:18 Handelsversuch #2. Fehler : Ungültige Orderausfüllungsart


Ich brauche es, um meine manuelle Strategie zu testen, bitte helfen Sie mir


Ich danke Ihnen vielmals

Juwel

PS: Ich habe versucht, auf mt4 arbeiten sehr gut, aber auf mt5 bekam es den gleichen Fehler wie oben

Sie müssen die richtige Orderausführungspolitik selbst einstellen(ENUM_ORDER_TYPE_FILLING). Verwenden Sie dazu den OnInit () Handler:

...
...
...
 //--- 
   engine.TradingSetTypeFilling(ORDER_FILLING_XXX);
   return (INIT_SUCCEEDED);
  }
 //+------------------------------------------------------------------+

Es gibt nur drei mögliche Werte:

  • ORDER_FILLING_FOK - Diese Ausführungspolitik bedeutet, dass ein Auftrag nur in der angegebenen Menge ausgeführt werden kann. Wenn die erforderliche Menge eines Finanzinstruments derzeit nicht auf dem Markt verfügbar ist, wird der Auftrag nicht ausgeführt. Das benötigte Volumen kann mit Hilfe von mehreren Angeboten, die derzeit auf dem Markt verfügbar sind, gefüllt werden.

  • ORDER_FILLING_IOC - Dieser Modus bedeutet, dass ein Händler sich bereit erklärt, ein Geschäft mit dem auf dem Markt maximal verfügbaren Volumen innerhalb des im Auftrag angegebenen Volumens auszuführen. Falls das gesamte Volumen eines Auftrags nicht ausgeführt werden kann, wird das verfügbare Volumen des Auftrags ausgeführt und das verbleibende Volumen wird storniert.

  • ORDER_FILLING_RETURN - Diese Policy wird nur für Market-Orders (ORDER_TYPE_BUY und ORDER_TYPE_SELL), Limit- und Stop-Limit-Orders (ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_LIMIT_STYPELL) verwendet. Im Falle einer Teilfüllung wird eine Market- oder Limit-Order mit Restvolumen nicht storniert, sondern weiter verarbeitet.
    Für die Aktivierung der Orders ORDER_TYPE_BUY_STOP_LIMIT und ORDER_TYPE_SELL_STOP_LIMIT wird eine entsprechende Limit-Order ORDER_TYPE_BUY_LIMIT / ORDER_TYPE_SELL_LIMIT mit der Ausführungsart ORDER_FILLING_RETURN angelegt.
 
Artyom Trishkin:

Sie müssen die korrekte Auftragsausführungspolitik selbst festlegen(ENUM_ORDER_TYPE_FILLING). Verwenden Sie dazu den OnInit ()-Handler:

Es gibt nur drei mögliche Werte:

  • ORDER_FILLING_FOK - Diese Ausführungspolitik bedeutet, dass ein Auftrag nur in der angegebenen Menge ausgeführt werden kann. Wenn die erforderliche Menge eines Finanzinstruments derzeit nicht auf dem Markt verfügbar ist, wird der Auftrag nicht ausgeführt. Das benötigte Volumen kann mit Hilfe von mehreren Angeboten, die derzeit auf dem Markt verfügbar sind, gefüllt werden.

  • ORDER_FILLING_IOC - Dieser Modus bedeutet, dass ein Händler sich bereit erklärt, ein Geschäft mit dem auf dem Markt maximal verfügbaren Volumen innerhalb des im Auftrag angegebenen Volumens auszuführen. Falls das gesamte Volumen eines Auftrags nicht ausgeführt werden kann, wird das verfügbare Volumen des Auftrags ausgeführt und das verbleibende Volumen wird storniert.

  • ORDER_FILLING_RETURN - Diese Policy wird nur für Market-Orders (ORDER_TYPE_BUY und ORDER_TYPE_SELL), Limit- und Stop-Limit-Orders (ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_LIMIT_STYPELL) verwendet. Im Falle einer Teilfüllung wird eine Market- oder Limit-Order mit Restvolumen nicht storniert, sondern weiter verarbeitet.
    Für die Aktivierung der Orders ORDER_TYPE_BUY_STOP_LIMIT und ORDER_TYPE_SELL_STOP_LIMIT wird eine entsprechende Limit-Order ORDER_TYPE_BUY_LIMIT / ORDER_TYPE_SELL_LIMIT mit der Ausführungsart ORDER_FILLING_RETURN angelegt.
OK, vielen Dank