找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 20|回复: 0

断线时间写入磁盘文件

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-27 12:55:00 | 显示全部楼层 |阅读模式
#property strict
bool first = true;
bool Now_IsConnected = false;
bool Pre_IsConnected = true;
datetime Connect_Start = 0, Connect_Stop = 0;
int init()
    {
     start();
     return(0);
    }


int start()
    {
     int handle = FileOpen("_IsConnected.txt", FILE_WRITE | FILE_READ, " ");
     FileSeek(handle, 0, SEEK_END);
     FileWrite(handle, "- - - - - - - - - - - Expert initialized  - - - - - - - - - -");
     while(!IsStopped())
         {
          Pre_IsConnected = Now_IsConnected;
          Now_IsConnected = IsConnected();
          if(first)
              {
               Pre_IsConnected = !Now_IsConnected;
              }
          if(Now_IsConnected != Pre_IsConnected)
              {
               if(Now_IsConnected)
                   {
                    Connect_Start = LocalTime();
                    if(!first)
                        {
                         FileSeek(handle, -55, SEEK_CUR);
                         FileWrite(handle, "- - - OffLine- - -       " + TimeToStr(Connect_Stop, TIME_DATE) + "       " + TimeToStr(Connect_Stop, TIME_SECONDS) + " - " + TimeToStr(Connect_Start, TIME_SECONDS));
                        }
                    if(IsStopped())
                        {
                         break;
                        }
                    FileWrite(handle, "+ + + OnLine + + +       " + TimeToStr(Connect_Start, TIME_DATE) + "       " + TimeToStr(Connect_Start, TIME_SECONDS) + " - ");
                   }
               else
                   {
                    Connect_Stop = LocalTime();
                    if(!first)
                        {
                         FileSeek(handle, -55, SEEK_CUR);
                         FileWrite(handle, "+ + + OnLine + + +       " + TimeToStr(Connect_Start, TIME_DATE) + "       " + TimeToStr(Connect_Start, TIME_SECONDS) + " - " + TimeToStr(Connect_Stop, TIME_SECONDS));
                        }
                    if(IsStopped())
                        {
                         break;
                        }
                    FileWrite(handle, "- - - OffLine- - -       " + TimeToStr(Connect_Stop, TIME_DATE) + "       " + TimeToStr(Connect_Stop, TIME_SECONDS) + " - ");
                   }
              }
          first = false;
          FileFlush(handle);
          Sleep(1000);
         }
     if(Now_IsConnected)
         {
          FileSeek(handle, -55, SEEK_CUR);
          FileWrite(handle, "+ + + OnLine + + +       " + TimeToStr(Connect_Start, TIME_DATE) + "       " + TimeToStr(Connect_Start, TIME_SECONDS) + " - " + TimeToStr(LocalTime(), TIME_SECONDS));
         }
     else
         {
          FileSeek(handle, -55, SEEK_CUR);
          FileWrite(handle, "- - - OffLine- - -       " + TimeToStr(Connect_Stop, TIME_DATE) + "       " + TimeToStr(Connect_Stop, TIME_SECONDS) + " - " + TimeToStr(LocalTime(), TIME_SECONDS));
         }
     FileWrite(handle, "- - - - - - - - - - - Expert was stoped - - - - - - - - - - -\n");
     FileClose(handle);
     return(0);
    }

复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-10 05:24 , Processed in 0.104011 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表