替代MetaEditor的第三方编辑器解决方案

阅读 :
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com

mt4升级后,采用了mt5的编辑器,当你的中文注释越来越多的时候,输入会越来越慢,老半天还不显示字符。鉴于此,我们很有必要选用第三方编辑器来解决问题了。用第三方编辑器我们必须解决三个问题,一是编译,二是关键字输入提示,三是代码高亮显示。

 

我选择UEStudio12,这个软件在业内广受好评,而且有稳定的破解版可用,我们只为了解决mql4编码问题,所以不必考虑这个IDE升级,也没必要让它升级。

 

一、编译ex4

 

运行UE,高级->工具配置:

 

UEStudio12_1.png

 

按照图中的内容填写。MQL4编译器可以在官站下载,下载后的mql.exe(32位编译器下载,64位编译器下载)拷贝到UEStudio安装目录,命令行填写:mql.exe /mql4 "%f%r" ,工作目录选择这个安装目录。点击确定。在主菜单高级中就出现了一个新的工具。

 

UEStudio12_2.png

 

编辑好.mq4文件后,点击这个工具,就会在.mq4路径下生成一个.ex4文件了。编译信息会在UE下方显示:

 

UEStudio12_3.png

 

如果有错误,会提示错误编号以及源码所在的行列。

 

我不是很肯定用这个编译器编译出来的ex4是否会出错,建议最终还是到MetaEditor中编译成型。

 

顺便说一下帮助文件的安装,在mt4中打开数据文件夹,在/MetaQuotes/Terminal/Help里面将mql4.chm拷贝到UE安装文件夹,双击即可使用。

 

二、关键字输入提示与高亮显示

 

UEStudio安装文件夹中有一个/wordfiles,这里面是存放关键字的配置文件,我新建了一个laoyeemql4.uew,用记事本输入了所有的mql4的常量、关键字、命令符,做好了自定义函数匹配语句,以及高亮显示语句。

 

UEStudio12_4.jpg

 

这样的效果与MetaEditor是不是一样呢?

 

三、附上laoyeemql4.uew源码

 

/L1"mql4 laoyee" MQL4_LANG Line Comment = // Block Comment On = Escape Char = / String Chars = "' File Extensions = mq4

/TGBegin "Function"

/TGFindStr = "%^([a-z_][a-z_0-9^[^]*]++^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./()!]++)[~;]"

/TGEnd

 

//基本颜色与字体

/Colors = 0,8421504,8421376,8421376,255,

/Colors Back = 16777215,16777215,16777215,16777215,16777215,

/Colors Auto Back = 1,1,1,1,1,

/Font Style = 0,0,0,0,0,

 

//括号匹配

/Open Brace Strings =  "{" "(" "["

/Close Brace Strings = "}" ")" "]"

/Open Fold Strings = "{"

/Close Fold Strings = "}"

//自定义函数筛选

/TGBegin "Function"

//return type on separate line from function name and args

/TGFindStr = "%^([a-z_][a-z_0-9^[^]*]++^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./()!]++)[~;]"

//C++ class member functions, class::name args

/TGFindStr = "[ ^t]++^([a-z_][a-z_0-9]++::[a-z_^~][a-z_0-9]++^)[ ^t^p]++([^p*&:, ^t^[^]/*^-'=:&a-z_0-9./(!]++)[~;]"

//type name args

/TGFindStr = "%[a-z_][a-z_0-9^[^]:&]++[ ^t*]+[*&]++^([a-z_][a-z_0-9]++^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./(!]++)[~;]"

//type type name args

/TGFindStr = "%[a-z_][:a-z_0-9*&$^[^]*]++[ ^t]+[a-z_][:a-z_0-9*&$^[^]]++[ ^t*]+[*&]++^([a-z_][a-z_0-9]++^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./(!]++)[~;]"

//type type type name args

/TGFindStr = "%[a-z_][:a-z_0-9^[^]*&]++[ ^t]+[a-z_][:a-z_0-9*&^[^]]++[ ^t]+[a-z_][:a-z_0-9*&^[^]]++[ ^t]+[*&]++^([a-z_][a-z_0-9]++^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./(!]++)[~;]"

//Functions with preceding spaces/tabs(causes false positives)

/TGFindStr = "%[ ^t]++[a-z_][a-z_0-9^[^]:&]++[ ^t*]+[*&]++^([a-z_][a-z_0-9]++^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./(!]++){++$"

/TGBegin "Parameter"

/TGFindStr = "[ ^t^p]++^([~,]+^)"

/TGFindBStart = "("

/TGFindBEnd = ")"

/TGEnd

/TGBegin "Variable"

//type name;

/TGFindStr = "%[ ^t]++^([a-z0-9_]+[ ^t^*]+[a-z0-9^[^]_]+^);"

/TGFindBStart = "{"

/TGFindBEnd = "}"

//type name = init;

/TGFindStr = "%[ ^t]++^([a-z0-9_]+[ ^t^*]+[a-z0-9^[^]_]+^)[ ^t]++=*;"

/TGFindBStart = "{"

/TGFindBEnd = "}"

/TGEnd

/TGEnd

/Delimiters = ~!@%^&*()-+=|//{}[]:;"'<> , .?

/Member String = "^([a-z0-9_:.]+^)[ ^t^*&]+$S[ ^t^[^]a-z0-9_]++[(-);,]"

/Variable String = "%[ ^t]++^([!-

 

 

欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:替代MetaEditor的第三方编辑器解决方案 - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/40563.html

相关文章

  • MQL4基础:语法

    目录[hide] 注释 标识符 保留字 MQL4 的语法类似于C语言,除了以下这些特点:没有地址运算符; 没有 do &#8230; while 语句; 没有 goto &#8230; 语句; 没有 [条件][表达式 1]:[表达式 2] 语句; 没有复合数据...

    MQL4编程学习
  • 初窥EA(自动交易系统)

      随着国内金融市场的进一步开放和扩大,人们花在投资上的时间和精力,会越来越多,而投资就必然有风险。单纯的人工看盘分析行情进行交易,显然愈来愈力不从心,因为投资者所面对的是每时每刻都在变化增...

    MQL4编程学习
  • 外汇延迟高频交易EA介绍,剥头皮利器
    外汇延迟高频交易EA介绍,剥头皮利器

    关于延迟交易,这里做大概说明。MT4平台的价格都是来源于伦敦国际金融中心,由于各个外汇交易商服务器网络速度等差异,造成不同平台从伦敦金融中心传输到各自MT4平台的报价时间上并不完全一致,报价慢的平台...

    MQL4编程学习
  • 外汇EA文件的安装和使用
    外汇EA文件的安装和使用

    很多外汇新手下载了不少EA,但不知道怎么安装和使用,今天Besty来个简单的教程,让大家学下: 1、下载了EA,应该放在那个文件夹呢? 首先当然把下载好的ea文件解压好,看到文件格式为.ex4,之后要寻找一下MT4客户端的文件夹。在...

    MQL4编程学习
  • MQL4数组处理相关函数(一)

    用于数组处理的一组函数。数组的最大维数为四维。每一维索引编号为0至(数组大小 减 1)。例如,在50个元素的一维数组中,调用第一个元素用array[0],最后一个元素用array[49]。ArrayBsearch() &#8211; 数组搜索 Ar...

    MQL4编程学习
你可能感兴趣