【MQL】PCのローカル時間を取得するWinAPI関数→GetLocalTime関数

 MQLでPCのローカル時間を取得する関数はTimeLocal関数ですが、テスターではサーバータイムであるTimeCurrent関数と等しい値となってしまいます('Д')

 この問題を解決するためにWindowsAPIのKernel32.dllにあるGetLocalTime関数を使用してテスター中でもPCのローカル時間を取得できるかやってみました('ω')

#import "Kernel32.dll"
void GetLocalTime(SYSTEMTIME &systime);
#import
struct SYSTEMTIME
  {
   ushort            wYear;
   ushort            wMonth;
   ushort            wDayOfWeek;
   ushort            wDay;
   ushort            wHour;
   ushort            wMinute;
   ushort            wSecond;
   ushort            wMilliseconds;
  };

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   SYSTEMTIME sysTime;
   GetLocalTime(sysTime);
   datetime nowtime = StringToTime((string)sysTime.wYear + "." + (string)sysTime.wMonth + "." + (string)sysTime.wDay + " " + (string)sysTime.wHour + ":" + (string)sysTime.wMinute + ":" + (string)sysTime.wSecond);
   Comment(nowtime);
  }


 テスター中でもPC時間が出力できるようになりました。
でも一つ一つ文字として取得して結合なんてナンセンスですよね。
もっといい方法無いでしょうか??

いい解決方法あれば教えてください。


この記事が気に入ったらサポートをしてみませんか?