// 定义到期时间 (例如:2024年12月31日)
datetime expiry_time = D'2024.12.31 23:59:59';
// 指标初始化函数
int OnInit()
{
// 获取当前时间
datetime current_time = TimeCurrent();
// 如果当前时间超过了到期时间
if (current_time > expiry_time) {
// 输出提示消息
Print("该指标已过期,无法使用!");
// 在图表上显示过期消息
ObjectCreate(0, "ExpiryText", OBJ_LABEL, 0, 0, 0);
ObjectSetInteger(0, "ExpiryText", OBJPROP_XSIZE, 300);
ObjectSetInteger(0, "ExpiryText", OBJPROP_YSIZE, 30);
ObjectSetInteger(0, "ExpiryText", OBJPROP_XDISTANCE, 10);
ObjectSetInteger(0, "ExpiryText", OBJPROP_YDISTANCE, 10);
ObjectSetString(0, "ExpiryText", OBJPROP_BGCOLOR, clrRed);
ObjectSetString(0, "ExpiryText", OBJPROP_COLOR, clrWhite);
ObjectSetString(0, "ExpiryText", OBJPROP_TEXT, "指标已过期,无法使用!");
// 禁用指标
return(INIT_FAILED);
}
// 如果未过期,继续初始化
return(INIT_SUCCEEDED);
}
// 指标计算函数
void OnTick()
{
// 获取当前时间
datetime current_time = TimeCurrent();
// 如果当前时间超过到期时间
if (current_time > expiry_time) {
// 输出提示消息
Print("该指标已过期,无法使用!");
// 显示图表上的过期提示
ObjectSetString(0, "ExpiryText", OBJPROP_TEXT, "指标已过期,无法使用!");
} else {
// 执行正常的指标计算逻辑
// 例如,计算移动平均线等
}
}
|