每个MQL4程序都允许用户指定额外的特定参数,称为#property
。这些属性帮助客户端终端正确地为程序提供服务,而无需明确地启动它们。这主要关系到指标的外部设置。在包含的文件中描述的属性将被完全忽略。属性必须在主mq4文件中指定。
1. 基础用法
基本语法为:
#property 标识符 值
此指令将告诉编译器在执行模块的配置中写入声明的值。
2. 常见属性与描述
- strict:指示编译器使用严格的编译模式。
- icon:EX4程序图标的文件路径。
- link:公司网站的链接。
- copyright:公司名称。
- version:程序版本,最多31个字符。
- description:MQL4程序的简短文本描述。描述的总长度不能超过511个字符,包括换行符。
- stacksize:MQL4程序堆栈大小。执行函数递归调用时,需要足够大小的堆栈。
3. 示例
为了让我们更好地理解这些属性如何在实际中使用,让我们看几个示例:
指定版本和描述
#property version "1.2.3"
#property description "交易策略分析工具"
#property description "适用于各种交易市场"
#property description "支持多种指标和算法"
在此示例中,我们指定了程序的版本和多行描述。
为程序指定图标
#property icon "images/my_icon.ico"
此处我们为程序指定了一个图标。
指定指标属性
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
在这个示例中,我们指定了指标应该在图表窗口中显示,使用两个缓冲区,并分别为这两个缓冲区指定了蓝色和红色。
4. 虚拟主机迁移相关属性
对于希望在虚拟主机上工作的程序,tester_file
、tester_indicator
和tester_library
属性用于描述在虚拟主机上工作所需的文件列表。
例如,如果一个专家顾问需要读取一个名为”trade_patterns.csv”的文件,并使用一个自定义指标,我们可以这样指定:
#property tester_file "trade_patterns.csv"
#property tester_indicator "smoothed_ma.ex4"
总结
#property
指令为MQL4程序开发人员提供了一个方便的方式来定义程序的附加参数和属性,从而为客户端终端提供更好的服务。利用这些属性,开发人员可以为其程序提供更丰富的信息,提高程序的可用性和用户体验。