zsgh 发表于 2006-8-21 09:29

MT4.0 Build 195 自动中文语音报价

MetaTrader 4 自动中文语音报价 zsgh 2006.08.18

有幸在网上发现了“MT4.0自动语音报价脚本@wfy05”,无耐初次使用并不成功,几经周折,才知道脚本已经更新至1.4版,各大网站、论坛却只对初始脚本原文不动的转载,已不适用于新版本的MT4.0。几经周折才找到wfy05大哥的Blog,我把内容总结了一下,希望大家都能用上。

一、安装过程如下:

1、首先下载和windows的中文语音包, 只有2M不到, 该网站链接如下:
http://www.ccview.net/software/ccspeech.htm

WinXP的一般下载上面的"简体中文语音库(男声)即可, 其他低版本的Windows可能需要下载一些其他组件,具体可以看该网页上的说明.
(声明一下:本人与该网站无关, 也仅测试了一下该网站上的中文语音包,不保证该网站上的软件下载的安全, 请大家下载后自行验证查对.如果有非WinXP系统的成功使用也请发帖说明一下具体需要安装哪些组件方便后来的朋友..)

2、然后可以进行脚本的安装, 只需要将附件"自动语音报价.mq4"复制到你MT4安装目录下的experts目录即可, 比如你MT4安装在C:\Program Files\MetaTrader 4\则复制到C:\Program Files\MetaTrader 4\experts

3、再把SpeechText.dll复制到MT4的experts\libraries\目录下

重新启动MT4后, 应该可以在导航窗口里面的智能交易列表里面找到自动语音报价
这个项目, 安装到这里就算完成了.



二、使用方法:(以我现在用的MT4.0 Build 195为例)

1、首先你开启MT4的智能交易系统: 在工具栏上点下启动智能交易的按钮,让其处于绿色的按下状态。

2、打开你所要进行自动报价的商品的数据图, 再双击智能交易列表里面的“自动语音报价”, 在参数设置页面"常规"里,将"安全性-->允许导入动态链接库"打勾, 然后确定就可以按照默认设置进行报价了.

3、如需更改设置, 可以在确定前点数如参数页里面进行更改或者在随时点击数据图右上角自动语音报价旁边的圆脸即可弹出设置窗口.

4、如需同时对多种商品进行报价, 则另开一个数据窗口,重复以上步骤即可.




三、参数使用说明

设置项目名因为MT4的限制只能为英文字母和数字,这里做一下解释:

Enabled:选true(是)则表示开启报价, false(否)则临时禁止报价.

UseBid:是否选用买入价, true表示用买入价,false表示使用卖出价.

SpeakInterval:设置同一个图标两次报价之间的最小时间价格.以秒为单位,如果该数值设置为0, 则将在语速允许的范围内对每次的数据变动报价.

SpeakDelta:用来控制是否报两次报价之间的变化点数以及变化的范围. 设置为0表示不报差价,否则如果两次报价间变化大于等于该设置数值则报价同时报上涨或者下跌了多少点. 如果该数值设置为1则每次都报变化点数.

LogMessage:是否将每次报价记录到只能交易系统的日志窗口.

Range1Min:用来设置第一个报价范围的最小点数.
Range1Max:用来设置第一个报价范围的最大点数.
Range2Min:用来设置第二个报价范围的最小点数.
Range2Max:用来设置第二个报价范围的最大点数.



2、只有当当前商品的价格处于 或者的范围内才会报价,这样可以用来避免不必要的报价.默认为所有价位范围 , 即对任何数据进行报价.这个范围需要根据自己需求以及货币种类进行设置使用.比如现在EURUSD在1.18下附近波动, 上升阻力位为1.1800, 则可以将Range1Min设置为1.1800, Range1Max设置为一个足够大的数据比如99999.9, 则汇价升破1.18的阻力位都将自动进行语音报价. 如果当前在支撑位1.1800附近震荡, 则可以将Range1Min设置为0,Range1Max设置为1.1800, Range2Min以及Range2Max保持为0即可,当大幅度在支撑和阻力间震荡时如需同时设置支撑和阻力范围可以通过Range1以及Range2配合进行设置.


3、Format为字符串设置项,用来设置进行报价的字符串格式.其中, 用"%"包围的为动态变量, 比如%PRICE%表示PRICE变量,这里是用来表示当前的价格,在输出语音前将会用当前价格替换%PRICE%

目前支持的变量列表如下:

SELL_CURR    表示当前卖出的货币名
BUY_CURR表示当前买入的货币名
PRICE表示当前商品的价格 (买入还是卖出价格取决于UseBid的设置)
ACTION 表示当前是买入价还是卖出价
ADD_DIR 表示当前报价与上次报价之间的价格差方向为上涨还是下跌
ADD 表示当前报价与上次报价之间的价格差点数

其他任何不在'%'之间的字符都将被原样朗读出来,转化后的字符串中空格不影响朗读, 标点符号将产生停顿.(一般为了简洁就不用标点了)

用起来实际上很简单的, 比如默认的格式字符串:
%SELL_CURR% 兑 %BUY_CURR% %ACTION% 价为 %PRICE% %ADD_DIR% %ADD%
这个格式实际输出时大概就是这样的:
欧元 兑 美元 买入 价为 1.1810 上涨 1点

比如前面bsun提到的需要只用直盘报价的类似" 欧元 1.1810"就可以用如下格式:
%SELL_CURR% %PRICE% %ADD_DIR% %ADD%
(变动点数范围仍然可以通过SpeakDelta参数调节, 设置为0则不报变动, 可以不调整格式)
另外注意如果需要报美元在前的比如USDCHF, 则用格式:
%BUY_CURR% %PRICE% %ADD_DIR% %ADD%


四、如何暂停/删除自动语音报价功能

1、如需要临时禁止单窗口的自动报价, 可以将设置里面的Enable设置为false.需要恢复时候重新改为true即可.

2、如需要删除单窗口的自动报价, 可在该窗口点击右键选择智能交易->删除即可,但该窗口的自动报价设置将被删除.

3、如需临时禁止所有窗口的自动报价, 点击工具栏上的启动智能交易将其弹起为红色即可.重新点击即可恢复.

4、如需完全删除自动语音报价, 在智能交易列表中的自动语音报价右键点击后选删除.


附件"自动语音报价.mq4"为mq4标准脚本源代码, 大家可以直接用记事本或者MetaTrader
系统的编辑器打开后察看内容验证安全性或者修改.


附件下载:http://zsphoto.org/viewFile.asp?BoardID=16&ID=21655
解压密码:zsgh

广修供养 发表于 2006-8-21 09:41

MANY THANKS


HAVE AGOOD DAY

cxdl 发表于 2006-8-21 11:38

楼主你好强

sxz133 发表于 2006-8-21 13:00

谢谢!

onlymo 发表于 2006-8-21 13:17

谢谢

多多益善 发表于 2006-8-21 13:27

谢谢!很实用的帖子。强烈支持!

又见K线 发表于 2006-8-21 14:27

谢谢楼主,先收藏了!

zsgh 发表于 2006-8-21 21:40

不客气~~

紫底红龙 发表于 2006-8-21 21:53

请允许我转贴你的大作(一定列明出处的)。。。

zsgh 发表于 2006-8-22 00:14

好东西就要让大家一起分享
页: [1] 2
查看完整版本: MT4.0 Build 195 自动中文语音报价