2026-11-13
MT4指标编程入门(九):自定义指标结构详解
MT4自定义指标一般由四个部分构成:

文件头部
参数、变量和数组的定义
初始化函数init()
主函数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、#property indicator_level1 0.00
用于在0.00值位置横向绘制1条虚线
参数、变量和数组的定义
全局性质的参数、变量和数组在此处进行定义;局部变量则可在start()函数内定义
初始化函数init()
init()函数在自定义指标加载时运行一次
该函数的主要功能是进行“设置”,若自定义指标需要绘制线条,则必然会用到此函数
主函数start()
当数据出现变动时,start()函数就会被触发;数据每变动一次,start()就会运行一次
自定义指标的编程工作主要依赖于该函数来完成
start()函数的主要作用是获取数据以及为指标线赋值,KCM外汇报警操作也在此函数内发起
此外,还有一个反初始化函数deinit()
deinit()在自定义指标被卸载时运行一次,可用于清除指标加载时init()函数所执行的初始化操作