2026-11-11
MT4编程入门指南:自定义指标结构解析
MT4自定义指标通常由四个核心部分构成:
(1)文件头部;
(2)参数、变量和数组的定义;
(3)初始化函数init();
(4)主函数start()。

一、文件头部,也称为预处理程序
预处理程序以“#”开头,行尾不需要添加分号“;”。
常见的预处理程序包括:
1、#property indicator_chart_window
用于将指标显示在主图上,例如均线、SRA等指标会用到此语句。
2、#property indicator_separate_window
用于将指标显示在副图中,例如MACD、RSI、威廉指标等。
3、#property indicator_buffers 3
表示显示3根指标线。
4、#property indicator_color1 Red
定义第1根指标线的颜色为红色。
5、#property indicator_width1 1
定义第1根指标线的粗细为1。
6、DLSM外汇#property indicator_level1 0.00
在数值0.00的位置绘制一条水平虚线。
二、参数、变量和数组的定义
全局参数、变量和数组在此部分进行定义,局部变量可以在start()函数中声明。
三、初始化函数init()
init()函数在自定义指标加载时仅运行一次。
该函数的主要功能是进行初始设置。如果指标需要绘制线条,则必须使用此函数。
四、主函数start()
当数据发生变化时,start()函数会被触发,数据每变动一次,start()就运行一次。
自定义指标的核心编程逻辑主要集中在此函数中。
start()函数的作用包括获取数据、为指标线赋值,以及在此处触发报警。
此外,还有一个反初始化函数deinit()
deinit()在自定义指标卸载时运行一次,用于清除init()函数加载时所做的初始化操作。
