下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

显示:
668
等级:
投票: 14
已发布:
2016.03.14 14:27
\MQL4\Include\

注意:非官方的解决方案,可能无法在其他版本的MetaTrader中使用

在标准MQL4函数中有一个非常有用的函数MarketInfo() ,它返回“Market Watch”窗口中列出的金融标的的各种信息。然而在某些情况下,需要标的的一些附加信息。例如,“Market Watch”窗口列出的货币对在列表中的顺序,其完整的描述,或者经纪商能提供的完整金融交易标的列表。

我们知道,对于“Market Watch”窗口的任何改变,终端都会打开并修改历史文件夹中的二进制文件symbols.sel。分析此文件的结构显示,对每一个“Market Watch”窗口中的交易标的,终端都有一个128字节的结构体用于记录它。最先的12个字节是标的名称,剩余字节被其他信息所填充:Bid, Ask, High, Low, 等。交易标的的顺序同 "Market Watch" 窗口中的顺序。如果用户改变其顺序,那么会立刻反映在文件中。


注意:最开始的4个字节是为MQL版本保留的,它们是常量


然而,文件symbol.sel中的信息可能并不完整。尤其是当 "Market Watch" 没有完整列出金融交易标的时。因此,如果你需要一个完整的由经纪商提供的可交易标的列表,那么这个方法就会起作用了。基于分析文件symbols.raw的方法是由kaisa提出的。然而,使用API函数来实现并不是最佳方案。

这个问题可以通过“纯粹”的MQL语言来解决。分析这个文件的结构显示,每一个标的都被记录在一个大小为1936字节的二进制结构体中。最初的12字节用于标的的简称,接着的64个字节包含交易标的的扩展描述。

在此分析的基础上开发了一个库,其中包含若干用于获取终端上加载的金融交易标的更多信息的函数。

这里是函数列表:

SymbolsList

- 返回交易标的列表(在 "Market Watch"中列出的或者所有标的)。

SymbolDescription

- 返回指定标的的详细名称描述。

SymbolType - 返回金融交易标的的类型。

使用此库的样例在SymbolsSample.mq4脚本中呈现。


本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/9102

MACD_Signals MACD_Signals

基于MACD的信号指标

ytg_Zodiac_V0 ytg_Zodiac_V0

星象指标。黄道标记。当前标记

LeManSignal LeManSignal

这个指标显示交易信号。

灵敏的分型 灵敏的分型

分形的敏感指标。