MetaTrader 5 云加計(jì)算技術(shù)_第1頁
MetaTrader 5 云加計(jì)算技術(shù)_第2頁
MetaTrader 5 云加計(jì)算技術(shù)_第3頁
MetaTrader 5 云加計(jì)算技術(shù)_第4頁
MetaTrader 5 云加計(jì)算技術(shù)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、MetaTrader 5 中的多線程測試您可以長長地列舉出新型 MetaTrader 5 交易平臺的所有優(yōu)勢,也可以提出它比金融市場中其它技術(shù)分析程序都要更好的諸多理由。而該平臺還有一個更加無可辯駁的支持論據(jù):即 MetaTrader 5 客戶端中的策略測試儀。我們會在本文中為您講述其絕佳的功能,您也就能明白,是什么樣的功能能夠讓 MetaQuotes 軟件公司的開發(fā)人員如此驕傲。第 5 代的客戶端不僅配備了一種強(qiáng)大且快速的新型 MQL5 編程交易策略語言,還有一種從頭開始設(shè)計(jì)的絕對全新的“策略測試儀”。此測試儀不僅用于接收基于歷史數(shù)據(jù)的交易策略測試的結(jié)果,還允許對其實(shí)施優(yōu)

2、化,即,找到最優(yōu)參數(shù)。策略優(yōu)化是某交易策略在同一歷史時段上的多路運(yùn)行,帶有其所依賴的不同參數(shù)組。這是一種標(biāo)準(zhǔn)的大量運(yùn)算任務(wù),可以并行,而且您可能已經(jīng)猜到了 - MetaTrader 5 中的測試儀為多線程!實(shí)際上也就是說,我們現(xiàn)在該來看看來自標(biāo)準(zhǔn)發(fā)行包的某“EA 交易”的優(yōu)化示例了。測試條件出于上述目的,我們采用一臺配有 Intel Core i7 (8 核心,3.07 GHz)、12 GB 內(nèi)存、Windows 7 64 位操作系統(tǒng)及 MetaTrader 5 build 1075 的計(jì)算機(jī)。來自標(biāo)準(zhǔn)交付包、含有下述參數(shù)的“EA 交易” Moving Avera

3、ge.mq5 接受了測試:§ 交易品種:EURUSD H1§§ 價格模擬模式:1 分鐘 OHLC (一分鐘柱線上有開盤價、最高價、最低價和收盤價)§ 優(yōu)化類型:緩慢完全算法,計(jì)算次數(shù)總計(jì) 14,040優(yōu)化參數(shù):本地代理上的優(yōu)化首先,在本地代理上運(yùn)行優(yōu)化。我們擁有八個測試代理,這也是最佳內(nèi)核數(shù)的數(shù)字。禁止從本地網(wǎng)絡(luò)使用遠(yuǎn)程代理和MQL5云網(wǎng)絡(luò)的代理:優(yōu)化結(jié)束后,轉(zhuǎn)到日志:在8個本地代理上進(jìn)行14,040次通過需要1小時,3分,44秒。2015.02.05 16:44:38統(tǒng)計(jì)本地 14040 次任務(wù) (100%),遠(yuǎn)程0 次任務(wù) (0%

4、),云端 0 次任務(wù) (0%)2015.02.05 16:44:38統(tǒng)計(jì)優(yōu)化通過時間1 小時3分46秒2015.02.05 16:44:38測試優(yōu)化結(jié)束,一共通過14040次使用代理本地區(qū)域的優(yōu)化如何并行執(zhí)行更多的任務(wù)?當(dāng)然,您可以購買內(nèi)核數(shù)更多的處理器。然而,這不會使您增加同時發(fā)生的任務(wù)數(shù)。策略測試解決了這個問題。您可以在您的本地網(wǎng)絡(luò)創(chuàng)建您自己的處理代理區(qū)域。如何創(chuàng)建代理區(qū)?如果是本地網(wǎng),代理應(yīng)該安裝在每臺電腦上。如果MetaTrader 5安裝在電腦上,使用“工具”菜單的相應(yīng)命令,打開測試代理經(jīng)理。 另外,下載獨(dú)立的應(yīng)用程序,用來管理代理 MetaTrader 5 策略

5、測試代理 并通過簡單的安裝過程。在經(jīng)理中,打開代理標(biāo)簽:1. 選擇必須安裝的代理數(shù)量。代理必須根據(jù)邏輯內(nèi)核數(shù)來安裝。 2. 輸入將用于連接所用代理的密碼。3. 選擇連接的端口范圍。4. 點(diǎn)擊添加。這就是它的全部。代理已經(jīng)準(zhǔn)備好使用本地網(wǎng)絡(luò)的其他電腦。如何連接您的代理?代理只需幾下點(diǎn)擊即可連接。在程序端打開策略測試并轉(zhuǎn)到“代理”標(biāo)簽。選擇“本地網(wǎng)絡(luò)區(qū)”并在上下文菜單中點(diǎn)擊“添加”。最簡單最快捷的方式自動掃描本地網(wǎng)絡(luò)的IP地址和端口范圍。選擇它們,輸入安裝過程中指定的代理連接密碼。點(diǎn)擊“完成”,找到的所有代理將都可用于測試。速度測試我們已經(jīng)在8個本地代理基礎(chǔ)上,添加了20個遠(yuǎn)程

6、代理。因此我們總共擁有28個代理,這是我們原有的3.5 倍。讓我們優(yōu)化我們的EA交易,看看它能執(zhí)行得有多快吧。2015.02.05 15:14:44    統(tǒng)計(jì)    本地 3412 次任務(wù) (24%),遠(yuǎn)程10628 次任務(wù) (75%),云端 0 次任務(wù) (0%)2015.02.05 15:14:44    統(tǒng)計(jì) 優(yōu)化通過時間 15分鐘 47 秒2015.02.05 15:14:44     測試     優(yōu)化結(jié)束,一共通過14040

7、次四分之三的任務(wù)通過遠(yuǎn)程代理來執(zhí)行。優(yōu)化時間減少到15分鐘 47秒,這幾乎要快4 倍。增長速度驚人,但該解決方案并不是所有人都可以使用。但不要擔(dān)心。甚至有機(jī)會更快地優(yōu)化EA - 讓我們試著使用MQL5云網(wǎng)絡(luò)代理!利用 MQL5 云網(wǎng)絡(luò)實(shí)現(xiàn)優(yōu)化這一次我們不用本地代理,而是只采用 MQL5 云網(wǎng)絡(luò)代理。點(diǎn)擊“開始”按鈕,并觀察優(yōu)化進(jìn)度。此視頻可實(shí)時顯示進(jìn)度。使用MQL5 云網(wǎng)絡(luò),優(yōu)化過程會加快150倍!優(yōu)化過程中,MQL5 云網(wǎng)絡(luò)的每個節(jié)點(diǎn)都都向可用代理分配任務(wù)(多個單運(yùn)行)。優(yōu)化僅耗時 26 秒,實(shí)現(xiàn)高達(dá) 147 (!) 倍的加速。交易員可能需要在一段合理的時間內(nèi)運(yùn)行數(shù)十萬次

8、優(yōu)化計(jì)算。利用 MetaTrader 5 測試儀,您在 MQL5 云網(wǎng)絡(luò)中的計(jì)算僅需一個小時,而如果沒有網(wǎng)絡(luò),則您要花費(fèi)幾天的時間?,F(xiàn)在,只需一次點(diǎn)擊,您就可以調(diào)用成千上萬個核心來處理一個任務(wù)。而且,它對所有人都開放!那么它是如何運(yùn)作的呢?MQL5 云網(wǎng)絡(luò)囊括成千上萬部計(jì)算機(jī)MQL5由一個個節(jié)點(diǎn)(專用服務(wù)器)構(gòu)成,測試代理都是連接到它們執(zhí)行任務(wù)。這些節(jié)點(diǎn)都是管理器(池程序),因它們會根據(jù)地理位置將全世界的代理組合成一個更大的池。閑置模式下,每個代理都會發(fā)送信息,通知其已做好執(zhí)行任務(wù)的準(zhǔn)備。此類信息的間隔取決于MQL5云網(wǎng)絡(luò)的當(dāng)前負(fù)載。同時,此網(wǎng)絡(luò)的每個節(jié)點(diǎn)也都被視為訪問MQL5云網(wǎng)絡(luò)的一個點(diǎn);

9、利用MQL帳戶詳情連往它們的一個終端。MQL5 云網(wǎng)絡(luò)服務(wù)器列表以及通過它們可獲得的云代理數(shù)量,都可以在該終端的 Tester (測試儀)窗口 "Agents" 選項(xiàng)卡中找到。處于閑置模式、未忙于執(zhí)行其由某臺本地計(jì)算機(jī)或本地網(wǎng)絡(luò)接收的本地任務(wù)的代理免費(fèi)使用。如果代理正忙,則其不會嘗試從MQL5云網(wǎng)絡(luò)獲取任務(wù)。完成本地計(jì)算之后幾分鐘內(nèi),代理就會與最近的MQL5云網(wǎng)絡(luò)取得聯(lián)系并提供其服務(wù)。因此,您的測試代理只會在您不需要它們的時候才會在網(wǎng)絡(luò)上工作。當(dāng)然,代理會遵照設(shè)定的時間安排在網(wǎng)絡(luò)上工作。MetaTrader 5 Agents Manager(代理管理器)易于安裝且

10、所需設(shè)置極少,正因如此,才能實(shí)現(xiàn)網(wǎng)絡(luò)于任何指定時間內(nèi)都有成千上萬的可用測試代理。MQL5 云網(wǎng)絡(luò)的綜合統(tǒng)計(jì)和已完成的任務(wù),可于項(xiàng)目主頁上獲取。利用 MQL5 云網(wǎng)絡(luò)代理運(yùn)行分布式計(jì)算與常規(guī)優(yōu)化類似,您需要設(shè)置所有的測試選項(xiàng)和“EA 交易”的輸入?yún)?shù)。在此之前,不要忘記在終端設(shè)置中指定您的 MQL5.社區(qū)登錄并允許使用 MQL5 云網(wǎng)絡(luò)。下圖顯示的是四個必需步驟。點(diǎn)擊 "Start" 按鈕,則優(yōu)化過程開始。終端會為測試代理準(zhǔn)備一個任務(wù),其中包括:§ 一份擴(kuò)展名為 EX5 的“EA 交易”編譯文件。§ 利用指令 #property tester_i

11、ndicator 和 #property tester_library (云中明確不允許 DLL)啟用的指標(biāo)與 EX5 庫§ 利用指令 #property tester_file啟用的測試所需數(shù)據(jù)文件§ 測試/優(yōu)化條件(金融工具的名稱、測試間隔、模擬模式等)§ 交易環(huán)境(交易品種屬性、交易條件等)§ 構(gòu)成整組所需計(jì)算次數(shù)的“EA 交易”參數(shù)的設(shè)定,即任務(wù)MetaTrader 5 終端會與 MQL5 云網(wǎng)絡(luò)節(jié)點(diǎn)通信,并賦予每個節(jié)點(diǎn)一個獨(dú)立的任務(wù)包以執(zhí)行特定的計(jì)算次數(shù)。每個節(jié)點(diǎn)實(shí)際上都是一個代理服務(wù)器,因?yàn)樗?/p>

12、會接收一個任務(wù)和一個計(jì)算次數(shù)包,然后再將這些任務(wù)分配給與其連接的各個代理。在這種情況下,“EA 交易”、指標(biāo)、庫和數(shù)據(jù)文件均不存儲于 MQL5 云網(wǎng)絡(luò)的硬盤驅(qū)動器中。而且,出于機(jī)密性考慮,EX5 文件也不存儲于云代理的硬盤驅(qū)動器中。數(shù)據(jù)文件被保存于磁盤上,但優(yōu)化過后即刪除數(shù)據(jù)文件。此即您的客戶端與 MQL5 云網(wǎng)絡(luò)間通信的全部流程 - 實(shí)際上也就是向網(wǎng)絡(luò)發(fā)送任務(wù)包并等待結(jié)果。云中同步以及向代理分發(fā)的歷史MQL5 云網(wǎng)絡(luò)的每個節(jié)點(diǎn)都會保存所需交易品種的歷史,并根據(jù)要求將其發(fā)送到與 MQL5 連接的代理。如果代理 ABC 處沒有交易品種 XYZ 的歷史,那么節(jié)點(diǎn)就會自動從您的終端下載必要的歷史數(shù)據(jù)

13、。因此,您的終端應(yīng)做好提供此類來歷的準(zhǔn)備。我們建議您在電腦上就某項(xiàng)策略執(zhí)行一次單項(xiàng)測試,然后再將其發(fā)送給 MQL5 云網(wǎng)絡(luò)。此方案會自動提供某個交易服務(wù)器所有必需歷史的下載和同步。一般來說,一部現(xiàn)代計(jì)算機(jī)上會安裝 4 到 8 個代理,而歷史數(shù)據(jù)則存儲于 MQL5 策略測試儀代理安裝目錄下的一個單獨(dú)文件夾內(nèi)。通過一個 MQL5 策略測試儀代理管理器安裝的所有的云代理,都從此文件夾接收歷史數(shù)據(jù)。如果安裝了 8 個代理,而且全都可供 MQL5 云網(wǎng)絡(luò)使用,僅需一次即可完成所需歷史的下載。如此則允許您節(jié)約流量和硬盤空間。而且,還方便在云代理與分布式計(jì)算網(wǎng)絡(luò)的節(jié)點(diǎn)間執(zhí)行同步。因此,在給定的時間

14、間隔內(nèi)根據(jù)給定的交易品種對交易策略執(zhí)行優(yōu)化的所有代理,都會自動接收到相同的同步歷史和市場環(huán)境。預(yù)熱 本地計(jì)算機(jī)優(yōu)化如何執(zhí)行?如果您有 8 個核心,則您通常默認(rèn)可用 8 個本地代理。點(diǎn)擊 "Start" 時,任務(wù)即被分配到各個本地代理,下載所需內(nèi)容(如有必要),過程開始。在這種情況下,優(yōu)化幾乎是即時開始的。但是如果您將任務(wù)分配給MQL5云網(wǎng)絡(luò),則流程會稍有不同。云代理并不是永久性地與網(wǎng)絡(luò)管理器連接,這種做法在技術(shù)上未必合理,而且成本高昂(不管是何理由)。反之,代理會定期訪問 MQL5 云網(wǎng)絡(luò)服務(wù)器,看看是否有其新任務(wù)。這一動作的頻率多到足夠確保所需數(shù)量代理的快速調(diào)動

15、,而且又少到此類信息不足以令網(wǎng)絡(luò)流量過載。因此在您執(zhí)行優(yōu)化時,您可以看到連接到您任務(wù)執(zhí)行的代理數(shù)量的增長。此為云代理接往 MQL5 云網(wǎng)絡(luò)并接收特定計(jì)算次數(shù)任務(wù)的實(shí)時進(jìn)程。如果沒有任務(wù),則代理很少會聯(lián)系管理器。但是如果出現(xiàn)了數(shù)千次(數(shù)萬次)計(jì)算的任務(wù),則又是另一種情況。我們可以說 MQL5 云網(wǎng)絡(luò)的活動量會增長,而在完成任務(wù)后,新任務(wù)的代理應(yīng)用數(shù)量又會減少。而且,比如說完成了一個來自歐洲的任務(wù)之后,又有來自亞洲的其它任務(wù),則該網(wǎng)絡(luò)會做好快速啟動的準(zhǔn)備。您可以將網(wǎng)絡(luò)的這種行為稱為“預(yù)熱”。由此,MQL5云網(wǎng)絡(luò)再次做好接受新任務(wù)、并在可能最短的時間內(nèi)執(zhí)行的準(zhǔn)備。使用 MQL5 云網(wǎng)絡(luò)!每過去一年,“時間就是金錢”這句話都會成為更被熱議的話題,我們不能承受重要運(yùn)算幾十小時甚或幾天的等候。撰寫本文之際,MQL5云網(wǎng)絡(luò)已經(jīng)實(shí)現(xiàn)了100倍的計(jì)算增長。隨其進(jìn)一步的增長,時間的節(jié)約量還會增長到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論