mt5你如何把腳本轉化為ea
❶ 外匯EA的EA的開發
外匯EA在MT4平台上進行開發,採用MQL4語言編寫交易策略,EA的文件形式是mq4文件或ex4文件,其中mq4文件是源碼文件。 這種語言可以創建你自己的智能交易,使自己的交易策略能夠完全自動地執行。而且,MQL4 還能自定義客戶指標,腳本和資料庫。內包含了大量可以分析當前及歷史報價所必須的函數,以及一些基本的運算和邏輯操作。並內置了一些基本的指標和操作命令。
打開MT4軟體的MetaEditor編輯器,選擇新建-智能交易系統,就可以開始開發自己的EA了。MQL4語言的基本語法類似於C語言,MetaEditor內含詳細的幫助文件,可以幫助開發者正確地使用各種交易函數和操作指令。開發完成後需要進行編譯和歷史回測,並對EA的參數設置等進行不斷優化,對EA的風險進行准確的評估之後再用於實盤賬戶運行。
❷ 平板電腦怎麼往mt5軟體上安裝ea
現在主流的都是MT4,MT5不是很穩定,而且它的歷史數據容量也沒有MT4大,建議你可以使用下MT4的模擬 你可以試試GKFX的MT4模擬,英國FSA監管的
❸ MT4與MT5操作有什麼不同
MT5是MT4的升級版,實際上只是界面外觀大概一致,後台所用到的指標,幾乎都無法直接使用,並不兼容.
到目前為止,還有如下一些區別:
1.MT4和MT5的指標腳本EA,依然兼容性很差,可以理解為2個獨立的東西.只是語法上有很多類似的.
2.MT5增加了更多的周期,滿足更多不同的需要
3.歷史數據載入不同.MT4採用hst,每個周期一個文件,而MT5則都是從1分鍾在內存中轉換,效率更高,也意味著內存需要更大.同時MT5的方式也缺乏靈活性.
4.訂單上,MT4可以開相反方向的訂單,比如buy
1手和sell2手,而MT5這會被合並起來變成空1手.這個在查看歷史記錄的時候,無法核對變得非常不方便.
5.現在大家看到的平台,很多都只提供MT4.支持MT5的平台只有少量.而client端大家也基本都在用MT4,MT4已經足夠強大,夠用了.
6.語法上的差別. MT4的語法偏向面向過程,簡單而強大.
❹ mt4平台ea怎麼在mt5平台用
MT4的EA不能在MT5上使用,基礎語言已經不同,MT4基礎語言是C,5的是C++,MT5的EA編寫函數更嚴謹,功能也強大了,4的EA模型想在5上運行,必須重新寫。
❺ MT4中的EA,腳本,怎麼用,怎麼添加怎麼刷新
方法如下:
1. 首先把從網上獲得的EA(MQL4格式或者EX4文件)文件拷貝到平台/expert文件內,如果正運行著MT4的話,然後重啟下mt4。
2. 閱讀EA的說明書或者EA來源的網站,了解此EA的適用貨幣對和時間周期。
3. 打開平台,選擇工具-選項菜單,按照下圖勾選,確定。
4. 打開相對應的貨幣A拖拽到圖表上。
5. 在彈出的菜單中,根據自己的要求設定各種EA參數後,點確定。
6. 當圖表右上角出現笑臉圖案時,表示EA載入成功,EA將會自動開始工作。
❻ 如何編寫簡單的EA 交易和自定義指標
要編寫程序(「EA 交易」、「指標」或「腳本」),您可以啟動 MetaTrader 5 客戶端,從 Tools(工具)菜單選擇MetaQuotes Language Editor(MetaQuotes 語言編輯器),或按 F4 鍵。
在 MetaEditor 5 窗口中,從 File(文件)菜單選擇 New(新建),或按 Ctrl+N。
在 MQL5 Wizard(MQL5 向導)窗口中選擇您想要創建的程序類型:
接下來您可以指定程序名稱、作者信息,以及在啟動程序後向用戶要求的參數。
隨後,系統將創建程序模板(「EA 交易」、「指標」或「腳本」),您可以對其進行編輯或填入代碼:
程序就緒後,必須對其進行編譯。要編譯程序,從 File(文件)菜單選擇 Compile(編譯),或按 F7 鍵:
如果程序代碼沒有錯誤,系統將創建擴展名為 .ex5 的文件。之後,您可以將此新的「EA 交易」、「指標」或「腳本」附加至 MetaTrader 5 客戶端的圖表進行執行。
MQL5 程序是一個運算符序列。每個運算符以分號 ";" 結束。為您方便起見,您可以為代碼添加註釋,注釋位於符號 "/*" 和 "*/" 之中,或在代碼行末尾的 "//" 後。MQL5 是「面向事件」的編程語言。這表示當特定事件(程序啟動或終止、新的報價到來等)發生時,客戶端啟動用戶編寫的相應函數(子程序),以執行指定的操作。客戶端具有以下預定義事件:
Start 事件在「腳本」運行時發生(僅用於「腳本」)。它將會引起 OnStart 函數的執行。MQL4 對應物 -「腳本」中的 start 函數。
Init 事件在「EA 交易」或「指標」啟動時發生。它將會引起 OnInit 函數的執行。MQL4 等價物 - init 函數。
Deinit 事件在「EA 交易」或「指標」終止時發生(例如,從圖表分離後、關閉客戶端等)。它將會引起OnDeinit 函數的執行。MQL4 等價物 - deinit 函數。
NewTick 事件在當前金融工具有新的報價到來時發生(僅用於「EA 交易」)。它將會引起 OnTick 函數的執行。MQL4 對應物 -「EA 交易」中的 start 函數。
Calculate 事件在指標啟動(在 OnInit 函數執行後)以及當前金融工具有新報價到來時發生(僅用於「指標」)。它將會引起 OnCalculate 函數的執行。MQL4 對應物 -「指標」中的 start 函數。
Trade 事件在訂單執行、修改或刪除,以及在開倉、持倉修改或平倉時發生(僅用於「EA 交易」)。它將會引起 OnTrade 函數的執行。MQL4 中沒有該事件和函數的對應物。
BookEvent 事件在「市場深度」改變時發生(僅用於「EA 交易」)。它將會引起 OnBookEvent 函數的執行。MQL4 中沒有該事件和函數以及「市場深度」的對應物。
ChartEvent 事件在用戶使用圖表時發生:在圖表窗口處於焦點狀態時點擊滑鼠和按下按鍵。該事件也會在創建、移動或刪除圖形對象等時發生(用於「EA 交易」和「指標」)。它將會引起 OnChartEvent 函數的執行。MQL4 中沒有該事件和函數的對應物。
Timer 事件在計時器觸發時定期發生,如果計時器已使用 EventSetTimer 函數激活的話。它將會引起OnTimer 函數的執行。MQL4 中沒有該事件和函數以及計時器的對應物。
使用變數前,必須指定每個變數的數據類型。相比 MQL4,MQL 5 支持更多的數據類型:
bool 用於存儲邏輯值(true 或 false)。該數據類型佔用 1 位元組內存。
char 用於存儲從 -128 到 127 的整數值。該數據類型佔用 1 位元組內存。
uchar 用於存儲從 0 到 255 的無符號整數值。該數據類型佔用 1 位元組內存。
short 用於存儲從 -32,768 到 32,767 的整數值。該數據類型佔用 2 位元組內存。
ushort 用於存儲從 0 到 65,535 的無符號整數值。該數據類型佔用 2 位元組內存。
int 用於存儲從 -2,147,483,648 到 2,147,483,647 的整數值。該數據類型佔用 4 位元組內存。
uint 用於存儲從 0 到 4,294,967,295 的無符號整數值。該數據類型佔用 4 位元組內存。
long 用於存儲從 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整數值。該數據類型佔用 8 位元組內存。
ulong 用於存儲從 0 到 18,446,744,073,709,551,615 的無符號整數值。該數據類型佔用 8 位元組內存。
float 用於存儲浮點值。該數據類型佔用 4 位元組內存。
double 用於存儲浮點值,通常為價格數據。該數據類型佔用 8 位元組內存。
datetime 用於存儲日期和時間值,它是從 01.01.1970 00:00:00 開始流逝的秒數。該數據類型佔用 8 位元組內存。
color 用於存儲顏色信息,它包含三種顏色分量的特性 - 紅色、綠色和藍色。該數據類型佔用 4 位元組內存。
enum 代表枚舉。它允許指定某種限制類型的數據集。該數據類型佔用 4 位元組內存。
string 用於存儲文本字元串。它的內部表示為 8 位元組結構,包括含字元串的緩沖區大小以及指向該緩沖區的指針。
選擇合適的數據類型對於獲得最佳性能及合理的內存使用十分必要。在 MQL5 中有個稱之為結構的新概念。結構將邏輯相關的數據結合在一起。
❼ MT4如何新建指標腳本及EA文件
一、MT4自定義指標保存在C:\Program Files\MetaTrader 4\experts\indicators這個目錄中, 該目錄中主要有二種類型的文件, 一種是mq4文件,這是MT4自定義指標的源碼文件,是一種高級語言文件,可以人工編寫修改,機器不能直接執行
❽ 如何把MT4文件轉換成MT5文件
首先,必須有一個EA,而且必須是mq4/ex4為擴展名。點擊左上角「文件」—「打開數據文件夾」,找到安裝路徑。
將EA的ex4或mq4文件放到MT4目錄MQL4Experts裡面(本文以名為Demo的EA為例)。
在導航中找到剛才安裝的EA,拖拽到需要載入的圖表上,在跳出的參數設置選項中,勾選「允許實時自動交易」和「允許導入外部EA交易」。
❾ python開發EA外匯交易怎麼開發
1.首先,你要有一個EA,必須要有以ex4為擴展名的,如果只有mq4文件的話,就要用MetaTrader自帶的編輯器MetaEditor打開,將mq4通過編譯(compile)並且要不出現錯誤,才能在原存放mq4的文件夾下面得到一個同名的ex4文件。
2.將這個ex4文件復制到MetaTrader 4所在的文件夾下面的experts文件夾下,比如:D:Program FilesACTC MetaTrader 4experts,關閉並重新打開MetaTrader 4。
3.在「導航」下面的「智能交易系統」下面右鍵點擊你想要使用的EA。
拓展資料:
1、 對於想要在 mt5+python 發展 ea 的交易者,最大會立即遇到的困難是,mt5 現在還沒有提供 python 可以調用 mt5 backtest 的介面,也就是在 python 上開發 ea 是無法在 mt5 上作復盤測試的,只能另外再找 python 的第三方 backtest 庫再多寫介面來達成。 復盤不是只有驗證策略的有效性,也扮演調試策略參數的重要工作,所以復盤對於開發 ea 是相當重要的環節。
2、另外在執行速度上,mt5+python ea 的速度自然是無法和純在 mt5 開發的 ea 相比,這個是實際執行壓力測試後得到的結論。因為 mt5+python ea 在調用當前價格和 K 線數據作為信號計算,和調用交易記錄,需要透過 mt5 python 官方庫與 mt5 建立在本地的一個加密的 socket 連接來作,讀寫速度自然是比不過 mt5 ea 直接從 mt5 內存讀取行情數據和訂單信息。雖然 python 是腳本編程語言,與其他編譯型的編程語言程序比自然是不快,但是對於 ea 的應用,這樣的慢是不太感受的到,可以直接感受到與相同 mt5 ea 的慢,主要是慢在與 mt5 間的大量數據傳送和 io 讀寫差異上,尤其是連續調用行情數據比較多時,這樣的速度差異就相當明顯了。
3、這還是有優化方式的,可以仿 mql5 指標對於初始和後續的行情讀取,採取精簡量的讀取方式。 既然有這些缺點,在 mt5 開發 python ea 還是在有些領域有不可替代的優點,所以 metaquotes 才會在 2020 年最終還是把 python 介面和函數庫提供出來。因為現在許多衍生性交易平台都已經具備了 python api,而經過這些年,python 已經成為量化交易程序最有人氣的編程語言,這也讓許多交易團隊在建構量化交易的環境,會優先考慮 python。 另外在人工智慧的量化交易,python 的機器學習和統計數組處理的第三方庫大概是最豐富的編程語言。對於交易策略里有用到 tensorflow 這類機器學習庫,使用 python 來開發自動交易程序是最佳的選擇。 mt5 或是 mt4 ea 受限於當時 metaquotes 自定的限制,只能作單線程運行,當同時觸發事件函數如 OnTimer OnTick OnChartEvent,mt5 底層會作互斥鎖限制一個線程運行。
操作環境: 瀏覽器 電腦端:macbookpro mos14打開goole版本 92.0.4515.131
❿ 手機mt5可以載入ea嗎
手機mt5可以載入ea,打開MT5軟體,打開導航欄,一般默認打開,如未打開,可通過左上角--顯示—導航器,進行打開,載入EA和指標只需雙擊要載入的EA和指標名稱,就會對應到圖表上,或者直接左鍵按住拖到對應的周期和圖表上亦可,以自帶的MA均線EA為例,雙擊後,可以進行參數設置。