4.1.1 停损价位验证

4.1.1 停损价位验证

我们要建立两组功能来计算并验证停损。先是简单计算指定价格上下的停损价位,并返回一个布尔值,表示指定价格落在停损价位内部或外部。第二组功能会自动调整价格以落在停损价位外部,加上或减去指定的点数。

下面的功能验证价格是否高于停损价位上限(入单价加上停损价位)。若是如此,功能返回真(true),否则为假(false)。



我们把货币符号、欲验证的价格及入单价(选项)当作自变量传递。在默认情况下,停损价位的计算按卖价而定。如有指定argOpenPrice,停损价位的计算就会按该价格而定(验证挂单的停损价与获利价时用这个功能)。

此功能会查看argVerifyPrice是否大于UpperStopLevel(停损价位上限)。若是,返回值将为真(true),反之为假(false)。你可以此功能检查有效的停损、获利挂单价,无须修改原始价格。下面是检查停损价并显示错误讯息(如价格无效)的例子:


本书附录D中有检查低于目前市价或挂单价的停损价位代码。

第二组的功能类似,不同之处是第二组会把无效的停损价、获利价或挂单价自动调整为有效的价格:



自变量argAdjustPrice如为有效,即为我们要验证并调整的价格。我们已新增可选参数argAddPips。调整无效的价格时,会增加停损价的指定点数。

如前所述,计算停损价位不是按卖价就是按argOpenPrice参数。如argAdjustPrice参数落在停损价位内(即无效),价格会调整至停损价位外,以argAddPips的指定点数为间距。

如argAdjustPrice指定价格为有效,此价会传回给调用功能。无论如何,你都想把返回值用于获利价、停损价或挂单价。我们会以本书的众多功能验证停损价位,从而调整价格。附录D中有计算并验证停损价位下限的功能源代码。