您现在的位置: 比特财富网 >> 财经 >  >> 外匯
替代MetaEditor的第三方編輯器解決方案

mt4升級後,采用了mt5的編輯器,當你的中文注釋越來越多的時候,輸入會越來越慢,老半天還不顯示字符。www.emoneybtc.com鑒於此,我們很有必要選用第三方編輯器來解決問題了。用第三方編輯器我們必須解決三個問題,一是編譯,二是關鍵字輸入提示,三是代碼高亮顯示。

 

我選擇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]++^([!-

 

 

  • 創業板選股兩要件三提防

    參與IPO申購,只要有錢盡管大膽參與,上市後破發可能性極小。但若二級市場高位接棒,尤其是長期持有,就需謹慎而行了。因為一則,創業板多有風投潛

  • 售匯制

    什麼是售匯制   售匯制是指境內企事業單位、機關、社會團體和個人需用外匯,可按規定持有效憑證,用人民幣到外匯指定銀行購買外匯,對

  • 如何成為一個成功的外匯操盤手

    外_匯_邦 WaiHuiBang.com   “能成為成功的投資人或大操盤手,一出手市場就跟著你的呼吸脈動,甚而主導市場的方向。”這是某些投

  • 學生兼職要交個人所得稅嗎?

    最佳答案: 一般情況下,個人兼職取得的工資收入應按照“勞務報酬所得”應稅項目繳納個人所得稅。大學生兼

  • 正規的兼職會先交錢嗎?

    最佳答案: 正規的兼職是不需要先交錢的,如果在找兼職的過程中,對方讓你先交錢,什麼保證金、押金之類的

  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com