⑴ 如何編寫簡單的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和MT5什麼區別哪個更好用
目前主要用MT4,最近幾年MT5用的人也多起來了,不管是MT4還是MT5,其實都是俄羅斯邁達克公司開發的,從誕生時間上看,毫無疑問MT5是MT4的升級版,可能大家的疑問就來了,既然MT5是MT4的升級版,那為什麼現在無論是平台方還是交易者用的都是MT4居多?接下來,我就從5個方面,詳細給大家講講MT4和MT5的主要不同。
第一點,是支持范圍不同。
像MT4,在邁達克官網上的介紹,MT4的核心標語是「最受歡迎的外匯交易平台」主要以外匯交易為主。而MT5支持的品種就大多了,包括股票、大宗商品和債券等等。
那第二點呢,就是市場深度報價不同。
外匯交易者可以通過MT5的市場深度報價去了解到市場流動性,有更高的透明度和直觀性;而MT4則不具備這點。
第三點,就是訂單處理的不同。
像MT4,就可以同一品種開相反方向的訂單,每一筆單都是獨立的,比如做多1手和做空2手,這兩筆單都是單獨顯示的。
而MT5就會將這兩筆訂單合並起來變成一筆,也就是只顯示空1手。這樣當我們去查看歷史記錄的時候,就沒辦法核對了,這一點我個人認為是非常不方便的,已經影響到單子的復盤了
而第四點,就是掛單方式的不同了。
MT4常見的掛單方式有4種,也就是買入止損、賣出止損和限價買進、限價賣出;而MT5則在這4種掛單方式上又增加了突破限價買單和突破限價賣單,這兩種新增的掛單方式簡單點來說就是做到突破回踩買入和突破回踩賣出。也就是設置好一個突破價格,一旦價格突破設置的價位後,設置的另一個回踩價格的掛單就會生效。這一點是比MT4方便的地方
最後的第五點,就是內置技術指標的不同
MT4技術分析工具包括了30個內置指標,提供了24種分析對象。而MT5就在MT4的基礎上新增了8種技術指標,但說實話,像我作為一個裸K交易者來說,我覺得這些指標其實用處不大,指標越多並不代表著更加利於交易。所以指標這東西,只要精通那麼一兩種用來輔助交易就完全夠用了。
以上我所說的呢,就是MT4和MT5的五大不同點,從上面這幾點可以看出,MT5的功能總體上比MT4要強大。回到前面的問題,為什麼現在無論是平台方還是交易者還是更為推崇MT4?主要原因還是因為它們的定位有較大的差異。那麼問題來了!在MT4與MT5之間,我們到底應該怎麼選呢?
如果需要線下進行大量回溯測試、或想要交易股票和大宗商品市場,那麼就選MT5,這是更好的選擇。MT4的話有優點是運行流、穩定。各種功能和圖表簡單易用,如果你是一個純粹的外匯交易者,那MT4是更好的選擇。而毫無疑問絕大部分普通交易者在無論是品種選擇還是功能應用MT4已經完全足夠了,MT5功能雖然強大,但是這些強大的功能對於絕大部分普通的交易者來說根本用不上,正所謂殺雞焉用牛刀。
當然了,不管是MT4還是MT5,對大家來說,永遠還是那句話,適合自己的交易軟體才是最好的,根據自己的需求去選擇即可。
⑶ mt5交易平台是做什麼的
MT5是MetaTrade 5的英文縮寫。它是由MetaQuotes platform(邁達克)公司編寫的一款金融交易軟體,旨在向金融中介機構對他們的客戶提供在外匯、差價合約、股票和期貨等金融配察產品交易的姿蘆交易平台。
包括各種交易執行功能、無限量圖表、大量技術指標和曲線、自定義指標及腳本,並且MT5平台提供內置的自動交易市場、自由職業者的策略開發人員資料庫、復制交易和虛擬主機(Forex VPS)服務。
(3)mql5平台怎麼交易擴展閱讀:
多資產交易平台MT5在迅猛發展,本次更新也是應眾多交易者的要求,為了進一步改進產品,為平台新增了許多新的工具和服務。此外,邁達克還特別強調,而這種功能性的革新今後將永遠不會出現在MT4平台。此外,這只是邁達克大規模新動作的第一步,旨在為交易者擴展MT5的功能。
MT5平台新版本培冊茄具有創建合成金融工具的功能。這一特性的激活需要為基於一個或多個可用工具的計算報價設置公式。平台將生成它的分鍾報價。所有後續報價都將實時自動構建。
⑷ 外匯EA的EA的開發
外匯EA在MT4平台上進行開發,採用MQL4語言編寫交易策略,EA的文件形式是mq4文件或ex4文件,其中mq4文件是源碼文件。 這種語言可以創建你自己的智能交易,使自己的交易策略能夠完全自動地執行。而且,MQL4 還能自定義客戶指標,腳本和資料庫。內包含了大量可以分析當前及歷史報價所必須的函數,以及一些基本的運算和邏輯操作。並內置了一些基本的指標和操作命令。
打開MT4軟體的MetaEditor編輯器,選擇新建-智能交易系統,就可以開始開發自己的EA了。MQL4語言的基本語法類似於C語言,MetaEditor內含詳細的幫助文件,可以幫助開發者正確地使用各種交易函數和操作指令。開發完成後需要進行編譯和歷史回測,並對EA的參數設置等進行不斷優化,對EA的風險進行准確的評估之後再用於實盤賬戶運行。