老周 发表于 2016-11-8 15:16:54

控制有效交易时间函数

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


/*
函 数:有效时间段
输入参数:string myStartTime:开始时间,标准格式为 hh:mm
string myEndTime:结束时间,标准格式为 hh:mm
bool myServerTime:true 为服务器时间, false 为计算机时间
输出参数:true:有效 false:无效
算 法:
*/
bool iValidTime(string myStartTime,string myEndTime,bool myServerTime)
{
bool myValue=false;
int myST=StrToTime(myStartTime);
int myET=StrToTime(myEndTime);
if (myST>myET) myET=myET+1440*60;
if (TimeCurrent()>myST && TimeCurrent()<myET && myServerTime==true)//服务器时间
{
myValue=true;
}
if (TimeLocal()>myST && TimeLocal()<myET && myServerTime==false)//计算机时间
{
myValue=true;
}
if (myST==myET) myValue=true;
return(myValue);
}

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


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

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


竹石 发表于 2021-3-2 02:35:20

我是程序白痴,楼主能够生成ea的模式?两个时间段
页: [1]
查看完整版本: 控制有效交易时间函数