1评论

3收藏

控制有效交易时间函数

avatar 老周 | 3467 人阅读 | 1 人评论 | 2016-11-08

在实盘交易中, 我们经常需要程序在指定的交易时间段内进行操作, 这里提供一个标准的控制有效交易时间的自定义函数。


  1. /*
  2. 函 数:有效时间段
  3. 输入参数:string myStartTime:开始时间,标准格式为 hh:mm
  4. string myEndTime:结束时间,标准格式为 hh:mm
  5. bool myServerTime:true 为服务器时间, false 为计算机时间
  6. 输出参数:true:有效 false:无效
  7. 算 法:
  8. */
  9. bool iValidTime(string myStartTime,string myEndTime,bool myServerTime)
  10. {
  11. bool myValue=false;
  12. int myST=StrToTime(myStartTime);
  13. int myET=StrToTime(myEndTime);
  14. if (myST>myET) myET=myET+1440*60;
  15. if (TimeCurrent()>myST && TimeCurrent()<myET && myServerTime==true)//服务器时间
  16. {
  17. myValue=true;
  18. }
  19. if (TimeLocal()>myST && TimeLocal()<myET && myServerTime==false)//计算机时间
  20. {
  21. myValue=true;
  22. }
  23. if (myST==myET) myValue=true;
  24. return(myValue);
  25. }
复制代码


函数输入参数有三个,分别是开始时间、结束时间和服务器时间。开始、结束时间输入格式为 hh:mm, 例如 “02:30” 和 “22:00” 是指当天的 02:30~22:00 之间为有效时间, “20:30”和“16:00”是指当天的 20:30~次日 16:00 之间为有效时间。第三个参数如果输入“true”表示采用服务器时间,如果输入“false”表示采用本地计算机时间(北京时间) 。


下面是调用该函数的范例。

  1. if (!iValidTime(“02:30”,”22:00”,true))
  2. {
  3. return(0); //无效时间段内,不执行后面的代码
  4. }
复制代码



""
还没有人打赏,支持一下

评论|共 1 个

竹石

发表于 2021-3-2 02:35:20 来自手机 | 显示全部楼层

我是程序白痴,楼主能够生成ea的模式?两个时间段

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则