MetaTrader 5 build 2485: MQL5中iCustom的改进和整体优化

程序端


    优化并显著加快对自定义交易品种的柱形图历史编辑。此次改进还涉及到CustomRatesUpdate函数。


    修正将自定义交易品种设置导出到JSON文件的问题。


    修复崩溃日志中报告的错误。


MQL5


    这个版本提供了通过iCustom修改自定义指标加载算法。


    如果在自定义指标名称前指出反斜杠符号'\',则相对于MQL5根文件夹搜索EX5指标文件。因此,对于调用iCustom(Symbol(),Period(),"\FirstIndicator"...),该指标将被加载为MQL5\FirstIndicator.ex5。如果在此路径中找不到此文件,则返回错误error4802(ERR_INDICATOR_CANNOT_CREATE)。


    如果路径不是以反斜杠'\'开始,则将根据以下操作顺序搜索并加载指标:


    如果在子目录(例如MyIndicators\ThirdIndicator)中设置指标路径,则在以下路径下从调用程序的文件夹(EA交易位于文件夹MQL5\Experts\MyExperts)中开始搜索:MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5。失败的情况下,将搜索文件MQL5\Indicators\MyIndicators\ThirdIndicator.ex5。请注意,路径分隔符应指定为双反斜杠'\\'。例如:iCustom(Symbol()、Period()、"MyIndicators\\ThirdIndicator"...)


    另外,如果在程序代码中找到通过iCustom进行的自定义指标调用,则编译器将隐式添加"#propertytester_indicatorXXX"指令(如果未指定)。


    在调用程序EX5所在的文件夹中搜索EX5文件。例如,CrossMA.EX5EA交易位于MQL5\Experts\MyExperts。它包含以下调用:iCustom(Symbol()、Period()、"SecondIndicator"...)。在这种情况下,将在MQL5\Experts\MyExperts\SecondIndicator.ex5中搜索指标。


    如果没有找到指标,则执行相对于指标根目录的搜索:MQL5\Indicators。因此,将搜索文件MQL5\Indicators\SecondIndicator.ex5。如果找不到指标,则该函数返回INVALID_HANDLE并引发错误4802(ERR_INDICATOR_CANNOT_CREATE)。


    优化并显著加快HistorySelect函数的速度,该函数可以请求交易和订单的历史记录。


    修正通过CopyTicksRange函数进行报价请求时出现的错误。该错误可能导致范围的开始设置为开始日期而不是指定时间。


    通过Alert函数,优化和显著加快预警显示的速度。


    交易品种最后报价时间(以毫秒表示)的新属性YMBOL_TIME_MSC。该属性可以使用SymbolInfoInteger函数获取。


标签: MetaTrader 5
来源:ouying编辑:ouying发布时间:2020-09-17 10:23:22
首页
产品
新闻
联系