如何將技術(shù)指標轉(zhuǎn)化為智能交易系統(tǒng)EA_第1頁
如何將技術(shù)指標轉(zhuǎn)化為智能交易系統(tǒng)EA_第2頁
如何將技術(shù)指標轉(zhuǎn)化為智能交易系統(tǒng)EA_第3頁
如何將技術(shù)指標轉(zhuǎn)化為智能交易系統(tǒng)EA_第4頁
如何將技術(shù)指標轉(zhuǎn)化為智能交易系統(tǒng)EA_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、如何將技術(shù)指標轉(zhuǎn)化為智能交易系統(tǒng)ea第一部分:指標為了能賺錢而不是虧損,無論是專業(yè)的交易商還是個體,都在研究各和總結(jié)各種種的規(guī)律,并做成指標,我們經(jīng)常會發(fā)現(xiàn)一些指標圖線看起來很完美,于是都會想到要根據(jù)指標的變化進行交易。但這樣做會賺錢嗎?能否賺錢,我們就要看這些指標有沒有作弊。即確定指標是否有未來函數(shù)的計算,也就是說指標會不會根據(jù)現(xiàn)在的k線,計算后將指標在歷史k線上標示做更改。比如原來是賣的提示,改為買(恐怖吧)。(當然還有一些ea特有的環(huán)節(jié)也會影響盈利問題,在這里不講)確定是否有未來函數(shù)的方法有兩種:1.白盒校驗(即查看源碼)直接看源碼中的循環(huán)部分,如果有修改歷史曲線數(shù)組的行為,則可以立刻斷

2、定有未來函數(shù)。2.黑盒觀察當沒有源碼的時候,可以將指標加載到1分鐘的圖線上,連續(xù)不斷觀察其標示的變化,尤其注意與當前k線狀態(tài)最接近的歷史k線標示的變化。如果隨著當前k線的變化出現(xiàn)過歷史變化更改,則也可以確定有未來函數(shù)。指標ea化之前必須要確認的事情:如果一個指標含有未來函數(shù),那么這個指標是沒有多大意義的。也就是說,我們要將指標改為ea前,必須確認這個指標是不含未來函數(shù)的,這樣指標ea化才有意義。第二部分 指標ea化接下來將指標ea化大致的做法是:在ea中通過函數(shù)icustom讀取這個指標的當前k線輸出值,得出當前的狀態(tài),來決定是否入場或者平倉并反向入場。icustom的具體用法:指標一般都是曲

3、線或者箭頭兩種。在這里我們要把曲線和箭頭都看成是數(shù)組就容易理解了。對于指標來說每一條曲線或者箭頭都是寫在與每個k線對應的數(shù)組中的,也就是說一條曲線對應一個數(shù)組,一個方向的箭頭也是對應一個數(shù)組(有箭頭的數(shù)組值是當時的價格,沒箭頭地方的數(shù)組值是“空”)icustom mt4的幫助里說的是:“計算指定的客戶指標并且退回它的值”,即這個函數(shù)可以讓你獲取指定指標的第幾個數(shù)組對應第幾根k線上的計算數(shù)值。具體如下:double icustom(string symbol, int timeframe, string name, ., int mode, int shift)計算指定的客戶指標并且退回它的值。

4、必須在terminal_directoryexpertsindicators目錄內(nèi)編寫客戶指標(*.ex4文件)。參量:symbol - 計算指標數(shù)據(jù)上的貨幣對名稱。null表示當前貨幣對。timeframe - 時間周期。可以時間周期列舉任意值。0表示當前圖表的時間周期。name - 客戶指標完整的程序名稱。. - 參量設置(如果需要)。通過的參量和他們的順序必須與desclaration命令和客戶指標的外部可變物的種類對應。mode - 索引行。從0到7并且必須對應以其中一個使用的索引的 setindexbuffer 函數(shù)。shift - 從顯示緩沖采取的值的索引(轉(zhuǎn)移相對當前柱特定相當數(shù)

5、量期間前)。示例:double val=icustom(null, 0, 示例ind,13,1,0);double va2=icustom(null, 0, 示例ind,13,0,1);例如:一個指標,畫了兩條曲線,則可以用icustom取得這個指標在第4根k線上對應的第一條曲線的數(shù)值。我們現(xiàn)在已經(jīng)可以根據(jù)自己的想法去獲得一個指定指標的任何k線上的狀態(tài)數(shù)值了。那么下一步我們就要開始ea的概念。因為ea只針對當前價格狀態(tài)下的動作進行控制。所以一般而言我們就取指定指標在當前k線下的計算數(shù)值用于ea的條件判斷。如果你認為當前k線沒有結(jié)束,其數(shù)值始終在變化,有可能一會有訊號一會沒訊號,那麼你可以采用取

6、前一k線的指標數(shù)值的方式作為基礎。(如果用當前k線指標數(shù)值作為條件會有不確定的結(jié)果,但如果用前一k線數(shù)值做條件則有“錯過最佳入場點”的問題。這是需要程序設計者權(quán)衡的問題。)另外的一個問題,就是怎末去判斷指標輸出的數(shù)值與我們?nèi)庋劭吹降挠嵦栆恢缕饋淼膯栴}。如果參考的指標是一種變色線,則一定是一種顏色一個數(shù)組的方式疊加起來顯示的。我們在取其數(shù)值的時候只需要看看不同顏色的數(shù)組的數(shù)值比較一下就知道其結(jié)果是哪種顏色,并作為的條件進行動作就行了。如果是箭頭的方式,則一樣是去取其數(shù)值,無箭頭的線上指標對應的數(shù)值是“空”,有箭頭的地方數(shù)組對應的數(shù)值肯定不是空。用這個來判斷是否發(fā)生了訊號就行了。比如雙色線,就一定

7、是兩個數(shù)組分別顯示不同顏色,當指標認為應該顯示其中一種顏色的時候就將這個顏色對應的數(shù)組在當前線中的數(shù)值設成當前價。反之則設為“空”。這樣循環(huán)一遍后,你肉眼看到的就是變色線了?,F(xiàn)在我們可以輕松獲得指標的當前訊號狀態(tài)了!下一步就是結(jié)合進ea中,就是把指標中的數(shù)組值拿過來。第三部分 ea 編程邏輯ea就是一個循環(huán)往復的過程。每來一個價格就運行一次。ea是電腦,并不知道你現(xiàn)在的倉位情況也不知道指標的情況,除了計算什么都不知道,一切都是編程者賦予的。因此,編程者腦子里一定要建立一種綜合狀態(tài)的概念。ea的一開始一定要先進行倉位的情況檢查。大致的邏輯如下:1. 先查出持倉情況和持倉單的方向。2. 然后獲得指

8、標的數(shù)值。3. 判斷并操作。持倉狀態(tài)下:根據(jù)持倉單的方向進行對應來判斷反向訊號是否發(fā)生。如果發(fā)生則平倉并反向入場。如果沒發(fā)生則直接返回,等待下一次價格的而到來。空倉狀態(tài)下:則兩個方向的訊號都做判斷,哪邊發(fā)生了就按那邊的方向入場。4. 其他的的細節(jié)不論入場還是出場都要在發(fā)出動作后馬上判斷是否正確執(zhí)行的判斷。如果沒有執(zhí)行成功則一定要立刻放棄后面的操作直接返回。等待下一個價格來的時候在此發(fā)出同樣的動作。另外說明的是數(shù)據(jù)是自動更新的。智能交易系統(tǒng)(俗稱ea)執(zhí)行的過程-mql4語言 交易函數(shù) 參量 程序的構(gòu)成 運行流程一、 人工操盤過程下面我們就以mt4外匯客戶端為例,首先來分析一個外匯交易員手工進行

9、外匯交易的操作過程:其步驟如下:1.打開外匯交易客戶端,選定一種貨幣對圖表;2。監(jiān)視該貨幣對的k線趨勢圖,俗稱盯盤,尋找開倉或者是平倉的時機,即開倉或者是平倉的條件3。如果條件滿足,進行下單開倉(做多或者做空)或者平倉4。重復第二步,繼續(xù)盯盤,假定第二步是開倉,就是尋找平倉的條件。5。如果平倉的條件滿足,進行平倉操作,計算盈虧核算。完成一次交易的循環(huán)。6。若繼續(xù)交易,重復2-3-4-5步7。若不進行交易,退出外匯客戶端。二、機器操盤過程基于以上的分析,我們已經(jīng)知道一個完整的智能交易系統(tǒng)(俗稱ea)在運行后必須要實現(xiàn)的基本功能,就是上述的人工操作的1-5步。這也就是智能交易系統(tǒng)的基本工作過程,所

10、以智能交易系統(tǒng)的工作原理就是由程序員借助一門計算機程序設計語言,通過編寫程序交易指令模擬人類交易員的行為進行下單操作,實現(xiàn)機器自動進行交易的過程。主要執(zhí)行過程可分為:盯盤-開倉-再盯盤-平倉,如此循環(huán)執(zhí)行的過程。關(guān)于支持機器自動交易的平臺,目前外匯市場上流行的就是metaquotes公司的mt4平臺,由于這個平臺中嵌入了一種mql4語言,它提供了對服務器端的數(shù)據(jù)訪問并可進行交易操作的接口,程序交易者可以根據(jù)自己的交易策略來編寫自己的自動交易系統(tǒng),從而實現(xiàn)讓機器自動交易,既可以減輕人類的工作量,又可以克服人類交易中的一此性格弱點,但目前的ea開發(fā),尚所早期起步階段,有的還存在缺陷,但相信隨著技術(shù)

11、的發(fā)展,機器自動交易終將會逐步取代人類的手工操作。屆時會給交易者一項新的選擇。三、 相關(guān)mql語言知識: 為了實現(xiàn)機器操作,再來看看所需的mql4語言的相關(guān)知識:1.掌握mql4語言的基本語法和程序的構(gòu)成,及運行流程有關(guān)語法部分,請讀者參看相關(guān)的資料,這里略去。先看編程方面的語言關(guān)于程序的構(gòu)成,對于一個智能交易系統(tǒng)ea程序來說:主要由三個函數(shù)構(gòu)成分別是:init():初始化函數(shù),負責程序變量及數(shù)據(jù)初始輸入;只在程序調(diào)入時執(zhí)行一次,一般不用重寫內(nèi)容。deinit():反初始化函數(shù),負責程序退出時,將數(shù)據(jù)從內(nèi)存中清除;只在程序退出時,執(zhí)行一次,一般不用重寫內(nèi)容。start():開始函數(shù),也即程序的

12、主函數(shù),負責ea程序的全部交易執(zhí)行過程,實際上他是一個ea的交易管理與執(zhí)行函數(shù)。每隔一定時間,一般幾秒之內(nèi),執(zhí)行一次,就是循環(huán)執(zhí)行,起到程序退出時終止。運行流程:啟動ea后,程序的inti()開始執(zhí)行一次,-然后 start()循環(huán)執(zhí)行-最后退出ea時deinit()執(zhí)行一次2。mql4中與交易相關(guān)的交易函數(shù):開倉函數(shù):int ordersend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, void comment, void ma

13、gic, void expiration, void arrow_color)這個功能主要應用于開倉位置和掛單交易.參量:symbol - 交易貨幣對。cmd - 購買方式。volume - 購買手數(shù)。price - 收盤價格。slippage - 最大允許滑點數(shù)。stoploss - 止損水平。takeprofit - 贏利水平。comment - 注解文本。magic - 定單指定碼??梢宰鳛橛脩糁付ㄗR別碼使用。expiration - 定單有效時間(只限掛單)。arrow_color - 圖表上箭頭顏色。如果參量丟失或存在clr_none價格值不會在圖表中畫出平倉函數(shù):bool orde

14、rclose( int ticket, double lots, double price, int slippage, void color)對定單進行平倉操作。如果函數(shù)成功,返回的值是真實的。如果函數(shù)失敗,返回的值是假的。獲得詳細錯誤信息,請查看getlasterror()函數(shù)。參量:ticket - 定單編號。lots - 手數(shù)。price - 收盤價格。slippage - 最高劃點數(shù)。color - 圖表中標記顏色。如果參量丟失,clr_none值將不會在圖表中畫出。定單修改函數(shù):bool ordermodify( int ticket, double price, double s

15、toploss, double takeprofit, datetime expiration, void arrow_color)對于先前的開倉或掛單進行特性修改。如果函數(shù)成功,返回的值為 true。如果函數(shù)失敗,返回的值為false。 獲得詳細的錯誤信息,查看 getlasterror()函數(shù)。參量:ticket - 定單編號。price - 收盤價格stoploss - 新止損水平。takeprofit - 新贏利水平。expiration - 掛單有效時間。arrow_color - 在圖表中允許對止損/贏利顏色進行修改。如果參量丟失或存在clr_none 值,在圖表中將不會顯示。ea

16、常用英文單詞解釋1. 邏輯符號。and, not, or. 與 非 或2. mql 4語言指令。array數(shù)組, begin開始, break中斷, continue繼續(xù), define預定義, downto遞減循環(huán), else否則, end終止, exit退出函數(shù), for增量循環(huán), if條件如果, input輸入, then于是(與if配合), to到(與for配合), variable變量, while(條件循環(huán))。界定語言指令結(jié)構(gòu)的固定字也叫做關(guān)鍵字。3. 內(nèi)置函數(shù)。abs絕對值, accname, accountname帳戶名稱, alert報警, ceil, closeorder訂

17、單出場, comment屏幕注釋輸出, cos, curtime當前時間, day日, dayofweek星期的數(shù)字, deleteorder刪除訂單, exp, floor, highest最高, hour小時, iadx內(nèi)置指標函數(shù), iatr內(nèi)置指標函數(shù), ibands內(nèi)置指標函數(shù), icci內(nèi)置指標函數(shù), ima內(nèi)置指標函數(shù), imacd內(nèi)置指標函數(shù), imfi內(nèi)置指標函數(shù), imom內(nèi)置指標函數(shù), irsi內(nèi)置指標函數(shù), isar內(nèi)置指標函數(shù), isto內(nèi)置指標函數(shù), iwpr內(nèi)置指標函數(shù), isdemo帳戶是否模擬型, isindirect, lasttradetime最后價格時間

18、, log, lowest最低, minute分鐘, mod, modifyorder訂單修改, month月, moveobject移動屏幕上的對象, numbertostr小數(shù)變字符串, ord, ordervalue訂單數(shù)字, period周期, pow, print打印輸出(在標簽欄), printtrade輸出訂單狀況, rand, round, serveraddress服務器地址, setarrow設定數(shù)組使用的箭頭樣式, setobjecttext設定對象上的文字, setorder設定訂單, settext設定文字, sin, sqrt, srand, symbol貨幣名字,

19、 tan, timetostr時間變成字符串, year年.4. 預先設定用戶變量(用戶定義變量)。lots訂單手數(shù), stoploss止損數(shù)值, takeprofit目標數(shù)值, trailingstop移動止損數(shù)值.5. 預先設定交易終端變量。accnum, accountnumber, ask買入價, balance帳戶余額, bars圖內(nèi)商品的全部k線個數(shù), bid賣出價, close收盤價, credit信用額度, equity凈值, freemargin可用保證金, high最高價, low最低價, margin保證金, open開盤價, point點, priceask, pric

20、ebid, pricehigh, pricelow, pricetime報價時間, time時間, totalprofit總盈利, totaltrades訂單個數(shù), volume成交量.6. 預先設定內(nèi)置函數(shù)參數(shù)(宏命令)。mode_close, mode_ema, mode_high, mode_low, mode_main, mode_minusdi, mode_open, mode_plusdi, mode_signal, mode_sma, mode_stoploss, mode_takeprofit, mode_volume, mode_wma, obj_hline, obj_sym

21、bol, obj_text, obj_trendline, obj_vline, op_buy, op_buylimit, op_buystop, op_sell, op_selllimit, op_sellstop, symbol_arrowdown, symbol_arrowup, symbol_checksign, symbol_stopsign, symbol_thumbsdown, symbol_thumbsup, val_closeprice, val_closetime, val_comission, val_comment, val_lots, val_openprice, v

22、al_opentime, val_profit, val_stoploss, val_swap, val_symbol, val_takeprofit, val_ticket, val_type.實際上,上述固定字為宏記錄器,即語法分析程序用數(shù)值取而代之。宏記錄器的引入簡化了編寫用戶功能要求的程序:更加方便、無關(guān)聯(lián)的重要詞語可以用來替代一些函數(shù)參數(shù)值。同樣可以用于色彩名稱。mql4實例ea教程:連拉3個陰柱或陽柱后做交易代碼如下:int magic=35207814;extern double lots=1;/+-+/| 下面定義start函數(shù),函數(shù)會在價格每次波動的時候運行。/+-+int

23、start()if(calculatecurrentorders(symbol()=0) /當前帳戶訂單為0時,繼續(xù)下面的代碼,也就是說,如果已經(jīng)成交了,即使出現(xiàn)信號也不會再次成交。 double stoploss;double takeproft;if(signal()=-1)/賣出信號出現(xiàn) stoploss=open3;/設定止損第三根k線的開盤價takeproft=2*(open1-close1+open2-close2+open3-close3)/point;/設定止盈為前面三根k線總和的2倍if(ordersend(symbol(),op_sell,lots,bid,3,stoplo

24、ss,bid-takeproft*point,0,magic,0,blue)0)/如果賣出失敗alert(auto sell is failed!-+getlasterror();/彈窗報警并且顯示失敗代碼else return(0);/交易成功就返回不執(zhí)行下面的代碼。if(signal()=1)/買入信號出現(xiàn)stoploss=open3;/設定止損第三根k線的開盤價takeproft=2*(close1-open1+close2-open2+close3-open3)/point;/設定止盈為前面三根k線總和的2倍if(ordersend(symbol(),op_buy,lots,ask,3

25、,stoploss,ask+takeproft*point,0,magic,0,red)0)/如果買入失敗alert(auto buy is failed!-+getlasterror();/彈窗報警并且顯示失敗代碼else return(0);/交易成功就返回不執(zhí)行下面的代碼。 /-return(0);/+-+int calculatecurrentorders(string symbol) /本函數(shù)用來返回本ea下單并且沒有平倉的訂單數(shù)目int ors=0;for(int i=0;iopen1 & close2open2 & close3open3) /買入信號:連續(xù)三根k線為陽線res=

26、1;if(close1open1 & close2open2 & close3open3) /賣出信號:連續(xù)三根k線為陰線res=-1;return(res);mt4mt5指標翻譯對應表 指標中文名指標英文名標準差通道(布林通道,布林格帶)standard deviation band (bollingband)移動平均線(ma)(1)算術(shù)移動平均線(sma)(2)指數(shù)加權(quán)移動平均線(ema)(3)線性加權(quán)移動平均線(wma)(4)移動平均線周期橫向移動(時間延遲移動)moving averagesimple moving averageexponential moving averagewe

27、ighted moving averagema periods of horizontal shift3.指數(shù)平滑異同移動平均指標(macd)moving average convergence /divergence4.相對強弱指標(rsi)relative strength index5.方向性(動向)指標(dmi)directional movement index6.停損并反做指標(拋物線指標)sar(parabolic)stop and reversal7.隨機指標(kdj)stochastic oscillator8.威廉指標(%r)williams %r9.動量指標(mtm)mo

28、mentum10.價格震蕩指標(poi)price oscillator index11.能量趨向指標(能量潮)(obv)on balance volume12.價量趨勢指標(pvt)price volume trend13.通道指標(cci)commodity channel index14.累計擺動指標(asi)accumulation swing index asi15.標準背離指標(sdi)standard deviation index sdi16.時間連續(xù)預測(tsf)time series forecast tsf17.基礎指標(uoi)ultimate oscillator i

29、ndex uoi18.價格參數(shù)指標(mpi)mediam price indexmt5介紹及所使用的ea問題mt5是metatrade 5的英文縮寫。 它是由metaquotes platform(邁達克)公司編寫的一款外匯、期貨等金融產(chǎn)品的交易軟件。mt5有哪些新功能? 第一、推出2分鐘圖、3小時圖等21種時間周期,以及70種技術(shù)指標。其中斐波納奇通道是新加入的分析工具,而用來展示大波段的zigzag則用不同的顏色表示上升和下降行情。值得注意的是,歷史數(shù)據(jù)中心取消了,但邁達克改進了數(shù)據(jù)存儲格式,所以,存儲數(shù)據(jù)的數(shù)據(jù)中心也自然退休了。 5天前 上傳下載附件 (9.63 kb) 第二、c+愛好者

30、的福音,編程更為方便快捷。 在mt5時代,我們能夠享受更好的指標、智能策略和模板。新一代編程語言 metaquotes language 5的運算速度將增快數(shù)倍,與c+代碼的轉(zhuǎn)化更加容易,并且, 也新加了intellysence系統(tǒng)等測試工具。 第三、ea測試功能更為強大。 ea是指experts advisor,就是智能交易的意思。mt5能夠同時對數(shù)個貨幣對進行ea測試。 第四、有五種定單類型和四種執(zhí)行模式,從而可以實施不同的定單策略。 第五、增加了期權(quán)品種,mt5平臺可提供外匯、股票、cfd、期權(quán)、指數(shù)產(chǎn)品,但公測版尚未提供外匯之外的產(chǎn)品。 編輯本段公司介紹及發(fā)展metaquotes 公司

31、成立于2000年,是一家專業(yè)提供在線交易平臺和分析工具的軟件公司。 2000 年,邁達克軟件公司推出第一代的專業(yè)網(wǎng)上交易系統(tǒng), fx 圖表。這個平臺適用于外匯市場,不但具備所需要的功能,而且在廣泛的使用過程中,不斷地被改進,使其能夠符合每個時期金融市場的需求。 2001 年,邁達克軟件公司推出了第二代在線交易系統(tǒng) -metaquotes 。不同于 fx 圖表, metaquotes 不僅適用于外匯市場,同樣也適用于 cfd 市場。此外這個平臺還具備一個不同的,真正創(chuàng)新的特點 專為智能交易設計的程序語言 metaquotes 語言( mql ) . 這一特點的出現(xiàn),為客戶終端機性能的完善,打開了

32、一個全新的局面。 metaquotes 軟件不僅被廣泛地接受,而且還在交易商中間成功地進行了驗證,獲得了肯定,使我們的在線交易軟件得到了全新的變革。 2002 年邁達克軟件公司推出了第三代在線交易系統(tǒng) -metatrader 。這個系統(tǒng)還適用于期貨市場。具有全新的,更富柔性程序語言被運用在了智能交易系統(tǒng)中 - mql ii 。通過持續(xù)不斷地對 metatrader 平臺改進, , 使這一種產(chǎn)品得到極大的成功,成為世界上最流行的在線交易系統(tǒng)。 2003 年,邁達克軟件公司成為了使用移動電話進行交易的先驅(qū)者之一 - metatrader ce 以及用于 palm 的 metatrader . 20

33、05 年 7 月 1 日 邁達克軟件公司 推出了目前最新的最新交易系統(tǒng) - metatrader 4 。它包括先前系統(tǒng)所有的特點,并且對這些功能和組成部分進行了進一步的介紹和重組。 它適用于外匯, cfd 以及期貨市場。 metatrader 4 服務器明顯在使用率,工作表現(xiàn),和可信度方面要優(yōu)于早先的系統(tǒng)。 metatrader 4 客戶終端機更具功能性,變通性以及便捷性,是交易商手中的一個重要工具。一種為智能交易的 metaquotes 4(mql4) 而創(chuàng)設的類似于 c 語言的編程語言,已經(jīng)得到了進一步的開發(fā),并逐步成為眾人所熟知的自動交易系統(tǒng)程序語言。這種語言的變通性及工作效率十分接近專

34、業(yè)的 c 語言。 2009年秋季邁達克將發(fā)布mt4軟件的再次升級版本mt5,mt5現(xiàn)在正在進行beta測試。 編輯本段升級更新metatrader 5相比metatrader 4 ,交易的可能性更廣泛。 首先,metatrader 5終端可以使用的金融產(chǎn)品增多了,現(xiàn)在除了外匯、期貨以外,它還可以應用于股票、期權(quán)等金融產(chǎn)品。 其次,metatrader 5在功能方面 也越來越強大了,新增的功能有: 可以有21種時間段來分析行情 內(nèi)置38種分析指標 內(nèi)置39種圖像對象 4種縮放模式 17種顯示指標樣式 此外,歷史數(shù)據(jù)不會像mt4那么大容量了,10年的m1數(shù)據(jù)才占10mb(我記得mt4中要100多m

35、b了。); 和mt5編程語言同步的mql5編程語言,也比和mt4同步的mql4編程語言有很大不同,具體有: 這些是官方網(wǎng)站上列出的,不一定就是最終版的規(guī)格: 編輯本段優(yōu)缺比較1、mql5和c+的不同之處: 沒有地址運算 沒有g(shù)oto語句 沒有類的多重繼承 定義枚舉類型時,必須有枚舉變量名 結(jié)構(gòu)體和類的構(gòu)造函數(shù)不能有參數(shù) 2、歷史測試可能是多線程的,可以同時測試多時間周期及多貨幣對同時交易; 另外提醒一點:mt5并不與mt4相兼容,換句話說就是: mql4語言編寫的mt4指標或者mt4 ea 都不能在mt5環(huán)境中運行。 官方網(wǎng)站放出了mt5/mql5的第一個例子tetris,具體是在mt5的圖表

36、上玩俄羅斯方塊,orz 從其附帶的mql5代碼,可以發(fā)現(xiàn)很多mql5的新特性,其中比較激動人心的有: 1、直接支持鍵盤消息的處理。這意味著mt5的ea和指標可以實現(xiàn)更多更復雜的功能了, 2、直接timer機制,這說明不用像mt4那樣等待tick到來start才能執(zhí)行一次了,可以精確的在某個時間執(zhí)行某些動作。云交易與傳統(tǒng)的ea相比有何不同ea的定義是智能交易,云交易屬于智能交易的范疇,所以云交易可以歸類ea的一種。但傳統(tǒng)的ea是已經(jīng)設置好的公式,是電腦程序依據(jù)指標(如ma、macd)的走勢幫你做單,其風險極大,而云交易是投資高手在做單,風險控制能力強很多。但好較好的ea確能給予投資客很好的指導“

37、云交易”是指金融投資運用先進的云技術(shù),由策略信號商提供信號云,讓投資新手可以實時跟隨投資高手的買賣信號并自動做單的一種新型投資模式。它具有“云科技”的兩大特征,一是海量信息庫共享化(如我們電腦桌面防毒軟件的“云查殺”);二是主機漫游化(如網(wǎng)丫網(wǎng)頁電腦,如音樂軟件的“云音樂”)。目前在國外已成為一種投資新潮,深受投資者的喜愛。云交易的工作原理很簡單,假如a是某大型策略云公司,b是某投資高手,b向a申請策略提供者的身份,a在考核b發(fā)現(xiàn),b是一個有多年的投資經(jīng)驗的買賣高手,投資風險控制力好,風格穩(wěn)健,成功率高,便將其簡歷與交易上傳到官網(wǎng)上,供投資者參考,而c是某投資新手,他聽聞a公司有提供跟單交易,

38、便在官網(wǎng)策略云中發(fā)現(xiàn)了b正是他想追隨的高手,便與a簽了協(xié)議,把自己的賬戶綁定到b的策略中,從此b下單,其買賣信號就會發(fā)送到c的帳戶中,c的帳戶在兩秒左右接收到信號后緊隨著自動下單,這一樣來還是投資新手的c便有b這樣高手的成功率。2010年紐約交易所75%成交量實現(xiàn)是智能交易。 日前最大的外匯交易軟件開發(fā)商俄羅斯邁達克( metaquotes)公司全新推出mt5較mt4對比最大的亮點就是更方便外匯交易“云交易”化了,并且邁達克公司在官網(wǎng)專門策略者論壇,供投資者去選擇自己滿意策略高手進而跟其投資買賣。北京深藍投資理念(sunlada)于2010年推出倡導科學理性的“智計劃”,借鑒美國海龜計劃的理念

39、,依靠教予正確的投資方法、培養(yǎng)理性的投資心態(tài)、堅守合理的投資規(guī)則,培養(yǎng)出真正合格的股民、出色的投資者、優(yōu)秀的操盤手。“智計劃”與深藍投資一貫的理念相吻合:遠離浮躁、拒絕忽悠,立足于科學與務實,用理性與智慧來改變投資者自己的人生。智計劃引入了深藍投資在國內(nèi)獨家開發(fā)的自動交易系統(tǒng),標志著中國投資者也有機會進入“自動交易時代”。交易系統(tǒng)是什么?從何而來?怎樣得到自己的交易系統(tǒng)?其實好多人都在苦苦尋找自己的交易方式,但是結(jié)果都是以失敗告終,是他們的方式錯了嗎?非也,是他們的辛苦程度不夠嗎?非也?那是為什么呢?主要是投資者不知道怎么總結(jié)自己的交易思路,自己的交易模式。也不知道交易的內(nèi)涵到底是什么?本質(zhì)是

40、什么?自己缺少了分析,缺少了思考,更加缺少了探索,更重要的缺少的是一種特別執(zhí)著的精神。當別人說:指標具有滯后性,你也人云亦云,指標具有滯后性,但是你分析了指標為什么具有滯后性了嗎?指標的原理是什么了嗎?我們怎么規(guī)避了嗎?比如:提高近期的權(quán)重等?等到你把任何指標的數(shù)學模型都建立起來,認認真真的仔細看幾個晚上,認認真真的分析幾個星期,再結(jié)合你的k圖總結(jié)一下,周期變化,貨幣變化,看看指標到底是什么玩意兒,直到當你進入夢鄉(xiāng)的時候,你的夢里還是你想象的指標,還是你想象的數(shù)學模型,我就不信你發(fā)現(xiàn)不了指標的內(nèi)核。等到你大腦里面真正有指標的潛意識的時候,你就知道指標是不是真的滯后了,你就知道了怎么規(guī)避了。當你

41、研究了指標的之后,你再研究形態(tài)分析,方法如你研究指標的方法一樣,8 d8 b o) 最后你開始研究基本面,基本面是一個很重要的課題。當你聽別人說:基本面的消息大部分是假消息,或者是不可靠的,是的,金融學上不是說市場有效理論和市場無效理論了嗎?但是你真正對一個財經(jīng)消息消息認真思考了嗎?你就把它背下來吧,對她里面的專業(yè)名詞認真研究一下,認真琢磨一下,你琢磨的多了,你再結(jié)合你的k圖觀察一下,你就能得出了一個別人不知道的結(jié)論;技術(shù)你也研究了,基本面你也研究了,那好,你再結(jié)合你的心里素質(zhì),資金狀況進行試探性投資吧,看結(jié)果是怎么樣的了?) u x) e0 f$ k+ z+ o1 k好了,你的理論具備了,但

42、是你也不能嘗試去投資,因為你用的資金可是你的血汗錢啊,那么你再學習下ea的編程知識,把你的思路用程序來進行模擬一下,看你的思路到底在什么地方?你再去修正和改進,你總會達到完善的那一天的?; j0 t. / c5 rn5 c8 x也許有人說:ea編寫很難,其實你們錯了?其實你只要知道交易的知識,和簡單的計算機語言結(jié)構(gòu),函數(shù)的應用,那么很快你的一個簡單的程序就寫出來了。當然,更難的系統(tǒng)也許需要時間,需要摸索,但是你細心就行了,把自己經(jīng)常用的模塊收集起來,到時候直接調(diào)用就是了。比如:時間模塊,下單模塊,平倉模塊,判斷模塊,平倉模塊等等當然,最后你學會的分析不僅僅是模塊的研究,更重要的是你能很快看懂別

43、人寫的更加復雜的交易系統(tǒng)的思路,你能改進他們,為你所用。, x/ u5 z+ c4 u7 v也許你認為模塊很復雜,很難理解,其實也很簡單:我還是用一個例子來說明吧,以免你很枯燥的看完我寫的內(nèi)容:這個是平倉的模塊void closeallorders(int type)/函數(shù)聲明,你首先了解他是一個過程函數(shù),就是說明函數(shù)僅僅按照你的命令做了一個動作.不返回.你可以用編譯器去驗證for(int c=0;c 1) orderdelete(orderticket();/如果不是買單,也不是賣,我就刪除掛單7 p% _9 m) k: iy l好了,這個模塊我給你分析和解釋了,是不是就看起來很簡單了,你把

44、這個模塊如果了解了,并且會應用了,那你就可以創(chuàng)新了.比如:我給你提出幾個問題,你看能不能自己解答:1、如果我只平調(diào)買單我該怎么寫?如果是賣單呢?2、我只刪除掛單我怎么寫?3、如果我什么都不處理呢?4、如果我平不掉訂單怎么處理(這個是附加的題目)5,是不是我可以用在時間控制上面去修飾一下。6.。等等,就這一個簡單的模塊你可以變化出千奇百怪的題目來,這個是金融的靈活性,也是計算機的靈活性吧什么是智能交易? 什么是智能交易?智能交易系統(tǒng)是一套允許交易員檢驗交易策略的優(yōu)秀工具。智能交易系統(tǒng)使交易過程操作自動化,使交易員從實時市場監(jiān)控的繁重工作中解放出來。許多專業(yè)交易員使用多種交易系統(tǒng)以便在不同市場多變

45、的環(huán)境下操作。通常他們在一些知名的分析軟件包中撰寫和檢驗他們的交易戰(zhàn)略。有了智能交易系統(tǒng),交易員可以將真實賬戶同交易系統(tǒng)產(chǎn)生的信號聯(lián)系起來,即通過跟蹤和管理任一時點的未平倉合約、下單和止損的記錄來建立這種聯(lián)系。它不僅告知交易時機,還自動執(zhí)行交易賬戶的交易并將信號直發(fā)送到交易服務器。同大多數(shù)it系統(tǒng)一樣,智能交易系統(tǒng)還能以歷史記錄以及表上所反映的交易進出點來測試投資戰(zhàn)略,我們可能充分利用這一功能對自己的交易系統(tǒng)進行長時間的歷史回溯,以驗證并微調(diào)和完善自己的交易系統(tǒng)。智能交易的歷史和現(xiàn)狀: 程式化交易,即智能交易,起源于美國1975年出現(xiàn)的“股票組合轉(zhuǎn)讓與交易”,隨著技術(shù)的發(fā)展和計算機系統(tǒng)的應用,

46、投資經(jīng)理、經(jīng)紀人可以實現(xiàn)股票組合的一次性買賣交易;80年代,程式化交易發(fā)展很快,交易量急劇增加,因為軟件使用的類同和止損功能的引入,加劇了市場的方向效應;進入90年代,出現(xiàn)了把程式化交易作為競爭手段的經(jīng)紀公司,投資組合的方式豐富多彩。程式化交易更是21世紀的主要交易方式,并引起了各國資本市場監(jiān)管當局的重視,從法規(guī)上進行規(guī)范和引導,在技術(shù)上進行投入和開發(fā)。據(jù)美國aite group llc咨詢公司的統(tǒng)計數(shù)據(jù),2006年在歐洲及美國股票市場中,有1/3的交易是由自動交易系統(tǒng)或算法化交易完成的。預計到2010年,這個比例將達到50%。2006年,倫敦證券交易所有超過40%的交易訂單來自算法交易者,2

47、007年預計將達到60%。總體上看,美國市場與股票市場中算法交易的使用率要高于其他市場,預計2008年在某些市場中算法交易的使用率將達到80%。算法交易在外匯市場中也很活躍,2006年大約占總交易的25%。算法交易也可以輕而易舉地被應用于期貨和期權(quán)市場,預計到2010年大約20%的期權(quán)交易量將源于計算機程序。債券市場也將逐漸引入更多的算法交易者。智能交易的優(yōu)勢: 程式化交易的優(yōu)勢是人為判斷交易無法比擬的,從投資報酬的穩(wěn)定性、長期交易平均損失幾率、決策判斷模式、風險管理、執(zhí)行能力等進行判別,程式化交易遙遙領先,程式化交易系統(tǒng)就象一個競技場一樣,需要好場地、好裁判和好運動員,對一個系統(tǒng),就要解決好

48、數(shù)據(jù)、規(guī)則和交易者思想的協(xié)調(diào),數(shù)據(jù)是最基本和客觀的信息,體現(xiàn)了供求關(guān)系的變化和價格、價值的二重性,一個好的系統(tǒng),就要把數(shù)據(jù)及時、準確地傳播出來;規(guī)則是維持市場秩序的有力工具,運行的制度、交易的方式、指標的規(guī)范構(gòu)建了合理的平臺,讓行為在有序的條件下進行;交易者的思想就是個性心理和知識體系,因為他們的差異,產(chǎn)生了不同的行為,有了買賣的交易,但我們必須知道,只有10%的人才能站在成功的機會里,只有戰(zhàn)勝了人性中的貪婪、恐懼等弱點,只有按照紀律和規(guī)則進行交易,才能進入10%的行列;由此而來,產(chǎn)生了兩個競爭的方向:一是提供程式系統(tǒng)交易的軟件平臺;二是進行程式交易過程的思想、方法。mt4智能交易ea系統(tǒng)的測

49、試流程當拿到一個ea后,第一個就是要測試,看歷史的表現(xiàn)如何,才能大至對這個ea的贏利能力及資金管理有個了解,如果太差也就沒有研究使用的必要了。打開mt4軟件第一步:點擊“顯示”、“智能交易測試”(或直接點擊ctrl+r)。2012-10-24 01:59 上傳下載附件 (19.01 kb) 外匯ea流程界面1 第二步:在智能交易系統(tǒng)選擇您的智能交易系統(tǒng),這里選擇mt4自帶的macd sample演示。2012-10-24 02:02 上傳下載附件 (17.69 kb) 外匯ea流程界面2 第三步:選擇商品,這里用usdchf演示。2012-10-24 02:07 上傳下載附件 (19.67 k

50、b) 外匯ea流程界面3 第四步:在商品的旁邊有時間段選項,這里選擇小時圖2012-10-24 02:08 上傳下載附件 (17.8 kb) 第五步:在“適用時間”打上勾,選擇好開始的時間。2012-10-24 02:08 上傳下載附件 (18.74 kb) 第六步:選擇好結(jié)束的時間。2012-10-24 02:08 上傳下載附件 (18.36 kb) 第七步:在“復盤顯示”打上勾,并選擇好價格跳動的速度。2012-10-24 02:08 上傳下載附件 (17.57 kb) 第八步:點擊“開始”。2012-10-24 02:09 上傳下載附件 (17.35 kb) 關(guān) 上傳圖片 普通上傳 網(wǎng)絡

51、圖片第九步:出現(xiàn)新的圖表并價格開始跳動,在這里我們還可以重新選擇價格跳動的速度。2012-10-24 02:10 上傳下載附件 (17.69 kb) 第十步:出現(xiàn)交易信號。2012-10-24 02:12 上傳下載附件 (16.6 kb) 第十一步:測試結(jié)束后,點擊窗口下面的“結(jié)果”,會顯示測試結(jié)果。2012-10-24 02:12 上傳下載附件 (18.2 kb) 第十二步:測試結(jié)束后,點擊窗口下方的“凈值圖”會顯示測試結(jié)果。2012-10-24 02:13 上傳下載附件 (19.61 kb) 第十三步:點擊“報告”我們還可以看到全部測試的綜合數(shù)據(jù)。2012-10-24 02:13 上傳下載附件 (23.4 kb) 結(jié)束,祝君交易愉快!ea的工作原理智能交易系統(tǒng)ea的工作原理就是由程序員借助一門計算機程序設計語言,通過編寫程序交易指令模擬人類交易員的行為進行下單操作,實現(xiàn)機器自動進行交易的過程。ea的主要執(zhí)行過程可分為:盯盤-開倉-再盯盤-平倉,如此循環(huán)執(zhí)行的過程。外匯ea在mt4中的文件放置*指標的mq4、ex4文件復制至experts目錄的indicator

溫馨提示

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

評論

0/150

提交評論