开拓者期货期权程序化系统交易论坛

标题: 求判断两个时间间隔多少秒的高效算法 [打印本页]

作者: soro    时间: 2008-5-30 21:24:43     标题: 求判断两个时间间隔多少秒的高效算法

求判断两个时间间隔多少秒的高效算法

time2 ( 0.142533)
time2 (0.142256)
计算他们间隔的秒数?

谢谢
作者: nopain    时间: 2008-5-31 12:52:19

求出小时,分钟,秒
然后小时*3600+分钟*60+秒,然后进行比较
作者: soro    时间: 2008-5-31 12:56:48

原帖由 nopain 于 2008-5-31 12:52 发表
求出小时,分钟,秒
然后小时*3600+分钟*60+秒,然后进行比较


这样可以吗?
  1.                                        LastIndex = A_GetLastOpenOrderIndex(Enum_Buy,Enum_Entry);
  2.                         If(LastIndex != InvalidInteger)
  3.                         {               
  4.                                 Temp=Time;
  5.                                 Time_H=IntPart(Temp*10000);
  6.                                 Time_M=IntPart(Temp*100)-Time_H*100;
  7.                                 Time_S=IntPart(Temp*1000000)-Time_H*10000-Time_M*100;
  8.                                 Time0=Time_H*3600+Time_M*60+Time_S;
  9.                                 Temp=A_OpenOrderTime(LastIndex);
  10.                                 Time_H=IntPart(Temp*10000);
  11.                                 Time_M=IntPart(Temp*100)-Time_H*100;
  12.                                 Time_S=IntPart(Temp*1000000)-Time_H*10000-Time_M*100;
  13.                                 Time1=Time_M*60+Time_S;
  14.                                 IF( (Time0-Time1)>delay)
  15.                                 {
  16.                                         A_DeleteOrder(A_OpenOrderContractNo(LastIndex));
  17.                                         FileAppend("C:\\cd.log",DateToString(Date)+"  当前时间 "+TimeToString(time)+" 多委单时间"+TimeToString(A_OpenOrderTime(LastIndex)));       
  18.                                 }
  19.                         }
复制代码

作者: nopain    时间: 2008-5-31 13:01:28

不用搞得这么复杂。看看下面的代码,也许对您有启发
  1.         TmpLastIndex = A_GetLastOpenOrderIndex(Enum_Sell,Enum_Exit);
  2.         If(TmpLastIndex != InvalidInteger)
  3.         {
  4.                 Commentary("准备撤单...");
  5.                 TmpContractNo = Data1.A_OpenOrderContractNo(TmpLastIndex);
  6.                 If(TmpContractNo!="")
  7.                 {
  8.                         A_DeleteOrder(TmpContractNo);
  9.                         EntryDeleteSeconds = CurrentTime;
  10.                 }Else
  11.                 {
  12.                         Commentary("出错了A!");
  13.                 }       
  14.         }Else // 全部成交了
  15.         {
  16.        。。。。。
  17.       
  18.         }
复制代码

作者: soro    时间: 2008-5-31 21:07:03

谢谢。。。。。。。。。。。。
作者: guotie    时间: 2008-6-3 17:04:25

study.... 3x




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2