Скачать MetaTrader 5

localTime() в ТЕСТЕРЕ

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114283
Forex Trader  
Что должна возвращать функция localTime() при тестировании эксперта (в init-, deinit- и start-модулях советника)?
Forex Trader
114283
Forex Trader  
//+------------------------------------------------------------------+
//|                                                         лень.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                             http://www.metaquotes.ru/forum/6985/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.ru/forum/6985/"

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  Print("Это init()  LocalTime=",TimeToStr(LocalTime()),"  CurTime=",TimeToStr(CurTime())); 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
  Print("Это deinit()  LocalTime=",TimeToStr(LocalTime()),"  CurTime=",TimeToStr(CurTime())); 
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  Print("Это start()  LocalTime=",TimeToStr(LocalTime()),"  CurTime=",TimeToStr(CurTime())); 
  
//----
   return(0);
  }
//+------------------------------------------------------------------+



2006.03.24 12:17:04 2006.03.24 23:59 лень EURUSD,Daily: Это deinit() LocalTime=2006.03.24 23:59 CurTime=2006.03.24 23:59
2006.03.24 12:17:04 2006.03.24 23:59 лень EURUSD,Daily: Это start() LocalTime=2006.03.24 23:59 CurTime=2006.03.24 23:59
2006.03.24 12:17:04 2006.03.24 00:00 лень EURUSD,Daily: Это start() LocalTime=2006.03.24 00:00 CurTime=2006.03.24 00:00
2006.03.24 12:17:04 2006.03.23 00:00 лень EURUSD,Daily: Это start() LocalTime=2006.03.23 00:00 CurTime=2006.03.23 00:00
2006.03.24 12:17:04 2006.03.22 00:00 лень EURUSD,Daily: Это start() LocalTime=2006.03.22 00:00 CurTime=2006.03.22 00:00
2006.03.24 12:17:04 2006.03.21 00:00 лень EURUSD,Daily: Это start() LocalTime=2006.03.21 00:00 CurTime=2006.03.21 00:00
2006.03.24 12:17:04 2006.03.20 00:00 лень EURUSD,Daily: Это start() LocalTime=2006.03.20 00:00 CurTime=2006.03.20 00:00

Forex Trader
114283
Forex Trader  
У меня:
15:04:05 лень AUDUSD,Daily: Это init() LocalTime=2005.07.08 10:39 CurTime=2005.07.08 10:39
15:04:05 2005.01.03 00:00 лень AUDUSD,Daily: Это start() LocalTime=2005.01.03 00:00 CurTime=2005.01.03 00:00
15:04:10 2005.03.09 08:08 лень AUDUSD,Daily: Это deinit() LocalTime=2005.03.09 08:08 CurTime=2005.03.09 08:08


А хотелось бы иметь всегда LocalTime - локальное время компа, как и описано в руководстве.
Forex Trader
114283
Forex Trader  

А хотелось бы иметь всегда LocalTime - локальное время компа, как и описано в руководстве.

Всегда ли LocalTime является локальным временем компа?
Forex Trader
114283
Forex Trader  
Во время тестирования локальное время тоже моделируется.
Forex Trader
114283
Forex Trader  
Во время тестирования локальное время тоже моделируется.

Как может моделироваться локальное время компьютера, на котором запущен терминал?
По каким правилам моделируется?
Forex Trader
114283
Forex Trader  
Rosh Вам это уже продемонстрировал.
Используется смоделированное "последнее известное время сервера"
Forex Trader
114283
Forex Trader  
Подскажите, плиз, как можно (для протоколирования) записать в файл текущее время компа во время тестирования?
Forex Trader
114283
Forex Trader  
в файл, похоже, никак. Нет прямого способа.
А вот в логах тестера реальное время компьютера всегда есть.
Forex Trader
114283
Forex Trader  
в файл, похоже, никак. Нет прямого способа.
А вот в логах тестера реальное время компьютера всегда есть.

Я собираю статистику, которую трудно поместить в логи, и записываю ее в файл. Файл дописывается и хотелось бы иметь там текущее время компа.
Может быть можно вызвать внешнюю процедуру - функцию Виндов?
Профи, помогайте...
Forex Trader
114283
Forex Trader  
//+------------------------------------------------------------------+
//|                                                    LocalTime.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#import "kernel32.dll"
void GetLocalTime(int& TimeArray[]);
#import

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int TimeArray[4];
   int nYear,nMonth,nDay,nHour,nMin,nSec;
//----
   GetLocalTime(TimeArray);
   nYear=TimeArray[0]&0x0000FFFF;
   nMonth=TimeArray[0]>>16;
   nDay=TimeArray[1]>>16;
   nHour=TimeArray[2]&0x0000FFFF;
   nMin=TimeArray[2]>>16;
   nSec=TimeArray[3]&0x0000FFFF;
   Print(nYear,".",nMonth,".",nDay," ",nHour,":",nMin,":",nSec);
//----
   return(0);
  }
//+------------------------------------------------------------------+
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий