在Linux桌面系统运行MetaTrader 4客户终端

Bazilevich Vadim | 28 一月, 2016


简介


与大多数程序一样, MetaTrader 4客户终端是只为Windows操作系统家族开发的, 长期以来Linux操作系统的爱好者没有办法使用. 使用vmware模拟器运行此程序不算. 这个模拟器使用了太多的资源. 并且它不是开放源代码的, 本文作者认为这并不好. 另外, 这个不错程序的开发者要求在收到和使用他们产品之前注册, 每个新版本还变得更为困难. Lin4Win 也是一样. 它也是要求付费的, 所以开源爱好者的选择面并不宽 - 只有 wine. 这个程序是按GPL版权发布的, 这使得全世界有大量的程序员参加开发了这个非模拟器程序. 这就是为什么这个程序的新版本平均一个月出两次, 有时候还更频繁. 随着每个新版本的发布, 原来只在Windows下运行的程序有越来越多可以使用此模拟器运行了. 现在让我们直接运行MetaTrader 4客户终端.


MetaTrader 4 安装准备


为了开始使用MetaTrader 4, 我们需要以下软件:

  1. FontForge (fontforge_full-20061019.tar.bz2) - 字体编辑器, 用于创建以下我们自己的字体类型: postscript, truetype, opentype, cid-keyed, multi-master, cff, svg 和 bitmap (bdf, FON, NFNT) 或者编辑现有的脚本. 实际上它在开始阶段并不是必须的, 但是晚些时候您将会需要这个程序. 最好使用最新版本. 在撰写本文时, 版本的以上链接是正确的;
  2. 非模拟器 wine (http://www.winehq.com/), 该软件的开发者坚称, wine并不是一个真正的模拟器. 他 (软件开发者) 是更有资格评判的. 作者安装使用的版本是 wine-0. 9.21, 下载于 http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=77449. 当写这篇文章的时候, 作者很欣喜地发现有了新版本wine - 0.9.23. 使用哪个版本差别都不大. 但是不要早于0.9.21. 因为缺乏时间, 作者没有试验过更早的版本. 晚些时候这一点会更加清楚;
  3. MetaTrader 4 客户终端;
  4. 为了启动MetaTrader 4客户终端, 需要使用MFC42.DLL 库文件. 该库属于Windows XP操作系统. 它的长度是 995383 字节.

下面两个时刻对于用户在Linux-桌面安装MetaTrader非常重要:

  1. 本文作者想得, 在wine系统下运行MetaTrader 4出现的错误可能与MFC42.DLL的版本不对有关系, 所以特别指出了库文件的长度. 可能更有经验的Windows用户知道如何找到库文件的版本. 在只使用Linux工作五年以后, 作者甚至已经对比尔.盖茨的软件外观都不习惯了;
  2. MFC42.DLL 库文件, 晚些时候会放到wine系统中, 名字必须完全相同(所有大小写). 对于 *nix 家族操作系统, 文件名相同而大小写不同的话, 是不同的文件. 所以如果您找到的库文件名或者扩展名含有小写字母, 请重新命名它.

需要在您的电脑上安装启用了X-server的Linux, 并且支持*.ttf字体. 有两种方法可以做到后面这点.

第一种方法是使用Windows 字体. 它们肯定被保存在 Windows\Media\Fonts 文件夹下或者在 Windows-machine.

第二种方法是合法的一种. 使用以下链接: http://www.microsoft.com/truetype/fontpack/win.htm, http://www.sisyphus.ru/srpm/fonts-ttf-xorg您可以找到并且在Linux系统下安装和Window接近的字体.

根据您使用的发布, 安装字体的位置可能会不同. 在理想的情况下, 它们可能已经安装在您的系统中了. 如果没有, 请在 xorg.conf 或者 xconfig.conf 文件中指定位置. 它们可能在 /etc/X11 以下的某个地方. 阅读一下您分发包中的X-server安装包内容将对您找到正确位置有所帮助. 在您找到此文件以后, 定义一个此目录的路径, 指向借来的 ttf 字体文件的位置. 如果此文件已经包含其他字体的路径, 您只需要增加您的目录, 指向ttr字体的位置.

实例:


增加了 Paths: /usr/X11R6/lib/X11/fonts/TTF_win, /usr/X11R6/lib/X11/fonts/TTF_corel_u, /usr/X11R6/lib/X11/fonts/TTF_corel_w.


MetaTrader 4 的安装


如果所有准备工作就绪, 您就可以开始安装了. 我们就按照所需软件列表中列举的程序的顺序开始. 所以, 从FontForge开始. 安装操作或者至少"make install"命令应该使用root超级用户权限执行. 解开 "fontforge_full-20061019. tar.bz2" 包, 把源文本文件放到任意目录(您可以创建一个临时目录), 然后在解包目录下开始自动配置命令 ./configure. 在自动配置结束以后, 开始编译命令 - make. 当它结束 - make install. 当最后一个命令执行完, 软件包就安装好了.

为了使程序的更新包装操作更加方便以及使不同的发布程序包拥有不同的名字, 让我们创建一个程序包. 作者认为, 用于安装包创建的最好程序就是创建大量通用Linux分发版的程序'checkinstall' (http://asic-linux.com.mx/~izto/checkinstall), 当前版本为 1.6.0. 为了在执行编译的目录创建安装包, 在解包并安装之后, 需要执行checkinstall命令, 此命令会帮助您在交互模式下创建一个安装包用于您的分发.

在安装完fontforge_full-20061019.tar.bz2包以后, 您可以开始wine的安装了. 解开安装包的过程和之前没有多少区别.

用户应该注意以下几点:

  1. 为了不重新启动wine安装包的编译, 需要在目录中提供足够大的空间, 当wine将要编译时, 大约是1.5Gb;
  2. wine的编译和普通编译有点不同. 它在解开的目录下面有个子目录名为./tools. wineinstall程序正是应该在那里开始的;
  3. 如果此命令是由超级用户 root 启动的, 由 wineinstall 启动 autoconfiguration 不会运行. 所以必须用当前用户名执行 wineinstall;
  4. 配置的速度, 以及之后编译和安装wine程序的速度, 都依赖于您计算机的运行速度;
  5. 当 autoconfiguration 结束后, 会使用标准命令 make 和 makeinstall;
  6. 结束安装可以使用与安装包制作相同的程序 - checkinstall;
  7. 其中这些命令: make install 和 checkinstall 必须由超级用户 - root 来执行. 在这个特殊案例中, 您可能会面临独立分区空间不足的问题, 因为(在安装包创建时)创建的文件很大. 所以这种情况我们就不需要为wine制作一个安装包了. 程序没有它也可以运行.

运行 MetaTrader 4


第一次运行 MetaTrader 4可以这样执行: 'wine . /mt4setup.exe'. 之后标准的MetaTrader 4安装窗口就会打开. 作者想来不需要在本文中展示MetaTrader安装的屏幕截图了, 因为每天使用Linux的合格用户是足以不需要提示就能安装这个程序的. 新版本的wine通常不需要额外的设置. 如需使用声音, 用户如果更偏向ALSA声音子系统的话, 可能就需要读一下设置文件或者运行winecfg以在交互方式下进行设置.

实例:




在执行以上命令 'wine ./mt4setup.exe' 之后, 会在当前用户的home目录下自动创建一个新的目录 '.wine' . 所以, 为了避免改动'.wine'目录的权限并且把它移动到真正使用MetaTrader 4用户的目录中, 作者强烈推荐由使用MetaTrader程序的人来运行此命令. 本文作者要向Linux专家致歉, 对于这样的常用事实还如此详细讲述一番.

MetaTrader 连接终端的设置和 Windows 上是一样的.

终于我们完成了.

为了在任何窗口管理器的菜单中都可以启动MetaTrader 4, 您可以使用以下命令序列:

'cd /home/user/.wine/drive_c/'Program Files'/MTrader4/; wine ./terminal.exe', 其中 /home/user 是当前用户的home目录.

这就是运行结果:



祝大家顺利 Basilevich Vadim aka bvv2001.

备注. 未来作者打算写一篇描述程序的文章, 用来帮助交易者在 Linux平台上的操作. 在文章审核期间, 作者有机会从以上提到的网站中下载并使用了新wine版本0.9.24来检验MetaTrader的运行. 安装新版本的过程和本文描述的是一样的. 简单看来, 新版本wine上启动MetaTrader的时间减少了15%到20%.