Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ищешь единомышленников? На форуме их много!
Андрей
12
Андрей 2011.11.25 14:53 

Доброе время суток ... нужна помощь

какой функцией в тестере стратегий можно получить актуальное время компьютера ?

дело вот в чем - есть желание чтобы при запуске тестера создавался файл в названии которого были дата/время компьютера ... те функции времени которые нашел TimeLocal() например выдают время смоделированное тестером время :(

o_O
Модератор
23288
o_O 2011.11.25 15:10  
смотрите MSDN
Всеволод
648
Всеволод 2011.11.25 18:30  

WinAPI.

Можно просто создавать файл с произвольным именем, а затем переименовывать по дате создания, а если подумать, то можно и не переименовывать.

Андрей
12
Андрей 2011.11.25 22:53  
splxgf:

WinAPI.

Можно просто создавать файл с произвольным именем, а затем переименовывать по дате создания, а если подумать, то можно и не переименовывать.


интересная идея ... спасибо :)

вопрос ... в MQL есть генерация случайного числа ?

тут во в чем проблема - тестер запускается на одном и том же временном диапазоне - скажем последний год

от руки менять в коде программы имя сохраняемого файла - лень ... а автоматически - не получается :(

Victor Nikolaev
Модератор
14041
Victor Nikolaev 2011.11.26 02:20  
Andy833:

интересная идея ... спасибо :)

вопрос ... в MQL есть генерация случайного числа ?

тут во в чем проблема - тестер запускается на одном и том же временном диапазоне - скажем последний год

от руки менять в коде программы имя сохраняемого файла - лень ... а автоматически - не получается :(


int MathRand()
Функция возвращает псевдослучайное целое число в дипазоне от 0 до 32767. Перед первым вызовом функции необходимо использовать функцию MathSrand, чтобы перевести генератор псевдослучайных чисел в начальное состояние.
Пример:
  MathSrand(TimeLocal());
  // Отображает 10 чисел.
  for(int i=0;i<10;i++ )
    Print("произвольная величина ", MathRand());
Всеволод
648
Всеволод 2011.11.26 06:29  

Можно не случайными числами, а последовательными и проверять наличие существующего файла по file open и get last error. Если файл существует, то инкрементируем переменную и пытаемся открыть снова. Когда появится ошибка открытия, то смело создаем файл на запись.

Vladimir Gomonov
8231
Vladimir Gomonov 2011.11.26 22:23  
Andy833:

интересная идея ... спасибо :)

вопрос ... в MQL есть генерация случайного числа ?

тут во в чем проблема - тестер запускается на одном и том же временном диапазоне - скажем последний год

от руки менять в коде программы имя сохраняемого файла - лень ... а автоматически - не получается :(

Насчёт получения актуального времени компьютера в тестере. Есть множество извращённых способов. Самый простой:

Глобальные переменные терминала хранят время последней модификации. В тестере MT4 они доступны (в MT5 - нет). Изменяете переменную, получаете MyCompClockTime.

datetime GlobalVariableSet( string name, double value)

Устанавливает новое значение глобальной переменной. Если переменная не существует, то система создает новую глобальную переменную. При успешном выполнении функция возвращает время последнего доступа, иначе 0. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Но если это всё нужно только чтоб получить при каждом прогоне уникальный случайный ряд, можно поступить проще. К вашим услугам функция GetTickCount() - возвращает реальный счётчик милисикунд с момента последней перезагрузки компа.

Всеволод
648
Всеволод 2011.11.26 23:10  

Сикунды навеяли:

- Поручик, вы в очко можете?
- Могу-с!
- А в сику?
- Так точно-с!
- А в преферанс?
- Куда-с?!!

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий