Diskussion zum Artikel "Bibliothek für ein leichtes und schnelles Entwickeln vom Programmen für den MetaTrader (Teil X): Kompatibilität mit MQL4" - Seite 5

 
Alexey Viktorov:

Ändern Sie nur eine, hervorgehobene Position. Daran gibt es keinen Zweifel. Sie wurde heute Morgen festgelegt. Ich änderte sie mehrmals. Es war mir egal, welche ich änderte. Ich hatte bereits eine Auszeit für diese Position festgelegt. Das war es, was ich tun wollte.

Hier sind alle Begrenzer und der letzte Sell.

Die gelöschten Limiter und der Sell sind hervorgehoben. Offensichtlich gibt es irgendwo ein Löschungsereignis. Aber warum ist es nicht mit der Eröffnung dieses Sell "aufgewacht", sondern erst mit der Schließung?

Um 15:01:14 Uhr löschte ich die zuvor erteilte Limit-Order .

Bis 18:29 Uhr habe ich mein eigenes Geschäft gemacht. Der Expert Advisor stand auf dem Chart.

Um 18:29:21 Uhr änderte ich die zuvor gesetzte Position.

Um 18:33:02 Uhr setzte ich Sell

Um 18:34:11 Uhr schloss ich diesen Verkauf.

"Zuvor geöffnete Position" - wurde sie geöffnet, bevor die"zuvor gesetzte Limit-Order" gesetzt wurde?

Ja oder nein?

Alexej, ist es schwer, eine kurze Antwort zu geben, ohne einen Haufen Tagebucheinträge zu verfassen?

  1. Position öffnen, Order setzen
  2. Order setzen, Position öffnen.

Sie haben sie alle als "zuvor geöffnet" und "zuvor gesetzt" bezeichnet.

Was ist richtig: 1 oder 2?

 

Achten Sie auf Ihre Hände:

Eine Kaufposition wurde um 8:51 Uhr platziert und noch nicht geschlossen. Auch jetzt ist sie noch offen. Ich habe nur das Take-Level ein paar Mal geändert. Hier ist eine Aufzeichnung davon.

443218277 2019.05.27 08:51:53 buy 0.01 eurusd 1.12112 0.00000 1.12218   1.11933 0.00 0.00 0.00 -1.79

Limiter um 14:54 (keine Sekunden) platziert. Um 15:01 Uhr wurde er entfernt. Das wurde zum richtigen Zeitpunkt aufgenommen.

443342388 2019.05.27 14:54:10 buy limit 0.01 eurusd 1.11835 0.00000 0.00000 2019.05.27 15:01:14 1.11972 cancelled 


Nach der Pause wurde der Take-Level der um 8:51 Uhr platzierten Buy-Position noch einige Male geändert.

Um 18:33 Uhr wurde die Verkaufsposition eröffnet und um 18:34 Uhr geschlossen.

443417294 2019.05.27 18:33:02 sell 0.01 eurusd 1.11912 0.00000 0.00000 2019.05.27 18:34:11 1.11933 0.00 0.00 0.00 -0.21

Zum Zeitpunkt der Schließung dieser Verkaufsposition wurde erneut die Aufhebung des um 14:54 Uhr gesetzten und um 15:01 Uhr aufgehobenen Limits gemeldet.

 
Alexey Viktorov:

Achten Sie auf Ihre Hände:

Eine Kaufposition wurde um 8:51 Uhr platziert und noch nicht geschlossen. Auch jetzt ist sie noch offen. Ich habe nur das Take-Level ein paar Mal geändert. Hier ist eine Aufzeichnung davon.

Begrenzer um 14:54 Uhr (keine Sekunden) platziert. Entfernt um 15:01 Uhr. Das wurde zur richtigen Zeit aufgenommen.


Des Weiteren wurde nach der Pause der Pegel des um 8:51 Uhr platzierten Take-Levels der Buy-Position noch ein paar Mal geändert

Um 18:33 Uhr wurde die Verkaufsposition eröffnet und um 18:34 Uhr wurde sie geschlossen.

In dem Moment, in dem die Sell-Position geschlossen wurde, kam die wiederholte Meldung, dass das um 14:54 Uhr gesetzte und um 15:01 Uhr entfernte Limit aufgehoben wurde.

also

  1. wurde eine Kaufposition eröffnet.
  2. Limit-Order wurde gesetzt
  3. Der Takek der Kaufposition wurde geändert
  4. Limit-Order wurde entfernt
  5. Takek der Kaufposition wurde geändert
  6. Verkaufsposition wurde eröffnet
  7. Verkaufsposition geschlossen

Ist das die Reihenfolge?

Ich bitte Sie, einfach eine Sequenz von Aktionen zu schreiben, nicht Ihre Logs zu schieben, damit ich einen halben Tag darin verbringen kann - ich kann seit einem halben Tag keine einfache Sequenz von Aktionen von Ihnen bekommen - Sie versuchen weiterhin, mir Ihre Logs zu geben, damit ich mich damit befasse - Alexey, ich habe eine Menge Sorgen. Ich muss nur Ihre Situation reproduzieren. Dazu brauche ich die übliche Abfolge von Aktionen, wie ich sie oben geschrieben habe - das dauert fünf Minuten, und ich muss mich nicht mit den Feinheiten deines Logs auseinandersetzen, das du hier stückchenweise gepostet hast.

Ich kann Ihren Fehler nicht reproduzieren. Deshalb bitte ich um schnelle Hilfe und nicht darum, dass ich Ihr Protokoll durchgehen muss, das in verschiedenen Beiträgen verstreut ist.

 
Artyom Trishkin:

daher

  1. wurde eine Kaufposition eröffnet
  2. Limitauftrag wurde gesetzt
  3. Der Takek der Kaufposition wurde geändert
  4. Limit-Order entfernt
  5. Buy-Position-Takek wurde geändert
  6. Verkaufsposition wurde eröffnet
  7. Verkaufsposition geschlossen

Ist das die Reihenfolge?

Der hervorgehobene Vorgang wurde mehrmals wiederholt. Wie oft, weiß ich nicht, ich brauchte es nicht zu zählen. Ich glaube, Sie wissen nicht, wie sich das auf die gesamte Situation auswirkt.

Aber im Allgemeinen ist es genau so.

 
Alexey Viktorov:

Der hervorgehobene Teil wurde viele Male wiederholt. Wie oft, weiß ich nicht, ich musste nicht nachzählen. Ich glaube, Sie wissen nicht, wie sich das auf die ganze Situation auswirkt.

Aber im Allgemeinen ist es genau so.

Und nun eine Frage zu den Protokollen: gibt es einen Eintrag im Protokoll über p4"Limit order deleted" nach dem Eintrag über die Buy takeout change von p3 ?

Warum ist das notwendig - um zu verstehen, ob dieses Ereignis beim ersten Mal, als die Order gelöscht wurde, verloren gegangen ist, oder ob es nach dem Sell close wieder angezeigt wurde?

 
Artyom Trishkin:

Und nun eine Frage zu den Protokollen: Gibt es einen Eintrag im Protokoll über p4"Limit order deleted" nach dem Eintrag über die Buy takeout change von p3 ?

Warum ist das notwendig - um zu verstehen, ob dieses Ereignis beim ersten Mal, als die Order gelöscht wurde, verloren gegangen ist, oder ob es nach dem Sell close wieder angezeigt wurde.

Sie sehen, wie nützlich es ist, die Logs zu durchforsten: )))))) Zwischen der Platzierung dieser Order und ihrer Löschung habe ich sie noch dreimal zu einem anderen Preis verschoben.

Und die Aufzeichnung der Löschung war

15:01:14.249    00 EURUSD,H1: - Отложенный ордер удалён: 2019.05.27 14:54:10.000 - EURUSD Удалён 0.01 Buy Limit #443342388  по цене 1.11835
 
Alexey Viktorov:

Sie sehen, wie nützlich es ist, die Protokolle zu durchforsten. )))))) Zwischen der Aufgabe dieser Bestellung und ihrer Löschung habe ich sie noch dreimal auf einen anderen Preis verschoben.

Und die Aufzeichnung der Löschung war

gut. Ich werde versuchen, es zu reproduzieren.

 
Hallo. Sie haben sicherlich eine große und notwendige Arbeit geleistet. Für das, was Sie haben, ein großes menschliches Dankeschön! Aber es gibt eine Frage. Der Expert Advisor, den Sie zu Testzwecken verwenden, wenn Sie auf dem Konto arbeiten, ändert alle Aufträge und Positionen unabhängig von den Majiks und Unterschieden der Währungspaare. D.h. Sie setzen ihn auf Eurobucks und gleichzeitig steht eine andere Eule auf einer anderen Währung und hält dort ihre Aufträge und Positionen. Sie klicken auf Ihre Advisor-Änderung von Gewinn oder Stop und er zieht nicht nur Eurobucks, sondern alles, was im Terminal ist. Das ist nicht koscher. Vielen Dank für Ihr Verständnis.
 
Sam Zabil:
Hallo. Sie haben sicherlich eine große und notwendige Arbeit geleistet. Für das, was Sie haben, ein großes menschliches Dankeschön! Aber es gibt eine Frage. Der Expert Advisor, den Sie zu Testzwecken verwenden, wenn Sie auf dem Konto arbeiten, ändert alle Aufträge und Positionen unabhängig von den Majiks und Unterschieden der Währungspaare. D.h. Sie setzen ihn auf Eurobucks und gleichzeitig steht eine andere Eule auf einer anderen Währung und hält dort ihre Aufträge und Positionen. Sie klicken auf Ihre Advisor-Änderung von Gewinn oder Stop und er zieht nicht nur Eurobucks, sondern alles, was im Terminal ist. Das ist nicht koscher. Vielen Dank für Ihr Verständnis.

Dieser EA ist nur zum Testen der Bibliothek im Tester. Es wird nicht empfohlen, ihn auch auf einer Demo einzusetzen. Und es ist strengstens untersagt, ihn auf einem realen Konto zu verwenden.

 

Artem I hat die Situation noch einmal durchgespielt.

Das Skript hat alle offenen Positionen von gestern geschlossen. Ich habe keine Aufträge auf das Konto gelegt, aber die von gestern sind geschlossen. Es gibt Aufzeichnungen über die Löschung von Aufträgen. Und nicht nur einen. Es gab dreimal einen Eintrag "Dieses Ereignis ist bereits in der Liste".

Dann habe ich drei weitere Positionen aufgegeben und sie mit dem Skript wieder geschlossen. Alles passierte wieder. Drei Positionen geschlossen ... drei Versuche, eine Position zu löschen, die bereits in der Historie ist.

Auch wenn Sie keine Protokolle mögen, werde ich es direkt von der Registerkarte "Experten" setzen.

2019.05.28 13:07:36.530 00 EURUSD,H1: OnChartEvent: id=1002, event=TRADE_EVENT_PENDING_ORDER_REMOVED, lparam=443340764, dparam=1.11830, sparam=EURUSD
2019.05.28 13:07:36.530 00 EURUSD,H1: OnChartEvent: id=1002, event=TRADE_EVENT_PENDING_ORDER_REMOVED, lparam=443342301, dparam=1.11764, sparam=EURUSD
2019.05.28 13:07:36.530 00 EURUSD,H1: OnChartEvent: id=1002, event=TRADE_EVENT_PENDING_ORDER_REMOVED, lparam=443342388, dparam=1.11835, sparam=EURUSD
2019.05.28 13:07:36.530 00 EURUSD,H1: OnChartEvent: id=1024, event=TRADE_EVENT_POSITION_CLOSED, lparam=443663012, dparam=1.26559, sparam=GBPUSD
2019.05.28 13:07:36.530 00 EURUSD,H1: OnChartEvent: id=1024, event=TRADE_EVENT_POSITION_CLOSED, lparam=443663074, dparam=1.11876, sparam=EURUSD
2019.05.28 13:07:36.530 00 EURUSD,H1: OnChartEvent: id=1024, event=TRADE_EVENT_POSITION_CLOSED, lparam=443662954, dparam=109.36100, sparam=USDJPY
2019.05.28 13:07:36.530 00 EURUSD,H1: - Отложенный ордер удалён: 2019.05.27 14:48:42.000 -
EURUSD Удалён 0.01 Buy Limit #443340764  по цене 1.11830
2019.05.28 13:07:36.530 00 EURUSD,H1: - Отложенный ордер удалён: 2019.05.27 14:53:55.000 -
EURUSD Удалён 0.01 Sell Stop #443342301  по цене 1.11764
2019.05.28 13:07:36.530 00 EURUSD,H1: - Отложенный ордер удалён: 2019.05.27 14:54:10.000 -
EURUSD Удалён 0.01 Buy Limit #443342388  по цене 1.11835
2019.05.28 13:07:36.530 00 EURUSD,H1: - Позиция закрыта: 2019.05.28 13:07:13.000 -
GBPUSD Закрыт Buy #443663012  по цене 1.26588, профит -0.29 USD
2019.05.28 13:07:36.530 00 EURUSD,H1: - Позиция закрыта: 2019.05.28 13:07:25.000 -
EURUSD Закрыт Sell #443663074  по цене 1.11860, профит -0.16 USD
2019.05.28 13:07:36.530 00 EURUSD,H1: - Позиция закрыта: 2019.05.28 13:07:02.000 -
USDJPY Закрыт Sell #443662954  по цене 109.329, профит -0.29 USD
2019.05.28 13:07:36.500 Script CloseAllOrders EURUSD,H1: removed
2019.05.28 13:07:36.500 CloseAllOrders EURUSD,H1: uninit reason 0
2019.05.28 13:07:36.500 CloseAllOrders EURUSD,H1: Закрыт ордер 443662954 USDJPY
2019.05.28 13:07:36.500 CloseAllOrders EURUSD,H1: close #443662954  sell 0.01 USDJPY at 109.329 at price 109.361
2019.05.28 13:07:36.270 CloseAllOrders EURUSD,H1: Закрыт ордер 443663012 GBPUSD
2019.05.28 13:07:36.270 CloseAllOrders EURUSD,H1: close #443663012  buy 0.01 GBPUSD at 1.26588 at price 1.26559
2019.05.28 13:07:36.100 CloseAllOrders EURUSD,H1: Закрыт ордер 443663074 EURUSD
2019.05.28 13:07:36.100 CloseAllOrders EURUSD,H1: close #443663074  sell 0.01 EURUSD at 1.11860 at price 1.11876
2019.05.28 13:07:35.890 CloseAllOrders EURUSD,H1: initialized
2019.05.28 13:07:35.870 Script CloseAllOrders EURUSD,H1: loaded successfully
2019.05.28 13:07:24.096 00 EURUSD,H1: OnChartEvent: id=1022, event=TRADE_EVENT_POSITION_OPENED, lparam=443663074, dparam=1.11860, sparam=EURUSD
2019.05.28 13:07:24.096 00 EURUSD,H1: - Позиция открыта: 2019.05.28 13:07:25.000 -
EURUSD Открыт 0.01 Sell #443663074 [0.01 Market order Sell #443663074]  по цене 1.11860
2019.05.28 13:07:11.920 00 EURUSD,H1: OnChartEvent: id=1022, event=TRADE_EVENT_POSITION_OPENED, lparam=443663012, dparam=1.26588, sparam=GBPUSD
2019.05.28 13:07:11.920 00 EURUSD,H1: - Позиция открыта: 2019.05.28 13:07:13.000 -
GBPUSD Открыт 0.01 Buy #443663012 [0.01 Market order Buy #443663012]  по цене 1.26588
2019.05.28 13:07:01.119 00 EURUSD,H1: OnChartEvent: id=1022, event=TRADE_EVENT_POSITION_OPENED, lparam=443662954, dparam=109.32900, sparam=USDJPY
2019.05.28 13:07:01.119 00 EURUSD,H1: - Позиция открыта: 2019.05.28 13:07:02.000 -
USDJPY Открыт 0.01 Sell #443662954 [0.01 Market order Sell #443662954]  по цене 109.329
Zum Zeitpunkt der Eröffnung des USDJPY (unterste Zeile der Aufzeichnungen) gab es keine offenen Positionen und keine schwebenden Aufträge.