8.4 样本或账号限制
当你决定出售你可获利的EA给其他交易人员时,你会想到提供一个测试版本让潜在的买家试用。为避免你的EA被免费散布,或被未授权人员交易,你要增加某些账号限制,以限定只限已授权人员使用EA,甚至会限制某些特殊的经纪商使用。
对一测试账号限制使用,可使用IsDemo()函数检查目前活动账号是否为一测试账号。若目前账号并非测试账号,将显示一警示且终止EA的执行。源代码如下:

我们可用AccountName()及AccountBroker()分别对账号名称、号码及经纪商进行检查。透过账户号码限制使用EA是一种常见且易于实行的保护方法。

可用AccountName()或AccountBroker()进行类似的设置。如果你要使用AccountBroker(),你首先需使用Print()语法从经纪商那里获取正确的回传值,这个值将打印于EA记录中。
若你决定出售EA,需知MQL在编译破解上很容易,你有许多方法可让黑客更难破解你的EA,诸如把函数放于外部数据库或DLLS中,但最终对于恶意的破坏者是防不胜防的。