Caractéristiques du langage mql5, subtilités et techniques - page 195 1...188189190191192193194195196197198199200201202...247 Nouveau commentaire fxsaber 2020.12.22 10:15 #1941 // Возвращает скорректированный ORDER_REASON. ENUM_ORDER_REASON GetOrderReason( const ulong Ticket ) { ENUM_ORDER_REASON Reason = ORDER_REASON_CLIENT; if (HistorySelectOrder(Ticket)) // https://www.mql5.com/ru/forum/170952/page186#comment_18099882 { Reason = HistoryOrderGetInteger(Ticket, ORDER_REASON); if ((HistoryOrderGetInteger(Ticket, ORDER_TYPE) <= ORDER_TYPE_SELL) && (Reason != ORDER_REASON_SL) && (Reason != ORDER_REASON_TP)) { string PartComment = HistoryOrderGetString(Ticket, ORDER_COMMENT); if (StringLen(PartComment) > 3) { PartComment = ::StringSubstr(PartComment, 0, 3); if (PartComment == "[tp") Reason = ORDER_REASON_TP; else if (PartComment == "[sl") Reason = ORDER_REASON_SL; } } } return(Reason); } amrali 2020.12.23 21:25 #1942 fxsaber : Une méthode a été proposée pour déterminer le décalage GMT de l'heure du serveur. Ça ne marche pas toujours exactement. Il semble que la version ci-dessous soit la version exacte. //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int TimeServerGMTOffset() { return (int)(TimeGMT()-TimeTradeServer()); } //+------------------------------------------------------------------+ fxsaber 2021.01.13 14:17 #1943 L'historique des transactions peut être rempli d'ordres de marché avec le statut REJECTED. En règle générale, ce sont les cibles. Sur certains serveurs, une caractéristique particulière de ces ordres de marché qui ont reçu un REJECT : le statut est différent - CANCELED. Pourquoi les souscriptions ont-elles Comment puis-je clôturer tous Questions des débutants MQL5 fxsaber 2021.01.15 16:08 #1944 S'agit-il d'un bogue ou d'un bogue avec la conversion des chaînes de caractères dans le temps ? Print((datetime)"12:34"); // Результат: 2021.01.15 12:34:00. Ожидалось: 1970.01.01 12:34:00. // Выкручивание. Print(((datetime)"12:34") % (24 * 3600)); // Результат: 1970.01.01 12:34:00. fxsaber 2021.01.15 16:40 #1945 Cette pièce est-elle transformée en une constante au moment de la compilation ? StrDate = StringSubstr(StrDate, StringLen(StrDate) - StringLen("00:00:00 - 00:00:00")); Alexey Viktorov 2021.01.15 16:42 #1946 fxsaber: S'agit-il d'un bug ou d'une puce avec la conversion des chaînes de caractères en temps ? C'est comme ça que ça a toujours été. Mais j'aurais fait les choses un peu différemment... Print(((datetime)"12:34") % PeriodSeconds(PERIOD_D1); // Результат: 1970.01.01 12:34:00. Et si vous imprimez juste cette fois, tout ce que vous avez à faire est de Print(TimeToString(TimeCurrent(), TIME_SECONDS)); //Результат //2021.01.15 18:46:12.938 00 (EURRUB_TOD,H1) 18:31:18 fxsaber 2021.01.15 16:46 #1947 Alexey Viktorov:Cela a toujours été le cas. Une conséquence intéressante donc. Print((datetime)""); // Текущая дата. Concis et surprenant. Parce que le compilateur ne convertit pas ce qui semble être une constante en une constante. Alexey Viktorov 2021.01.15 16:49 #1948 fxsaber:Une conséquence intéressante donc. Concis et surprenant. Parce que le compilateur ne convertit pas ce qui semble être une constante en une constante. La chaîne vide est-elle la date actuelle ? ps ; Étonnamment... En effet la date actuelle, mais l'heure est 1:00 Aleksey Mavrin 2021.01.15 16:53 #1949 fxsaber:Une conséquence intéressante donc. Concis et surprenant. Parce que le compilateur ne convertit pas ce qui semble être une constante. Remplace-t-il TimeCurrent ou TimeLocal ?) Je me souviens que dans certaines langues, la création d'un type de date l'initialise automatiquement avec l'heure du système. Документация по MQL5: Дата и время / TimeCurrent www.mql5.com TimeCurrent - Дата и время - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2021.01.15 17:00 #1950 Alexey Viktorov:Date actuelle en effet, mais l'heure est 1:00 du matin. Aucune suggestion quant à l'origine de l'heure (la même chose pour moi). Cela dépend probablement du fuseau horaire. Ce n'est plus intéressant. Print((datetime)"00:00"); // Текущая дата. 1...188189190191192193194195196197198199200201202...247 Nouveau commentaire
Une méthode a été proposée pour déterminer le décalage GMT de l'heure du serveur. Ça ne marche pas toujours exactement.
Il semble que la version ci-dessous soit la version exacte.
L'historique des transactions peut être rempli d'ordres de marché avec le statut REJECTED. En règle générale, ce sont les cibles.
Sur certains serveurs, une caractéristique particulière de ces ordres de marché qui ont reçu un REJECT : le statut est différent - CANCELED.
S'agit-il d'un bug ou d'une puce avec la conversion des chaînes de caractères en temps ?
C'est comme ça que ça a toujours été. Mais j'aurais fait les choses un peu différemment...
Et si vous imprimez juste cette fois, tout ce que vous avez à faire est de
Cela a toujours été le cas.
Une conséquence intéressante donc.
Concis et surprenant. Parce que le compilateur ne convertit pas ce qui semble être une constante en une constante.
Une conséquence intéressante donc.
Concis et surprenant. Parce que le compilateur ne convertit pas ce qui semble être une constante en une constante.
La chaîne vide est-elle la date actuelle ?
ps ; Étonnamment... En effet la date actuelle, mais l'heure est 1:00Une conséquence intéressante donc.
Concis et surprenant. Parce que le compilateur ne convertit pas ce qui semble être une constante.
Remplace-t-il TimeCurrent ou TimeLocal ?)
Je me souviens que dans certaines langues, la création d'un type de date l'initialise automatiquement avec l'heure du système.
Date actuelle en effet, mais l'heure est 1:00 du matin.
Aucune suggestion quant à l'origine de l'heure (la même chose pour moi). Cela dépend probablement du fuseau horaire.
Ce n'est plus intéressant.