- 显示:
- 1322
- 等级:
- 已发布:
- 2016.12.27 12:37
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
这个很小的跨平台开发库使得可以方便快捷地比较"价格"中的'双精度(double)'值。
例如,在设置限价卖出时,有时候需要检查建仓价格是否低于当前的买家报价。
// if (NormalizeDouble(OpenPrice, Digits()) >= NormalizeDouble(Bid, Digits())) // 这个方法是最常使用的 if (CP(OpenPrice) >= Bid) // 现在可以看起来这样做 OrderSend...;
现在,这不仅看起来比标准类型的检查更加清晰明确,而且执行速度也快了几倍!这种对计算资源的高效使用有时候会保证在测试器/优化器中的明显提速。
也可以设置在比较 '双精度' 值时使用的精度,例如,
if ((CP(Lots, 0.01) >= MinLot) && ((CP(Lots, 0.01) <= MaxLot))) // 使用两位小数精度做比较 OrderSend...;
所有的比较操作符 (==, !=, >=, <=, >, <) 是以相同方式处理的。
这个库包含了对NormalizeDouble的快速实现,为了提高标准函数的执行速度,只要在开始部分加入下面的代码:
// 与标准的函数相比差不多快4倍 (build 1395) #define NormalizeDouble PRICE_COMPARE::MyNormalizeDouble
作为实例,附件中的脚本显示了不同价格值比较和规范化的结果。
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/16169

基于平滑的 FATL 和 SATL 数字过滤器以及它们之间信号趋势云的指标。

MACD 柱形图,基于 FATL 和 SATL 数字过滤器,含有指示趋势的颜色。

基于 Elliott_Wave_Oscillator 指标算法的信号灯信号指标,它可以提醒,发送电子邮件以及向手机设备中发送推送通知。

一个简单的趋势指标,计算了最高价和最低价的上涨和下跌。