EA智能交易系統(tǒng)及MQ4程序語言介紹_第1頁
EA智能交易系統(tǒng)及MQ4程序語言介紹_第2頁
EA智能交易系統(tǒng)及MQ4程序語言介紹_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、收集如何怎樣使用EA智能交易系統(tǒng)與MQ4程序語言介紹(2011-09-2914:44:14)標(biāo)簽:分類:EAea入門知識雜談文件放置說明O指標(biāo)的mq4、ex4文件復(fù)制至experts目錄的indicators子目錄下。E自動交易的mq4、ex4文件復(fù)制至experts目錄下。tp吱件為模板文件,復(fù)制至templates目錄下。DLL文件為庫文件,復(fù)制至experts目錄的libraries子目錄下。SETt件為設(shè)置文件,復(fù)制至experts目錄的presets子目錄下。pdftxt、doc文件為說明文檔,可直接翻開閱讀EA使用方法作為外匯交易的延伸,使用智能交易系統(tǒng)EA代替人工交易似乎成為一種

2、新的潮流,那么如何在MT4里使用EA智能交易系統(tǒng)呢?一、首先,當(dāng)然你得要有一個EA,而且必須是以ex4為擴(kuò)展名的,如果是只有mq4文件的話,請用MetaTrader自帶的編輯器MetaEditor翻開,將mq4通過編譯pile,并且要不出現(xiàn)錯誤,才能在原存放mq4的文件夾下面得到一個同名的ex4文件。二、把這個ex4后綴的文件復(fù)制到MetaTrader4所在的文件夾下面的experts文件夾下,比方:D:MetaTraderexperts,關(guān)閉并重新翻開MetaTrader4。三、在“導(dǎo)航'下面的“智能交易系統(tǒng)"下面右鍵點擊你想要使用的EA,這里以10點盈利系統(tǒng)舉例,點“附加

3、到圖表",如:四、將會出現(xiàn)下面的彈出窗口:出現(xiàn)這樣就算是當(dāng)前的圖表已經(jīng)啟用了智能交易系統(tǒng)了。這時,你就可以去花天酒地等著你的智能交易系統(tǒng)為你的交易賬戶上面增加資金了。八、如果你要停頓你的智能交易系統(tǒng),最好的方法是點擊這個圖上面的“智能交易"圖標(biāo)。;爭否I國。命些I;新定單I%智旎交易不過這樣一來,你的所有圖表上面的智能交易就全部停頓了。所有圖表右上角的笑臉都變成了叉叉:如果只要停頓當(dāng)前圖表上面的EA,你應(yīng)該按F7鍵,就會彈出如下的窗口:點擊將“允許實時自動交易"前面的鉤去掉,然后確定,這樣就使當(dāng)前圖表上面的EA停頓了。圖表上面會出現(xiàn)“哭喪的臉":而如果要

4、完全將當(dāng)前圖表上面的EA消除,先右鍵點擊圖表區(qū)域,會出現(xiàn):點擊“智能交易系統(tǒng)",然之后點擊“消除",這個EA就會從當(dāng)前圖表上面刪除,圖表的右上角就會什么都沒有了。附:EA的簡介EA即ExpertAdvisors的英文縮寫中文意思專家參謀,俗稱智能交易系統(tǒng),就是由電腦模擬交易員的下單操作進(jìn)展機(jī)器自動交易的過程。一、人工操盤過程下面我們就以MT4外匯客戶端為例,首先來分析一個外匯交易員手工進(jìn)展外匯交易的操作過程:其步驟如下:1.翻開外匯交易客戶端,選定一種貨幣對圖表;2.監(jiān)視該貨幣對的K線趨勢圖,俗稱盯盤,尋找開倉或者是平倉的時機(jī),即開倉或者是平倉的條件。3.如果條件滿足,進(jìn)展

5、下單開倉做多或者做空或者平倉。4.重復(fù)第二步,繼續(xù)盯盤,假定第二步是開倉,就是尋找平倉的條件。5.如果平倉的條件滿足,進(jìn)展平倉操作,計算盈虧核算。完成一次交易的循環(huán)。6.假設(shè)繼續(xù)交易,重復(fù)2->3->4->5步。7.假設(shè)不進(jìn)展交易,退出外匯客戶端。二、機(jī)器操盤過程基于以上的分析,我們已經(jīng)知道一個完整的智能交易系統(tǒng)(俗稱EA)在運行后必須要實現(xiàn)的根本功能,就是上述的人工操作的1-5步。這也就是智能交易系統(tǒng)的根本工作過程,所以智能交易系統(tǒng)的工作原理就是由程序員借助一門計算機(jī)程序設(shè)計語言,通過編寫程序交易指令模擬人類交易員的行為進(jìn)展下單操作,實現(xiàn)機(jī)器自動進(jìn)展交易的過程。主要執(zhí)行過程

6、可分為:盯盤->開倉->再盯盤->平倉,如此循環(huán)執(zhí)行的過程。關(guān)于支持機(jī)器自動交易的平臺,目前外匯市場上流行的就是MetaQuotes公司的MT4平臺,由于這個平臺中嵌入了一種MQL4語言,它提供了對效勞器端的數(shù)據(jù)訪問并可進(jìn)展交易操作的接口,程序交易者可以根據(jù)自己的交易策略來編寫自己的自動交易系統(tǒng),從而實現(xiàn)讓機(jī)器自動交易,既可以減輕人類的工作量,又可以克制人類交易中的一此性格弱點,但目前的EA開發(fā),尚所早期起步階段,有的還存在缺陷,但相信隨著技術(shù)的開展,機(jī)器自動交易終將會逐步取代人類的手工操作。屆時會給交易者一項新的選擇。三、相關(guān)MQL語言知識為了實現(xiàn)機(jī)器操作,再來看看所需的M

7、QL4語言的相關(guān)知識:1.掌握MQL4語言的根本語法和程序的構(gòu)成,及運行流程有關(guān)語法局部,請讀者參看相關(guān)的資料,這里略去。關(guān)于程序的構(gòu)成,對于一個智能交易系統(tǒng)EA程序來說:主要由三個函數(shù)構(gòu)成分別是:init():初始化函數(shù),負(fù)責(zé)程序變量及數(shù)據(jù)初始輸入;只在程序調(diào)入時執(zhí)行一次,一般不用重寫容。deinit():反初始化函數(shù),負(fù)責(zé)程序退出時,將數(shù)據(jù)從存中去除;只在程序退出時,執(zhí)行一次,一般不用重寫容。start():開場函數(shù),也即程序的主函數(shù),負(fù)責(zé)EA程序的全部交易執(zhí)行過程,實際上他是一個EA的交易管理與執(zhí)行函數(shù)。每隔一定時間,一般幾秒之,執(zhí)行一次,就是循環(huán)執(zhí)行,直到程序退出時終止。運行流程:啟動

8、EA后,程序的INTI()開場執(zhí)行一次,->然后START()循環(huán)執(zhí)行->最后退出EA時deinit()執(zhí)行一次2.mql4中與交易相關(guān)的交易函數(shù):開倉函數(shù):intOrderSend(stringsymbol,intcmd,doublevolume,doubleprice,intslippage,doublestoploss,doubltakeprofit,voidment,voidmagic,voidexpiration,voidarrow_color)這個功能主要應(yīng)用于開倉位置和掛單交易。參量:symbol-交易貨幣對。cmd-購置方式。volume-購置手?jǐn)?shù)。price-收盤

9、價格。slippage-最大允許滑點數(shù)。stoploss-止損水平。takeprofit-贏利水平。ment-注解文本。magic-定單指定碼。可以作為用戶指定識別碼使用。expiration-定單有效時間(只限掛單)。arrow_color-圖表上箭頭顏色。如果參量喪失或存在CLR_NONE價格值不會在圖表中畫出。平倉函數(shù):boolOrderClose(intticket,doublelots,doubleprice,intslippage,voidColor)對定單進(jìn)展平倉操作。如果函數(shù)成功,返回的值是真實的。如果函數(shù)失敗,返回的值是假的。獲得詳細(xì)錯誤信息,請查看GetLastError(

10、)函數(shù)。參量:ticket-定單編號。lots-手?jǐn)?shù)。price-收盤價格。slippage-最高劃點數(shù)。Color-圖表中標(biāo)記顏色。如果參量喪失,CLR_NONE值將不會在圖表中畫出。定單修改函數(shù):boolOrderModify(intticket,doubleprice,doublestoploss,doubletakeprofit,datetimeexpiration,voidarrow_color)對于先前的開倉或掛單進(jìn)展特性修改。如果函數(shù)成功,返回的值為TRUE。如果函數(shù)失敗,返回的值為FALSE。獲得詳細(xì)的錯誤信息,查看GetLastError()函數(shù)。參量:ticket-定單編號

11、。price-收盤價格stoploss-新止損水平。takeprofit-新贏利水平。expiration-掛單有效時間。arrow_color-在圖表中允許對止損/贏利顏色進(jìn)展修改。如果參量喪失或存在CLR_NONE值,在圖表中將不會顯示。四、源碼的交易流程分析下面的源碼是一個基于移動平均線的智能交易系統(tǒng)的代碼,整個程序非常簡潔但EA的功能又非常齊全,實現(xiàn)了完全由電腦自動下單和平倉,整個程序只用了一個START()函數(shù)來實現(xiàn)。程序代碼分析參看代碼中的相關(guān)注釋/+/-inputparametersexterndoubleTakeProfit=20;externdoubleStopLoss=30

12、;externdoubleLots=2;externdoubleTrailingStop=50;externintShortEma=5;externintLongEma=60;/+/|blog.sina./s/articlelist_1994336743_12_1.html/+intinit()/-/-return(0);/+/|blog.sina./s/articlelist_1994336743_12_1.html/+intdeinit()/-/-return(0);/+/|expertstartfunction|/+intstart()intt,ticket,total;doubleSE

13、ma,LEma;/-if(Bars<100)Print("barslessthan100");return(0);/-if(TakeProfit<10)(Print("TakeProfitlessthan10");return(0);/checkTakeProfit/-SEma=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);LEma=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);/-staticintisCrossed=0;isCrossed=Cross

14、ed(LEma,SEma);/-total=OrdersTotal();if(total<1)(if(isCrossed=1)/滿足空倉條件,開空倉ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Green);if(ticket>0)if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)Print("SELLorderopened:",

15、OrderOpenPrice();elsePrint("ErroropeningSELLorder:",GetLastError();return(0);if(isCrossed=2)/滿足多倉條件,開多倉ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Red);if(ticket>0)if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)Pr

16、int("BUYorderopened:",OrderOpenPrice();elsePrint("ErroropeningBUYorder:",GetLastError();return(0);return(0);/-訂單修改,實現(xiàn)動態(tài)止盈止損跟蹤for(t=0;t<total;t+)OrderSelect(t,SELECT_BY_POS,MODE_TRADES);if(OrderType()<=OP_SELL&&OrderSymbol()=Symbol()if(OrderType()=OP_SELL)/longpositi

17、onisopened(/checkfortrailingstopif(TrailingStop>0)(if(Bid-OrderOpenPrice()>Point*TrailingStop)(if(OrderStopLoss()<Bid-Point*TrailingStop)(OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);return(0);else/gotoshortposition(/checkfortrailingstopif(Tra

18、ilingStop>0)(if(OrderOpenPrice()-Ask)>(Point*TrailingStop)(if(OrderStopLoss()>(Ask+Point*TrailingStop)(OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);return(0);/-return(0);/+/移動平均線多空條件判斷,intCrossed(doublelinel,doubleline2)(staticintlast_direction=0;staticintcurrent_direction=0;/Don'tworkinthefirstload,waitforthefirstcross!stati

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論