公告板

EA入門系列一:EA是什麼

EA 即 Expert Advisors 的英文縮寫,中文意思專家顧問,俗稱智慧交易係統,就是由電腦模擬交易員的下單動作進行機器自動交易的過程。
一、人工操碟過程
下面我們就以MT4外匯用戶端為例,首先來分析一個外匯交易員手動進行外匯交易的動作過程:其步驟如下:
1.開啟舊檔外匯交易用戶端,選取一種貨幣對圖表;
2。監視該貨幣對的K線趨勢圖,俗稱盯碟,尋找開倉或是是平倉的時機,即開倉或是是平倉的條件
3。若果條件滿足,進行下單開倉(做多或是做空)或是平倉
4。重複第二步,繼續盯碟,假定第二步是開倉,就是尋找平倉的條件。
5。若果平倉的條件滿足,進行平倉動作,計算盈虧核算。完成一次交易的迴圈。
6。若繼續交易,重複2->3->4->5步
7。若不進行交易,離開外匯用戶端。

二、機器操碟過程
基於以上的分析,我們已經知道一個完整的智慧交易係統(俗稱EA)在運行後必須要實現的基本功能,就是上述的人工動作的1-5步。 這也就是智慧交易係統的基本工作過程,所以智慧交易係統的工作原理就是由程式員 借助一門電腦程式設計語系,通過編寫程式交易 指令模擬人類交易員的行為進行下單動作,實現機器自動進行交易的過程。主要執行過程可分為:盯碟->開倉->再盯碟->平倉,如此迴圈執行的過程。
關於支援機器自動交易的平台,目前外匯市場上流行的就是MetaQuotes公司的MT4平台,由於這個平台中內嵌了一種MQL4語系,它提供了對伺服器端的資料訪問並可進行交易動作的介面,程式交易者可以根據自己的交易策略來編寫自己的自動交易係統,從而實現讓機器自動交易,既可以減輕人類的工作量,又可以克服人類交易中的一此性格弱點,但目前的EA開發,尚所早期起步階段,有的還存在缺陷,但相信隨著技術的發展,機器自動交易終將會逐步取代人類的手動動作。屆時會給交易者一項新的選取。
三、 關聯MQL語系知識:
為了實現機器動作,再來看看所需的MQL4語系的關聯知識:
1.掌握MQL4語系的基本語法和程式的構成,及運行流程
有關語法部分,請讀者參看關聯的資料,這裏略去。
關於程式的構成,對於一個智慧交易係統EA程式來說:主要由三個函數構成分別是:
init():起始化函數,負責程式變量及資料起始輸入;隻在程式調入時執行一次,一般不用重寫內容。
deinit():反起始化函數,負責程式離開時,將資料從記憶體中清除;隻在程式離開時,執行一次,一般不用重寫內容。
start():開始函數,也即程式的主函數,負責EA程式 的全部交易執行過程,實際上他是一個EA的交易管理與執行函數。每隔一定時間,一般幾秒之內,執行一次,就是迴圈執行,起到程式離開時終止
運行流程:啟動EA後,程式的INTI()開始執行一次,-->然後 START()迴圈執行--->最後離開EA時deinit()執行一次

2。mql4中與交易關聯的交易函數:

開倉函數:
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, void comment, void magic, void expiration, void arrow_color)
這個功能主要套用於開倉位置和掛單交易.
參量:
symbol - 交易貨幣對。
cmd - 購買模式。
volume - 購買手數。
price - 收碟價格。
slippage - 最大容許滑點數。
stoploss - 止損水平。
takeprofit - 贏利水平。
comment - 註解文字。
magic - 定單指定碼。可以作為使用者指定辨識碼使用。
expiration - 定單有效時間(隻限掛單)。
arrow_color - 圖表上箭頭彩色。若果參量丟失或存在CLR_NONE價格值不會在圖表中畫出

平倉函數:
bool OrderClose( int ticket, double lots, double price, int slippage, void Color)
對定單進行平倉動作。若果函數成功,返回的值是真實的。若果函數失敗,返回的值是假的。獲得詳細錯誤訊息,請檢視GetLastError()函數。
參量:
ticket - 定單編號。
lots - 手數。
price - 收碟價格。
slippage - 最高劃點數。
Color - 圖表中旗標彩色。若果參量丟失,CLR_NONE值將不會在圖表中畫出。

定單修改函數:
bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, void arrow_color)
對於先前的開倉或掛單進行特性修改。若果函數成功,返回的值為 TRUE。若果函數失敗,返回的值為FALSE。 獲得詳細的錯誤訊息,檢視 GetLastError()函數。

參量:
ticket - 定單編號。
price - 收碟價格
stoploss - 新止損水平。
takeprofit - 新贏利水平。
expiration - 掛單有效時間。
arrow_color - 在圖表中容許對止損/贏利彩色進行修改。若果參量丟失或存在CLR_NONE 值,在圖表中將不會顯示。

四、源程式碼的交易流程分析
下面的源程式碼是一個基於搬移平均線的智慧交易係統的代碼 ,整個程式非常簡潔但EA的功能又非常齊全,實現了完全由電腦自動下單和平倉,整個程式隻用了一個START()
函數來實現 。

五、本文結論

從以上的分析,可以知道,所謂EA,就是由電腦模擬交易員的下單動作進行機器交易的過程, 具體步驟如下:

1。當使用者開啟舊檔外匯用戶端程式後,由用戶端程式調入使用者在係統內已預置好的EA交易係統程式。

2。當EA程式啟動後便開始對圖表中貨幣對的K線趨勢圖,進行監視,尋找開倉的條件;

3。若果條件滿足,進行下單開倉(做多或是做空);
4。重複第二步,繼續盯碟,假定第二步是開倉,就是尋找平倉的條件。
5。若果平倉的條件滿足,進行平倉動作,計算盈虧核算。完成一次交易的迴圈。
6。若繼續交易,EA重複2->3->4->5步
7。使用者若不想讓EA進行交易,可通過關聯選單動作設定禁用EA,或是離開外匯用戶端。

學習外匯交易賺錢
引用通告位址: http://mforex.org/trackback.php?tbID=712&extra=02f879
標籤: 外匯交易學習站 外匯技術面
評論: 0 | 引用: 0 | 閱讀: 3207
 加入網摘

對於【翻倉系統】有興趣的人,填寫【翻倉系統預購表單】加入

【翻倉系統LucyDoubleBooster登記表】https://forexatm999.com/go/lucydoublebooster/
外匯交易輔助軟體【翻倉系統】付一年的費用,賺三年的錢!檔也擋不住的划算!要賺要快!