You are currently viewing 再談MT4與CPU親和性

早前已討論過新一代Intel CPU的E-core怎樣影響到MT4回測(backtesting)的表現、及在工作管理員內設定 CPU affinity 來解決問題。詳細內容可參閱「為何新電腦跑MT4 Backtesting比舊電腦更慢?」這文章。

這次,我會再詳細討論怎樣利用免費軟件Process Lasso去設定MT4的CPU親和性。就算是使用沒有E-core的AMD CPU,按我朋友的經驗,設定後的確會加快MT4回測的速度。

Process Lasso Free 是一款免費的程序管理程式,它能夠自動判斷那些程序過度佔用 CPU 資源,且佔用的時間太長,而導致電腦卡住速度變慢。它能智慧的自動調降這些程序的優先權,減少他們對CPU資源的佔用,讓其他程式能夠繼續正常的工作。而我們要使用Process Lasso的主要原因是在Win工作管理中設定MT4的CPU affiinity只是暫時性的,在重啟MT4後我們需要重新去更改設定。但利用Process Lasso,我們只需進行一次設行便可以了。

 

下戴及安裝Process Lasso Free

首先,大家可以到 https://bitsum.com/下載Process Lasso Free。之後以預設值安裝程式。之後可參照以下兩個方案對MT4進行設定。

 

方案1 – 關閉Efficiency Mode

假如你使用的是Intel新一代、擁有E-core的CPU,我們可透過關閉Efficiency Mode來使MT4不會被指派到E-core來解決回測慢的問題。

  1. 啟動MT4及Process Lasso Free。
  2. 先按[Process name]以名稱排列電腦上運行中的程式,找到Terminal.exe (MT4的主程式名稱)後 Right-click,再點選 [Efficieny Mode]、[Always]、[Off]。
  3. 如電腦上安裝了多個MT4,請對每一個MT4重覆以上步驟。

留意圖中Efficiency Mode Always Off這項目是不能被選的,這是因為筆者的電腦是沒有E-core的舊型號CPU。

 

方案2 – 設定CPU Affinity (CPU親和性)

如果你用的是Intel 舊一代CPU或AMD的CPU、或發現方案1不能解決問題,我們可以設定CPU affinity。步驟如下:

  1. 啟動MT4及Process Lasso Free。
  2. 先按[Process name]以名稱排列電腦上運行中的程式,找到Terminal.exe (MT4的主程式名稱)後 Right-click,再點選 [CPU affinity]、[Always]、[Select CPI affinity]。
  3. 在[Select CPU affinity]對話框中應可看到CPU cores的列表。你可以把所有E-core uncheck (E-core應被標記為 CPU xxE)。但我較傾向只點選一個CPU core。
  4. 如電腦上安裝了多個MT4,請對每一個MT4重覆以上步驟。如是點選一個CPU core的,請針對每一個MT4設定不同的CPU core。

為何我會建議只點選一個CPU core呢? 其實主要原因是考慮到整個回測怎快也需要數分鐘的時間。而在這期間,作業系統有可能會把轉換執行回測的CPU core。這樣,回測的進行速度會受到影響。 詳細原因就不在這𥚃解說了(反正懂的會懂,不懂的看了還是不會懂)。

希望這篇文章對你有幫肋!

 

返回 《自動程式交易 – 首頁

發佈留言