Estou desenvolvendo uma condição onde o EA abre ordem somente numa margem de horário pré definida. Para isso, quero utilizar o mínimo de linhas possíveis. Acredito que obtendo as horas do objeto, já resolvo, por exemplo se o TimeTradeServer() retorna '2016.06.17 21:40', quero pegar somente a hora, que nesse caso é '21'
Alguma sugestão?
Bruno,
Dá uma olhada nesse artigo.
https://www.mql5.com/pt/articles/599

- 2014.03.19
- Dmitry Fedoseev
- www.mql5.com
Amigo, sua indicação foi de grande valia. Pelo exemplo citado, ele usa TimeToString para apresentar parte da informação. Eu não pretendo coletar em string, mas sim em inteiro. Inevitavelmente é preciso migrar pra string e então converter pra int ou há uma maneira mais elegante de escrever?
Olá Bruno,
Note que nesse mesmo artigo citado pelo Otavio existe um exemplo clássico de como acessar valores individuais de data e hora, ver abaixo:
datetime tm=TimeCurrent(); MqlDateTime stm; TimeToStruct(tm,stm); //--- output date components Alert("Year: " +(string)stm.year); Alert("Month: " +(string)stm.mon); Alert("Day: " +(string)stm.day); Alert("Hour: " +(string)stm.hour); Alert("Minute: " +(string)stm.min); Alert("Second: " +(string)stm.sec); Alert("Day of the week: "+(string)stm.day_of_week); Alert("Day of the year: " +(string)stm.day_of_year);
Melhores Cumprimentos,
Rogério Figurelli

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Estou desenvolvendo uma condição onde o EA abre ordem somente numa margem de horário pré definida. Para isso, quero utilizar o mínimo de linhas possíveis. Acredito que obtendo as horas do objeto, já resolvo, por exemplo se o TimeTradeServer() retorna '2016.06.17 21:40', quero pegar somente a hora, que nesse caso é '21'
Alguma sugestão?