找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 25|回复: 0

在MQL4中三种预定义名称函数的使用方法

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-27 22:51:00 | 显示全部楼层 |阅读模式
最后由 yuwentao4761 于 2024-9-19 12:45 编辑

在MQL4中存在三种预定义名称函数:

init() 在载入时调用,可以用此函数在开始自定义指标或者自动交易之前做初始化操作。

start() 是基本函数。对于智能交易,在下一个替克进入之后被调用。对于客户指标,在指标添加到图表之后,客户端开始(如果指标添加到图表)并且下一个替克进入之后,函数被调用。对于脚本,在脚本被添加到图表之后立即执行并初始化。如果在模板中不存在start()函数,模板 (智能交易,脚本或客户指标) 不能开启。

deinit() 当数据变动时触发,对于自定义指标或者自动交易的编程主要依靠此函数进行

预定义函数需要一些参量。不过,当这些参量被客户端调用时,外部没有参量提供。 start(), init()和 deinit()函数从模板的任何一点按照常规调用,等于其他函数。


不建议从init()函数调用 start()函数或是执行交易业务,作为图表数据,市场开价格。模板的初始化会出现残缺。这时,init() 和 deinit() 函数必须尽可能结束运行。在调用start()函数之前,尝试重新全面开启运行。

#property copyright "[CopyRight2022]小鱼儿"
#property link      "www.webchm.com"
#property version    "3.00"
#property strict
//+------------------------------------------------------------------+
//| Custom indicator initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom EA function                                                                  |
//+------------------------------------------------------------------+
int start()
{

   return(rates_total);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                               |
//+------------------------------------------------------------------+
int deinit()
  {

   return(0);
  }复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-9 16:53 , Processed in 0.131159 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表