Características da linguagem mql5, subtilezas e técnicas - página 195 1...188189190191192193194195196197198199200201202...247 Novo comentário 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 : Uma vez foi proposta uma forma de determinar a compensação GMT da hora do servidor. Nem sempre funciona exactamente. Abaixo, ao que parece, encontra-se a versão exacta. //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int TimeServerGMTOffset() { return (int)(TimeGMT()-TimeTradeServer()); } //+------------------------------------------------------------------+ fxsaber 2021.01.13 14:17 #1943 O histórico de negociação pode estar cheio de ordens de mercado com estatuto REJEITADO. Como regra, estes são os alvos. Em alguns servidores, uma característica especial de tais ordens de mercado que receberam um REJEITO: o estatuto é diferente - CANCELADO. Consultor de Arbitragem Discussão do artigo "Eventos Scripts: SetBuyLimitOrder fxsaber 2021.01.15 16:08 #1944 Isto é um bug ou um bug com conversão de cordas no tempo? 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 Esta peça é transformada numa constante em tempo de compilação? StrDate = StringSubstr(StrDate, StringLen(StrDate) - StringLen("00:00:00 - 00:00:00")); Alexey Viktorov 2021.01.15 16:42 #1946 fxsaber: Isto é um bug ou um chip com conversão de string para tempo? É assim que sempre foi. Mas tê-lo-ia feito um pouco diferente... Print(((datetime)"12:34") % PeriodSeconds(PERIOD_D1); // Результат: 1970.01.01 12:34:00. E se apenas imprimir desta vez, tudo o que tem de fazer é 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:Este tem sido sempre o caso. Uma consequência interessante, então. Print((datetime)""); // Текущая дата. Conciso e surpreendente. Porque o compilador não converte o que parece ser uma constante para uma constante. Alexey Viktorov 2021.01.15 16:49 #1948 fxsaber:Uma consequência interessante, então. Conciso e surpreendente. Porque o compilador não converte o que parece ser uma constante para uma constante. O fio vazio é a data actual? ps; Surpreendentemente... De facto a data actual, mas a hora é 1:00 Aleksey Mavrin 2021.01.15 16:53 #1949 fxsaber:Uma consequência interessante, então. Conciso e surpreendente. Porque o compilador não converte o que parece ser uma constante. Substitui o TimeCurrent ou o TimeLocal?) Lembro-me em algumas línguas de criar um tipo de data que o inicializa automaticamente com a hora do sistema. Документация по MQL5: Дата и время / TimeCurrent www.mql5.com TimeCurrent - Дата и время - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2021.01.15 17:00 #1950 Alexey Viktorov:Data actual, de facto, mas a hora é 1:00 da manhã. Nenhuma sugestão sobre de onde vem a hora (o mesmo para mim). Provavelmente, depende do fuso horário. Isto já não é interessante. Print((datetime)"00:00"); // Текущая дата. 1...188189190191192193194195196197198199200201202...247 Novo comentário
Uma vez foi proposta uma forma de determinar a compensação GMT da hora do servidor. Nem sempre funciona exactamente.
Abaixo, ao que parece, encontra-se a versão exacta.
O histórico de negociação pode estar cheio de ordens de mercado com estatuto REJEITADO. Como regra, estes são os alvos.
Em alguns servidores, uma característica especial de tais ordens de mercado que receberam um REJEITO: o estatuto é diferente - CANCELADO.
Isto é um bug ou um chip com conversão de string para tempo?
É assim que sempre foi. Mas tê-lo-ia feito um pouco diferente...
E se apenas imprimir desta vez, tudo o que tem de fazer é
Este tem sido sempre o caso.
Uma consequência interessante, então.
Conciso e surpreendente. Porque o compilador não converte o que parece ser uma constante para uma constante.
Uma consequência interessante, então.
Conciso e surpreendente. Porque o compilador não converte o que parece ser uma constante para uma constante.
O fio vazio é a data actual?
ps; Surpreendentemente... De facto a data actual, mas a hora é 1:00Uma consequência interessante, então.
Conciso e surpreendente. Porque o compilador não converte o que parece ser uma constante.
Substitui o TimeCurrent ou o TimeLocal?)
Lembro-me em algumas línguas de criar um tipo de data que o inicializa automaticamente com a hora do sistema.
Data actual, de facto, mas a hora é 1:00 da manhã.
Nenhuma sugestão sobre de onde vem a hora (o mesmo para mim). Provavelmente, depende do fuso horário.
Isto já não é interessante.