User_mt5: Existe-t-il un moyen d'empêcher ces inusables checkboxes-news-objects de remplir encore et encore ma liste d'objets?
Vous n'avez pas besoin de recharger quoi que ce soit. Dans le calendrier, décochez "Supprimer tous les événements", puis décochez "Mises à jour automatiques".
En l'utilisant dans le testeur, je constate le problème suivant. Un ordre est ouvert et, par conséquent, la transaction OnTradeTransaction est appelée. Pour l'instant, j'obtiens la taille de la position dans OnTradeTransaction en utilisant la classe CPositionInfo. Tout va bien. Ensuite, lors du même appel, j'appelle une autre fonction directement à partir de OnTradeTransaction et là, CPositionInfo renvoie zéro, c'est-à-dire pas ce dont j'ai besoin. Quelques minutes plus tard, j'ai essayé d'obtenir la taille de la position dans OnTimer mais tout était OK là, c'est-à-dire 1. Bien sûr, la position n'a pas été fermée et ouverte à nouveau tout au long de l'histoire.
Question. Pourquoi CPositionInfo renvoie dans OnTradeTransaction ce dont il a besoin, mais dans une autre fonction appelée depuis OnTradeTransaction il renvoie 0 au lieu du volume de la position.
Voici les journaux. (Position ouverte à 10:30:12 fermée à 10:48:53)
OnTradeTransaction est appelé trois fois. CPositionInfo à chaque appel le volume de la position est égal à 1. Au dernier appel de TRADE_TRANSACTION_HISTORY_ADD, j'appelle la fonction.
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 Position direction 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 Position direction 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 Position direction POSITION_TYPE_BUY Volume 1.0
Dans une fonction appelée depuis OnTradeTransaction.
2017.09.22 10:32:50 Il y a une position 0.0 sur le symbole coté SBRF-3.18 vers POSITION_TYPE_BUY
Après un certain temps, j'ai essayé de rétablir le volume dans OnTimer.
2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0
En l'utilisant dans le testeur, je constate le problème suivant. Un ordre est ouvert et, par conséquent, la transaction OnTradeTransaction est appelée. Pour l'instant, j'obtiens la taille de la position dans OnTradeTransaction en utilisant la classe CPositionInfo. Tout va bien. Ensuite, lors du même appel, j'appelle une autre fonction directement à partir de OnTradeTransaction et là, CPositionInfo renvoie zéro, c'est-à-dire pas ce dont j'ai besoin. Quelques minutes plus tard, j'ai essayé d'obtenir la taille de la position dans OnTimer mais tout était OK là, c'est-à-dire 1. Bien sûr, la position n'a pas été fermée et ouverte à nouveau tout au long de l'histoire.
Voici ma question. Pourquoi CPositionInfo renvoie-t-il ce dont j'ai besoin dans OnTradeTransaction mais dans une autre fonction appelée depuis OnTradeTransaction, il renvoie 0 au lieu du volume de la position.
Voici les journaux. (Position ouverte à 10:30:12 fermée à 10:48:53)
OnTradeTransaction est appelé trois fois. CPositionInfo à chaque appel le volume de la position est égal à 1. Au dernier appel de TRADE_TRANSACTION_HISTORY_ADD, j'appelle la fonction.
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 Position direction 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 Position direction 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 Position direction POSITION_TYPE_BUY Volume 1.0
Dans une fonction appelée depuis OnTradeTransaction.
2017.09.22 10:32:50 Il y a une position 0.0 sur le symbole coté SBRF-3.18 vers POSITION_TYPE_BUY
Après un certain temps, j'ai essayé de rétablir le volume dans OnTimer.
2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0
Et pourquoi utiliser CPositionInfo s'il existe une structure MqlTradeTransaction contenant toutes les informations sur l'ordre, la transaction et la position ?
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...
Pour plus de commodité. Une petite fonction est appelée depuis MqlTradeTransaction. Il trouve l'élément nécessaire en recherchant les éléments de la classe. Ensuite, l'une des fonctions de la classe est appelée pour cet élément et fait quelque chose d'utile.
Pour plus de commodité. Une petite fonction est appelée depuis MqlTradeTransaction. On y trouve l'élément nécessaire en recherchant les éléments de la classe. Une des fonctions de la classe est appelée pour cet élément et fait quelque chose d'utile.
Apparemment, il faut changer tout l'algorithme pour faire ça. Le problème est très mal décrit. Si vous aviez besoin de certaines classes sans utiliser OnTradeTransaction, vous n'avez pas besoin de certaines classes utilisant OnTradeTransaction. C'est exactement pourquoi il est dit
Et pourquoi utiliser CPositionInfo alors qu'il existe une structure MqlTradeTransaction où se trouvent toutes les informations relatives aux ordres, aux transactions et aux positions ?
Ce n'est pas un problème de changer l'algorithme. Je n'arrive pas à comprendre si CPositionInfo renvoie 1, puis 0, puis 1 à nouveau après l'ouverture de la position (je veux dire la taille de la position). Bien que, selon l'histoire, le poste n'ait été ni fermé ni rouvert.
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
La fonction personnalisée Abc() est exécutée, qui met en œuvre un algorithme long (dans le temps). Pendant l'exécution de cette fonction, des événements se produisent, par exemple - Trade, Timer, etc. Est-il possible de savoir que ces événements se sont produits sans terminer l'exécution de la fonction Abc() ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Existe-t-il un moyen d'empêcher ces inusables checkboxes-news-objects de remplir encore et encore ma liste d'objets?
Ici, dans les paramètres, supprimez les nouvelles et rechargez le terminal.
Existe-t-il un moyen d'empêcher ces inusables checkboxes-news-objects de remplir encore et encore ma liste d'objets?
Dans les paramètres, supprimez les nouvelles et redémarrez le terminal.
Kirill, merci beaucoup. Sinon, mon expert passe en revue les objets - les passe en revue encore et encore.
Merci.
J'essaie d'apprendre à utiliser la fonction OnTradeTransaction.
En l'utilisant dans le testeur, je constate le problème suivant. Un ordre est ouvert et, par conséquent, la transaction OnTradeTransaction est appelée. Pour l'instant, j'obtiens la taille de la position dans OnTradeTransaction en utilisant la classe CPositionInfo. Tout va bien. Ensuite, lors du même appel, j'appelle une autre fonction directement à partir de OnTradeTransaction et là, CPositionInfo renvoie zéro, c'est-à-dire pas ce dont j'ai besoin. Quelques minutes plus tard, j'ai essayé d'obtenir la taille de la position dans OnTimer mais tout était OK là, c'est-à-dire 1. Bien sûr, la position n'a pas été fermée et ouverte à nouveau tout au long de l'histoire.
Question. Pourquoi CPositionInfo renvoie dans OnTradeTransaction ce dont il a besoin, mais dans une autre fonction appelée depuis OnTradeTransaction il renvoie 0 au lieu du volume de la position.
Voici les journaux. (Position ouverte à 10:30:12 fermée à 10:48:53)
Cela déclenche une commande.
2017.09.22 10:30:12 ordre [#3 achat limite 1.00 SBRF-3.18 à 19352] déclenché
OnTradeTransaction est appelé trois fois. CPositionInfo à chaque appel le volume de la position est égal à 1. Au dernier appel de TRADE_TRANSACTION_HISTORY_ADD, j'appelle la fonction.
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 Position direction 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 Position direction 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 Position direction POSITION_TYPE_BUY Volume 1.0
Dans une fonction appelée depuis OnTradeTransaction.
2017.09.22 10:32:50 Il y a une position 0.0 sur le symbole coté SBRF-3.18 vers POSITION_TYPE_BUY
Après un certain temps, j'ai essayé de rétablir le volume dans OnTimer.
2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0
Ferme la position
2017.09.22 10:48:53 ordre [#5 vente limite 1.00 SBRF-3.18 à 19435] déclenché
J'essaie d'apprendre à utiliser la fonction OnTradeTransaction.
En l'utilisant dans le testeur, je constate le problème suivant. Un ordre est ouvert et, par conséquent, la transaction OnTradeTransaction est appelée. Pour l'instant, j'obtiens la taille de la position dans OnTradeTransaction en utilisant la classe CPositionInfo. Tout va bien. Ensuite, lors du même appel, j'appelle une autre fonction directement à partir de OnTradeTransaction et là, CPositionInfo renvoie zéro, c'est-à-dire pas ce dont j'ai besoin. Quelques minutes plus tard, j'ai essayé d'obtenir la taille de la position dans OnTimer mais tout était OK là, c'est-à-dire 1. Bien sûr, la position n'a pas été fermée et ouverte à nouveau tout au long de l'histoire.
Voici ma question. Pourquoi CPositionInfo renvoie-t-il ce dont j'ai besoin dans OnTradeTransaction mais dans une autre fonction appelée depuis OnTradeTransaction, il renvoie 0 au lieu du volume de la position.
Voici les journaux. (Position ouverte à 10:30:12 fermée à 10:48:53)
Cela déclenche une commande.
2017.09.22 10:30:12 ordre [#3 achat limite 1.00 SBRF-3.18 à 19352] déclenché
OnTradeTransaction est appelé trois fois. CPositionInfo à chaque appel le volume de la position est égal à 1. Au dernier appel de TRADE_TRANSACTION_HISTORY_ADD, j'appelle la fonction.
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 Position direction 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 Position direction 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 Position direction POSITION_TYPE_BUY Volume 1.0
Dans une fonction appelée depuis OnTradeTransaction.
2017.09.22 10:32:50 Il y a une position 0.0 sur le symbole coté SBRF-3.18 vers POSITION_TYPE_BUY
Après un certain temps, j'ai essayé de rétablir le volume dans OnTimer.
2017.09.22 10:40:00 In OnTimer Symbol=SBRF-3.18 Volume=1.0
Ferme la position
2017.09.22 10:48:53 ordre [#5 vente limite 1.00 SBRF-3.18 à 19435] déclenché
Et pourquoi utiliser CPositionInfo s'il existe une structure MqlTradeTransaction contenant toutes les informations sur l'ordre, la transaction et la position ?
Pour plus de commodité. Une petite fonction est appelée depuis MqlTradeTransaction. Il trouve l'élément nécessaire en recherchant les éléments de la classe. Ensuite, l'une des fonctions de la classe est appelée pour cet élément et fait quelque chose d'utile.
Pour plus de commodité. Une petite fonction est appelée depuis MqlTradeTransaction. On y trouve l'élément nécessaire en recherchant les éléments de la classe. Une des fonctions de la classe est appelée pour cet élément et fait quelque chose d'utile.
Apparemment, il faut changer tout l'algorithme pour faire ça. Le problème est très mal décrit. Si vous aviez besoin de certaines classes sans utiliser OnTradeTransaction, vous n'avez pas besoin de certaines classes utilisant OnTradeTransaction. C'est exactement pourquoi il est dit
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
FAQ des débutants MQL5 MT5 MetaTrader 5
Alexey Viktorov, 2017.12.30 09:04
Et pourquoi utiliser CPositionInfo alors qu'il existe une structure MqlTradeTransaction où se trouvent toutes les informations relatives aux ordres, aux transactions et aux positions ?
Pendant l'exécution de cette fonction, des événements se produisent, par exemple - Trade, Timer, etc.
Est-il possible de savoir que ces événements se sont produits sans terminer l'exécution de la fonction Abc() ?