hao5719 发表于 2024-12-10 22:40:33

给MT4指标和ea加账户限制的方法

假设你想要限制某个指标只在特定的账户上运行,下面是一个简单的示例代码:

// 设置允许的账户号(可以根据实际情况修改)
#define ALLOWED_ACCOUNT 12345678

// 在指标初始化时进行检查
int OnInit()
{
   // 获取当前交易账户的号码
   int accountNumber = AccountInfoInteger(ACCOUNT_LOGIN);
   
   // 检查当前账户是否符合要求
   if(accountNumber != ALLOWED_ACCOUNT)
   {
      Print("该账户不允许使用此指标。");
      // 禁用指标
      return INIT_FAILED;
   }
   
   // 如果账户合法,继续执行初始化
   return INIT_SUCCEEDED;
}


假如你希望限制指标只在模拟账户中运行,你可以这样做:

// 在初始化时检查账户类型
int OnInit()
{
   int accountType = AccountInfoInteger(ACCOUNT_TYPE);

   // 如果是模拟账户,则继续运行,否则停止
   if(accountType != ACCOUNT_DEMO)
   {
      Print("此指标仅限于模拟账户使用。");
      return INIT_FAILED;
   }

   return INIT_SUCCEEDED;
}



山沟里的葫芦娃 发表于 2024-12-11 02:01:39

来几段ea限制时间开单的代码呢

hao5719 发表于 2024-12-11 10:16:20

// 定义到期时间 (例如: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 {
      // 执行正常的指标计算逻辑
      // 例如,计算移动平均线等
   }
}


WA263222 发表于 2024-12-11 10:52:26

嗯,感谢大佬

黄永升 发表于 2025-1-1 18:26:43

{:1_194:}

听雨竹楼上 发表于 2025-4-18 20:17:03

{:1_189:}
页: [1]
查看完整版本: 给MT4指标和ea加账户限制的方法