Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 814

 
Gibt es eine Möglichkeit, diese unauslöschlichen Kontrollkästchen-Neuigkeiten-Objekte davon abzuhalten, meine Objektliste immer und immer wieder zu füllen?
 
User_mt5:
Gibt es eine Möglichkeit, diese unauslöschlichen Kontrollkästchen-Neuigkeiten-Objekte davon abzuhalten, meine Objektliste immer und immer wieder zu füllen?

Hier in den Einstellungen entfernen Sie die Nachrichten und laden das Terminal neu


 
User_mt5:
Gibt es eine Möglichkeit, diese unauslöschlichen Kontrollkästchen-Neuigkeiten-Objekte davon abzuhalten, meine Objektliste immer und immer wieder zu füllen?
Sie brauchen nichts nachzuladen. Deaktivieren Sie im Kalender die Option "Alle Ereignisse löschen" und dann die Option "Automatische Updates".
 
Kirill Belousov:

Hier in den Einstellungen entfernen Sie die News und starten das Terminal neu


Kirill, ich danke Ihnen vielmals. Ansonsten geht mein Experte die Objekte durch - immer wieder.
Ich danke Ihnen.

 

Ich versuche zu lernen, wie man die Funktion OnTradeTransaction verwendet.

Bei der Verwendung im Testgerät tritt das folgende Problem auf. Ein Auftrag wird eröffnet und daraufhin OnTradeTransaction aufgerufen. Im Moment erhalte ich die Positionsgröße innerhalb von OnTradeTransaction mithilfe der CPositionInfo-Klasse. Alles ist in Ordnung. Dann rufe ich beim gleichen Aufruf eine andere Funktion direkt aus OnTradeTransaction auf und CPositionInfo gibt dort Null zurück, also nicht das, was ich brauche. Ein paar Minuten später versuchte ich, die Positionsgröße in OnTimer zu ermitteln, aber dort war alles in Ordnung, d.h. 1. Natürlich wurde die Stelle in der gesamten Geschichte nicht geschlossen und wieder geöffnet.

Frage. Warum gibt CPositionInfo in OnTradeTransaction das zurück, was es braucht, aber in einer anderen Funktion, die von OnTradeTransaction aufgerufen wird, gibt es 0 anstelle des Positionsvolumens zurück.


Hier sind die Protokolle. (Position eröffnet um 10:30:12 geschlossen um 10:48:53)

Dadurch wird ein Auftrag ausgelöst.

2017.09.22 10:30:12 Auftrag [#3 Kauflimit 1.00 SBRF-3.18 bei 19352] ausgelöst

OnTradeTransaction wird dreimal aufgerufen. CPositionInfo bei jedem Aufruf ist das Positionsvolumen gleich 1. Beim letzten Aufruf von TRADE_TRANSACTION_HISTORY_ADD rufe ich die Funktion auf.

2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_DEAL_ADD order=3 order_type=ORDER_TYPE_BUY state=ORDER_STATE_STARTED Price=19352.0 deal=2 deal_type=DEAL_TYPE_BUY Positionsrichtung POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_ORDER_DELETE order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Positionsrichtung POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_HISTORY_ADD order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Positionsrichtung POSITION_TYPE_BUY Volume 1.0

In einer Funktion, die von OnTradeTransaction aufgerufen wird.

2017.09.22 10:32:50 Es gibt eine 0.0 Position auf dem notierten Symbol SBRF-3.18 in Richtung POSITION_TYPE_BUY

Nach einer Weile versuchen, die Lautstärke in OnTimer wieder zu erreichen

2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volumen=1.0

Schließt die Position

2017.09.22 10:48:53 Auftrag [#5 Verkaufslimit 1,00 SBRF-3,18 um 19435] ausgelöst

 
pivomoe:

Ich versuche zu lernen, wie man die Funktion OnTradeTransaction verwendet.

Bei der Verwendung im Testgerät tritt das folgende Problem auf. Ein Auftrag wird eröffnet und daraufhin OnTradeTransaction aufgerufen. Im Moment erhalte ich die Positionsgröße innerhalb von OnTradeTransaction mithilfe der CPositionInfo-Klasse. Alles ist in Ordnung. Dann rufe ich beim gleichen Aufruf eine andere Funktion direkt aus OnTradeTransaction auf und dort gibt CPositionInfo Null zurück, also nicht das, was ich brauche. Ein paar Minuten später versuchte ich, die Positionsgröße in OnTimer zu ermitteln, aber dort war alles in Ordnung, d.h. 1. Natürlich wurde die Stelle in der gesamten Geschichte nicht geschlossen und wieder geöffnet.

Hier ist meine Frage. Warum gibt CPositionInfo das zurück, was ich in OnTradeTransaction benötige, aber in einer anderen Funktion, die von OnTradeTransaction aufgerufen wird, gibt es 0 anstelle des Positionsvolumens zurück.


Hier sind die Protokolle. (Position eröffnet um 10:30:12 geschlossen um 10:48:53)

Dadurch wird ein Auftrag ausgelöst.

2017.09.22 10:30:12 Auftrag [#3 Kauflimit 1.00 SBRF-3.18 bei 19352] ausgelöst

OnTradeTransaction wird dreimal aufgerufen. CPositionInfo bei jedem Aufruf ist das Positionsvolumen gleich 1. Beim letzten Aufruf von TRADE_TRANSACTION_HISTORY_ADD rufe ich die Funktion auf.

2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_DEAL_ADD order=3 order_type=ORDER_TYPE_BUY state=ORDER_STATE_STARTED Price=19352.0 deal=2 deal_type=DEAL_TYPE_BUY Positionsrichtung POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_ORDER_DELETE order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Positionsrichtung POSITION_TYPE_BUY Volume 1.0
2017.09.22 10:30:50 Synmvo =SBRF-3.18 TRADE_TRANSACTION_HISTORY_ADD order=3 order_type=ORDER_TYPE_BUY_LIMIT state=ORDER_STATE_FILLED Price=19352.0 deal=0 deal_type=DEAL_TYPE_BUY Positionsrichtung POSITION_TYPE_BUY Volume 1.0

In einer Funktion, die von OnTradeTransaction aufgerufen wird.

2017.09.22 10:32:50 Es gibt eine 0.0 Position auf dem notierten Symbol SBRF-3.18 in Richtung POSITION_TYPE_BUY

Nach einer Weile versuchen, die Lautstärke in OnTimer wieder zu erreichen

2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volumen=1.0

Schließt die Position

2017.09.22 10:48:53 Auftrag [#5 Verkaufslimit 1,00 SBRF-3,18 um 19435] ausgelöst

Und warum CPositionInfo verwenden, wenn es eine MqlTradeTransaction-Struktur mit allen Informationen über Auftrag, Geschäft und Position gibt?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
  • www.mql5.com
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...
 

Der Einfachheit halber. Eine kleine Funktion wird von MqlTradeTransaction aufgerufen. Es findet das erforderliche Element durch die Suche nach Elementen der Klasse. Dann wird eine der Klassenfunktionen für dieses Element aufgerufen, die etwas Nützliches tut.

 
pivomoe:

Der Einfachheit halber. Eine kleine Funktion wird von MqlTradeTransaction aufgerufen. Das erforderliche Element wird dort durch die Suche nach Elementen der Klasse gefunden. Für dieses Element wird eine der Klassenfunktionen aufgerufen, die etwas Sinnvolles tut.

Offenbar muss man dafür den gesamten Algorithmus ändern. Das Problem ist sehr unzureichend beschrieben. Wenn Sie einige Klassen benötigen, ohne OnTradeTransaction zu verwenden, brauchen Sie einige Klassen mit OnTradeTransaction nicht. Genau aus diesem Grund heißt es

Forum für Handel, automatisierte Handelssysteme und Strategietests

FAQ von Anfängern MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2017.12.30 09:04

Und warum CPositionInfo verwenden, wenn es eine MqlTradeTransaction-Struktur gibt, in der alle Auftrags-, Geschäfts- und Positionsinformationen enthalten sind?


 
Es ist kein Problem, den Algorithmus zu ändern. Ich kann nur nicht herausfinden, ob CPositionInfo nach der Positionseröffnung 1, dann 0 und dann wieder 1 zurückgibt (wir sprechen über die Positionsgröße). Aus der Historie geht jedoch hervor, dass die Stelle weder geschlossen noch wieder geöffnet wurde.
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Die benutzerdefinierte Funktion Abc() wird ausgeführt, die einen (zeitlich) langen Algorithmus implementiert.
Während der Ausführung dieser Funktion treten Ereignisse auf, z.B. Handel, Timer, etc.
Ist es möglich zu wissen, dass diese Ereignisse eingetreten sind, ohne die Ausführung der Funktion Abc() zu beenden?
Grund der Beschwerde: