штатными средствами никак, скорее всего в целях каких-то безопасностей )))
используйте WinAPI
или запишите и прочитайте файл: https://www.mql5.com/ru/forum/170952/page105#comment_9044250
штатными средствами никак, скорее всего в целях каких-то безопасностей )))
используйте WinAPI
или запишите и прочитайте файл: https://www.mql5.com/ru/forum/170952/page105#comment_9044250
ну про winAPi и думал) может, у кого-то уже есть готовое решение через winApi?
коллеги, всем доброго.
Как в тестере стратегий можно получить текущее актуальное время (в жизни)?
т.е. сегодня 06.12.21, какой бы период тестирования я не запускал, у меня должна выдаваться текущая актуальная дата.
Коряво если, записать во внешнюю переменную сторонним скриптом дату, скрипт запустить из тестерного советника / индикатора в другом окне. Или вручную сперва скрипт, потом тестер и считать дату из внешней переменной. Или через файл.
И надо пробовать, если с другого инструмента запросить время открытия нулевого бара, то должен вроде дать текущие данные, хотя не уверен. Счас вроде исправили и работает как в 5ке окружение тестера. Раньше в 4ке получали текущие данные с баров с других инструментов.поиском GetLocalTime
даже на форуме есть примеры https://www.mql5.com/ru/forum/167065#comment_4007673
поиском GetLocalTime
даже на форуме есть примеры https://www.mql5.com/ru/forum/167065#comment_4007673
Это не из тестера.
а из чего? из WinAPI? - тогда вроде речь об этом и идет
единственное, за что спасибо - потренировали в поиске как запустить тестер МТ4 - еле нашел, давно не запускал )))
#property strict struct _SYSTEMTIME { ushort wYear; ushort wMonth; ushort wDayOfWeek; ushort wDay; ushort wHour; ushort wMinute; ushort wSecond; ushort wMilliseconds; }; #import "kernel32.dll" void GetLocalTime(_SYSTEMTIME &sys_time); #import #include <Files\FileTxt.mqh> //+------------------------------------------------------------------+ int OnInit() { _SYSTEMTIME loc_time; GetLocalTime(loc_time); CFileTxt f; f.Open("time_now.txt", FILE_WRITE | FILE_COMMON); if(f.Handle() == INVALID_HANDLE) return(INIT_FAILED); f.WriteString((string)loc_time.wDay + "." + (string)loc_time.wMonth + "." + (string)loc_time.wYear + "\n"); f.WriteString((string)loc_time.wHour + "." + (string)loc_time.wMinute + "." + (string)loc_time.wSecond + "." + (string)loc_time.wMilliseconds); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnTick() { } //+------------------------------------------------------------------+\Common\Files\time_now.txt
6.12.2021
19.58.18.153
а из чего? из WinAPI? - тогда вроде речь об этом и идет
единственное, за что спасибо - потренировали в поиске как запустить тестер МТ4 - еле нашел, давно не запускал )))
\Common\Files\time_now.txt6.12.2021
19.58.18.153
Меня сбило с толку первая фраза в первом сообщении
Добрый день!
Возможно ли из MQL5 подстраивать текущее локальное время компьютера?
коллеги, всем доброго.
Как в тестере стратегий можно получить текущее актуальное время (в жизни)?
т.е. сегодня 06.12.21, какой бы период тестирования я не запускал, у меня должна выдаваться текущая актуальная дата.
Получить время компьютера можно создав файл и определив время его создания.
Написал для 5, Проверил в тестере стратегий, думаю пойдет для 4
//+-------------------------------------------------------+ //| Время компьютера PROBA.mq5 | //+-------------------------------------------------------+ void OnInit() { // Создание метки для вывода даты и времени ObjectCreate (0, "Dep", OBJ_LABEL,0,0,0); ObjectSetInteger(0, "Dep", OBJPROP_XDISTANCE, 90); // X ObjectSetInteger(0, "Dep", OBJPROP_YDISTANCE, 0); // Y ObjectSetInteger(0, "Dep", OBJPROP_CORNER, 3); // Right UP ObjectSetString (0, "Dep", OBJPROP_TEXT, "Time"); // Начальный текст ObjectSetString (0, "Dep", OBJPROP_FONT, "Arial"); // Шрифт ObjectSetInteger(0, "Dep", OBJPROP_FONTSIZE, 8); // Размер шрифта ObjectSetInteger(0, "Dep", OBJPROP_ANCHOR, 6); // Right UP ObjectSetInteger(0, "Dep", OBJPROP_COLOR, DeepSkyBlue); // Цвет ObjectSetInteger(0, "Dep", OBJPROP_BACK, false); // на переднем плане ObjectSetInteger(0, "Dep", OBJPROP_SELECTABLE, true);// Можно выделять ObjectSetInteger(0, "Dep", OBJPROP_HIDDEN,false); // Показывать ObjectSetInteger(0, "Dep", OBJPROP_ZORDER, 0); // Right UP ChartRedraw(); // Показать созданный объект до первого тика } void OnTick() { // Создать файл и записать в него строку текста int File=FileOpen("TempFile",FILE_WRITE|FILE_CSV); FileWrite(File, "Time"); // Получить время доступа к файлу и записать в метку long d=FileGetInteger(File,FILE_ACCESS_DATE); ObjectSetString(0,"Dep", OBJPROP_TEXT, (string)datetime(d)); // Закрыть файл и удалить чтоб можно создать его заново FileClose(File); FileDelete("TempFile"); } void OnDeinit(const int reason) { ObjectsDeleteAll(0); // Удалить все имеющиеся на графике объекты }
Получить время компьютера можно создав файл и определив время его создания.
Написал для 5, Проверил в тестере стратегий, думаю пойдет для 4
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
коллеги, всем доброго.
Как в тестере стратегий можно получить текущее актуальное время (в жизни)?
т.е. сегодня 06.12.21, какой бы период тестирования я не запускал, у меня должна выдаваться текущая актуальная дата.