您現(xiàn)在的位置:程序化交易>> 外匯現(xiàn)貨>> MT5>> MT5知識>>正文內(nèi)容

MT5 / MQL5新功能新函數(shù)首次大曝光 [MT4]

  • 我只能進行一下簡短的描述。


    MetaTrader 5 和 MQL5的高水準讓大多數(shù)人感興趣。
    MQL5中根本的改變是面向對象編程的出現(xiàn)。我不會在面向對象編程方面走得更深,那只是給資深程序員提供了更多的可能性。對于那些喜歡MQL4并且不懂得面向對象編程方法的人來說,在MQL5里仍然可以用MQL4的方式編程,而不使用面向對象功能。區(qū)別只是如果你要使用這個功能,就必須重新學習。
    讓我們看一個簡單的例子:Ask和Bid變量沒有了。為了取得賣出價,需要調用以下函數(shù):
    復制代碼
    1. SymbolInfoDouble(Symbol(),SYMBOL_BID);

    不需要頻繁使用Low[0] 或 iLow ( Symbol(), PERIOD_D1, 0 ),但你可以很容易重建他們,新函數(shù)把歷史數(shù)據(jù)逐個讀入內(nèi)存,從某一K線到另一K線,或從一個選定的時間到另一個選定的時間。通過預讀數(shù)據(jù),整個可見的變化范圍都被讀入內(nèi)存。不管你是否需要,它已經(jīng)被讀入內(nèi)存了;比如你需要讀入一分鐘的數(shù)據(jù),那么從1999年(如果存在有效歷史數(shù)據(jù)的話)到此時此刻的一分鐘數(shù)據(jù)都會被讀入內(nèi)存。
    下面的例子只讀入必要范圍的數(shù)據(jù)。極大的節(jié)省了時間和內(nèi)存。
    復制代碼
    1. MqlRates rates_arrayG[];
    2. Int Bar=30; // 從當前K線開始只讀入30個K線的數(shù)據(jù)
    3. iCopBar=CopyRates(Symbol(),PERIOD_M1,0,Bar,rates_arrayG);

    這個功能既節(jié)省時間又節(jié)省內(nèi)存。
    這樣的功能性變化并不嚇人,我們只需要花點時間學習一下函數(shù)指針。
    我等待已久MQL的一些有用的創(chuàng)新:
     OnTimer() – 處理時間事件的函數(shù)(可以使EA的工作不再單純依賴tick數(shù)據(jù)的觸發(fā));
     OnTrade()-處理交易事件函數(shù)-交易倉位的開立、關閉或數(shù)量的變化。
     OnChartEvent() – 處理來自鼠標和鍵盤的消息。
    讓我們仔細研究一下這些功能:
    要調用OnTimer()函數(shù),需在OnInit()函數(shù)(EA初始化事件處理器)里初始化計時器。
    例如:
    復制代碼
    1. //+------------------------------------------------------------------+
    2. //| |
    3. //+------------------------------------------------------------------+
    4. int OnInit()
    5. {
    6. EventSetTimer(1); //每一鈔鐘將會提交給 OnTimer()函數(shù)
    7. }
    8. //+------------------------------------------------------------------+
    9. //| |
    10. //+------------------------------------------------------------------+
    11. void OnDeinit()
    12. {
    13. EventKillTimer(); // 退出時必須調用取消時間基準
    14. }
    15. //+------------------------------------------------------------------+
    16. //| |
    17. //+------------------------------------------------------------------+
    18. void OnTimer()
    19. {
    20. MqlDateTime str1;
    21. TimeGMT(str1); // 新函數(shù)取得 GMT 時間
    22. Comment(str1.hour
    23. ,str1.min
    24. ,str1.sec
    25. ,str1.day
    26. ,str1.mon
    27. ,str1.year
    28. ,str1.day_of_year
    29. ,OrdersTotal()
    30. ,PositionsTotal()
    31. );
    32. }

    因此,控制不只象早先那樣能夠在收到tick數(shù)據(jù)時得到,還可以從時鐘控制器上得到,這樣可以編寫實時的易處理程序,有了這個功能,更復雜的系統(tǒng)可以創(chuàng)建。
    我喜歡OnTrade()函數(shù),這個函數(shù)在下列交易事件被觸發(fā)時調用:訂單放置、止損或止盈被激活、改變止損或止盈數(shù)值、放置/刪除一個待辦定單。
    現(xiàn)在監(jiān)視事件與交易操作之間的關系更容易了。現(xiàn)在不用在每個tick發(fā)生或K線產(chǎn)生時循環(huán)檢查定單狀態(tài)了。這樣的循環(huán)檢查在MQL4中被使用,這極大地削弱了程序的性能。因此,在優(yōu)化過程中特別重要。
    讓我們仔細研究一下OnChartEvent()函數(shù)。這個函數(shù)在以下幾個事件發(fā)生時調用。我沒有逐個測試,但這個目錄給人印象深刻:
     CHARTEVENT_KEYDOWN — 鍵盤按下事件;
     CHARTEVENT_OBJECT_CLICK —在一個圖表上繪制的物件被鼠標點擊事件;
     CHARTEVENT_OBJECT_DRAG —在一個圖表上繪制的物件被鼠標移動事件;;
     CHARTEVENT_OBJECT_ENDEDIT — 文本編輯結束事件;
     CHARTEVENT_CUSTOM+n — 定制事件的識別;
     CHARTEVENT_CUSTOM_LAST —定制的最后一個事件的識別.
    高水平管理交易和圖表的能力-這是開發(fā)者事先承諾過的
    新的圖表物件、按鈕、進入域出現(xiàn)了。圖表管理變得非同尋常,甚至可以插入來自于文件的圖片-這個選項給那些喜歡特別設計的人提供了很多可能性。這不是Photoshop,這是MQL5 和 MetaTrader 5的結果。通過這些功能,你可以創(chuàng)建自己的按鈕或添加進入域,例如,一個關閉所有打開訂單的按鈕或預先設定好止損止盈的快速買入和賣出按鈕。


    有一個另人不愉快的事實:那就是指標里不能創(chuàng)建物件,這是為了使指標執(zhí)行得更快。好消息是他們知道了這一點,可能會讓一個圖表上可以執(zhí)行多個EA。這樣我們可以創(chuàng)建一個帶有物件的“EA指標”,這個EA不交易,象指標一樣操作。現(xiàn)在,問題是這樣解決的:在一個圖表上運行一個交易EA,這個EA在可以在第二個圖表上創(chuàng)建物件,二者可以互換。
    我試著把我的一個MQL4突破指標轉換成MQL5的,用了好幾個小時,大部份時間用在學習函數(shù)和調試上了。不過MQL5的程序代碼已經(jīng)變得很短了。
    至于終端方面,讓我印象最深的是數(shù)據(jù)周期的數(shù)目。在我看來,已經(jīng)過多了。但是,大量的時間周期對一些交易者可能有用。現(xiàn)在創(chuàng)建任意時間周期只需要一步。所有的數(shù)據(jù)都是以一分鐘周期存儲的,因此轉換成任何不同的周期都沒有問題-這是一個重要的技術解決方案。
    在歷史數(shù)據(jù)目錄里,現(xiàn)在沒有不同時間周期的文件了。


    另一個另人愉快的新功能是現(xiàn)在我們可以清除日志文件了。


    這只是MetaTrader 5簡短的評價。在這么短的時間內(nèi)我無法描述系統(tǒng)全部的新功能。2009年9月9日開始測試,這是一個象征性的日子,我確信它將是一個幸運數(shù)字。自從我得到MetaTrader 5 終端 和 MQL5的測試版,幾天過去了,還沒能試遍它的所有功能,但我已經(jīng)印象非常深刻了。
    來自METAQUOTES的魔術師們創(chuàng)造了一個不可思議的產(chǎn)品。我是一個有25年經(jīng)驗的開發(fā)者,我看到了很多項目的開始并一定能夠完成。
    獻上最好的祝福
    Yuriy Zaytsev
    Skype: yurazyuraz
    翻譯者:bcsunwww
    MetaQuotes 官方網(wǎng)站英文原文地址:http://articles.mql4.com/854

【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內(nèi)容
主站蜘蛛池模板: 久久婷婷人人澡人人喊人人爽| 欧美卡4卡1卡2卡3超清免费| 用电动玩具玩自己小视频| 欧美高清xxx| 极品人妻少妇一区二区三区| 日本全黄三级在线观看| 精品久久人人妻人人做精品| 特级毛片www| 最近2019免费中文字幕视频三| 无翼日本全彩漫画大全全彩| 天天射天天操天天干| 婷婷国产偷v国产偷v亚洲| 大肉大捧一进一出好爽视频动漫| 国产精品丝袜黑色高跟鞋| 国产一区二区不卡老阿姨| 亚洲精品无码av人在线观看| 久久综合中文字幕| stars120| 国产91小视频| 男人边吃奶边做性视频| 机机对机机的30分钟免费软件| 欧美在线成人午夜网站| 日本伊人精品一区二区三区| 大豆网52dun怪汉网如如| 国产女人好紧好爽| 你是我的城池营垒免费观看完整版| 亚洲三级黄色片| 乱yin合集3| 一级做a爱过程免费视频高清| 6080夜福利| 精品日韩欧美一区二区在线播放| 欧美午夜艳片欧美精品| 性猛交╳xxx乱大交| 国产特级毛片aaaaaaa高清| 午夜不卡av免费| 九色综合狠狠综合久久| a级毛片免费全部播放| 萌白酱喷水视频| 欧美中文在线视频| 大奉打更人最新章节| 国产一级生活片|