如何在幾分鐘內將 MT4 指標轉換為 MT5

已發表: 2021-02-03


新加坡交易者的最佳外匯 VPS

如何在幾分鐘內將 MT4 指標轉換為 MT5:您是否希望將在 MT4 上運行的專家顧問轉換為確保它們也可以在 MT5 平台上運行?

這裡沒有長方法!

我們將指導您以如此簡單的方式將 MQL4 代碼轉換為 MQL5 語言代碼; 你會很高興的! 革命性的 MetaTrader 系列的成功歸功於 Metaquotes Inc,現在他們終於決定將 MT5 標記為未來的軟件。

該公司似乎將大部分精力集中在 MetaTrader 5 平台 (MT5) 上,毫無疑問,它比 MT4 更好。

那麼,您將如何遷移? 繼續閱讀!

為 MT5 獲取外匯 VPS

為什麼在幾分鐘內從 MT4 切換到 MT5

對於這個計劃中的遷移,程序員和交易者面臨的最大疑問是,考慮到MT4 和 MT5不能同時運行這一事實,您如何才能在 MT5 平台上有效地運行以 MQL4 語言編寫的專家。

當我們更深入地研究這個問題時,我們會遇到一些事實,例如:

  • MT4 和 MT5 不能使用相同的編程語言運行。 因此,編碼為在 MT4 上工作的專家將無法在 MT5 上工作,從而使場景變得困難。
  • MT4 的未來非常枯燥乏味,我們可以在關於 MT4 未來更新的公告之後引用這一點。 因此,該軟件現在將沒有足夠的汁液。
  • Metaquotes 對 MT5 的功能進行了許多更改,因此與 MT4 相比,它獲得了更多的功能優勢。

如何將MT4指標成功轉為MT5:核心流程

在 MT5 上使用 MT4 EA 在技術上似乎是不可能的,並且需要修改現有 MQ4 EA 的源文件(其中的一些元素)以使其在 MT5 上完美運行。

如果您充分了解 MQL4 的語言和環境與 MQL4 的不同之處,那麼您當然可以執行所有這些修改。

在這裡,我們將在 MT4 EA by Average.mq4 EA 的幫助下演示 MT4 EA 到 MT5 格式的轉換。 之所以選擇它,首先是它預裝了所有的MT4安裝,其次大多數程序員都熟悉這個EA。

為外匯交易獲取優化的 VPS

使用示例“Moving Average.mq4”並將 MT4 EA 轉換為 MT5 EA

  • 在 MetaEditor 4 中,您將找到名為“MQL4\Experts\Moving Average.mq4”的源文件,您必須打開該文件。
  • 按 Ctrl + A、Ctrl + C 選擇 + 複製所有文本。
  • 按F4鍵打開MetaEditor你發現MT4客戶端是打開的。
  • 在您從所需的經紀商處成功下載 MT5 桌面終端后,打開 MT5 客戶端的實例。
  • 現在,打開 MetaEditor 5 並創建一個新的 EA(模板),就像我們在下面演示的那樣。
  • 填寫“名稱”字段,並為您的 EA 模板分配一個合適的名稱。 完成此操作後,您將在 MT5 上構建您即將推出的 EA。
  • 現在,在通過點擊 Ctrl + A 選擇模板上的所有文本並將它們全部刪除後,粘貼您從 MT4 複製的文本。

MetaTrader 5 帶有其他訂單系統,(例如,打開、關閉、選擇、發送等)方法。 然而,對於從 MT4 到 MT5 EA 的轉換,根據我們的專家,最簡單的方法是使用一個庫 - mq4.mqh。

更遠…

我們推薦這個庫,因為它允許程序員在 MQL5 中以與在 MQL4 中相同的方式操作訂單。 簡而言之,該庫允許 OLS(訂單語言系統)變得類似於 MQL4。

您可以在線從選定的程序員那裡獲得mq4.mqh庫文件。 在從一位這樣的程序員那裡獲得我們的功能後,我們添加了一些功能。 我們將所有內容合併到一個文件中。 該庫旨在僅涵蓋訂單系統。

  • 確保 MT5 平台的實例已打開
  • 打開 MT5 平台後,點擊文件 -> 打開數據文件夾“...\MQL5\Include”。
  • 將庫文件 (mq4.mqh) 拖放到此文件夾。
  • 刷新 MT5 平台現在很重要。 關閉它並再次打開它。
  • 現在打開 MetaEditor5 和智能交易系統的源代碼。
  • 在 SimpleEA.mq5 的源代碼中,添加字符串: #include <mq4.mqh>
  • 將字符串添加到源代碼後,按“F7”按鈕並彙編 SimpleEA.mq5 的源代碼。 此外,MetaEditor 5 的工具欄上還提到了“編譯”選項。
  • 完成組裝後,你會得到兩個錯誤。 這就是強調 MT4 和 MT5 平台之間區別的地方。

您只需在 MetaEditor 4 中編寫 iMA,其中“shift”是價格蠟燭的編號。 需要為 MetaEditor5 上的每個 EA 和函數創建句柄,以通過該句柄從 EA/指標中獲取值。

獲得最佳外匯 VPS

如何將 MT4 指標轉換為 MT5:更改源代碼

在這一部分中,我們將專注於編輯 MT4 的源代碼,以確保它在 MT5 上完美運行。 這些源代碼更改僅適用於指標,因為您在此處更改的只是源代碼中的一行。

如何將 MT4 指標轉換為 MT5

現在,讓我們描述進行這些更改的步驟。 我們可以?

  • 為 MA 指標句柄創建一個變量 Integer 類型以啟動該過程。
  • 為其分配一個名為 INVALID_HANDLE 的值。 下面的圖片解釋了相同的。

如何將 MT4 指標轉換為 MT5

EA 交易和指標帶有 OnInit() 部分,用於在運行時進行初始化。 形式如下:

MT4 到 MT5

您可以使用幫助文件來閱讀此內容。 要訪問 MetaEditor5 上的幫助文件,只需點擊“F1”鍵。 您還可以在 MQL5 社區中找到一份文檔,其中提供了許多您可以在幫助文件中找到的信息。 使用此鏈接訪問此文檔 –

https://www.mql5.com/en/docs/basis/function/events

獲得最佳外匯 VPS
  • 此外,將此代碼(源代碼)添加到我們的 EA 文本中。 如果沒有此部分,請在 MetaEditor 5 中按 Alt + M。

如何將 MT4 指標轉換為 MT5

  • 函數列表中出現了五個函數,但您會看到默認情況下不存在 OnInit() 函數。 因此,我們必須手動對其進行敘述,下圖將向您展示如何創建它:

如何將 MT4 指標轉換為 MT5

  • 要查看與源代碼配對的 OnInit() 函數,只需點擊 Alt + M。

獲得最佳外匯 VPS
  • 現在,在 OnInit() 部分中編寫以下代碼

MT4 到 MT5

在 MT4 MetaEditor 中,一般需要編寫如下代碼:

另一方面,該代碼被描述為 MT5 指標的句柄,這也是您在 MT5 中編寫以下代碼的原因:

  • 現在,要從移動平均 EA 中獲得價值,只需使用句柄編寫一個函數,您將在即將到來的圖像中看到它:

如何將 MT4 指標轉換為 MT5

正如我們之前所討論的,創建一個函數對於使用 MetaEditor5 獲取 EA/指標的值是必要的,我們用於獲取值的函數有一個我們稱為 CopyBuffer() 的字符串。

它的工作是將數據從指標複製到您的數組,並以特定數量獲取給定指標的給定緩衝區的數據。

只需通過鏈接 -https://www.mql5.com/en/docs/series/copybuffer 閱讀可用的文檔。

獲得最佳外匯 VPS

代碼如下:

MA 有 1 個緩衝區,編號為“0”。 現在,從 MA 複製一個值。 它在 MetaTrader4 中編寫如下:

最後一個“0”匹配圖表上最後一根蠟燭的 MA 值(零蠟燭)。 在 MT5 MetaEditor 中,您將得到如下編寫:

  • 從索引位置,您必須將一個值複製到 MA 數組。
  • 在編譯代碼時,首先清除這兩個錯誤。 為此,請指出第一個記錄錯誤,然後雙擊它。
  • 現在,您將移至 EA 的 MT5 源代碼中的錯誤位置。 對於此實例,您將在第 114 行獲得錯誤代碼。

如何將 MT4 指標轉換為 MT5

  • 您必須刪除指示錯誤的行並將其替換為包含 MaGet(0) 代碼的字符串,就像我們在下面指出的那樣。
獲得最佳外匯 VPS

錯誤代碼始終用紅色墨水加下劃線,您可以在下方找到 ma MaGet(0) 代碼。

如何將 MT4 指標轉換為 MT5

  • 刪除錯誤代碼並放入 MaGet(0) 字符串後,您可以按 F7 鍵並再次編譯代碼。
  • 編譯源代碼後,您會注意到現在只會出現一個錯誤。
  • 為了替換最後一個錯誤代碼,需要遵循我們在清除之前的錯誤代碼時採用的相同順序。 到達錯誤代碼的行,雙擊它,評論和替換! 而已!
  • 您會發現綠色墨水在錯誤代碼下劃線。 在下面,您會找到代碼,它將替換錯誤部分。 這就是我們消除錯誤的方式。

MT4 到 MT5

您必須使用以下字符串進行替換,並且您即將進行:

if (打開[1]>MAGet(0) && 關閉[1]<MAGet(0)

  • 註釋和替換錯誤代碼後,代碼的編譯是強制性的。 在按照我們之前通過點擊 F7 鍵的方式編譯源代碼後,您會看到所有錯誤都已刪除。
  • 我們已經介紹了將 MT4 EA 轉換為可在 MT5 上使用的合適版本的整個過程。 因此,您現在可以在 MT5 平台上方便地運行它!

如何將 MT4 指標轉換為 MT5:結論

乍一看如何將 MT4 指標轉換為 MT5 似乎是一個難以回答的問題,但我們上面提到的方法使這成為現實。 想像一下,在 MetaEditor 5 編程界面上構建整個程序是多麼可悲,而且從頭開始也是如此。

幸運的是,該快捷方式可用,我們在此處進行了相同的描述。 最近,MT5 的使用量顯著增加,甚至有望出現關於從 MT4 切換到 MT5 的新方法。 MT5平台不斷發展。

MT5 平台經過了多次修改,在接下來的時間裡,我們也期待添加更多功能。 毫無疑問,它比MT4要好得多。

外匯交易新手,或對您當前的外匯 VPS 託管計劃不滿意?

好吧,Accuweb 託管的外匯計劃為外匯 VPS 託管設定了新的基準,以 6 個不同的價格點提供超方便的計劃。

用戶對這些計劃的外匯交易體驗感到滿意,如果您是外匯新手,千萬不要錯過機會! 您還將獲得 7 天免費試用。 點擊此處了解更多信息。

獲得最佳外匯 VPS