亚洲乱码中文字幕综合精品视频_久免费在线看aⅴ_欧美乱妇日本无乱码特黄大片_玖玖资源网在线精品

怎樣把指標(biāo)轉(zhuǎn)換成EA

日期:2012-07-27 00:00:00 來源:互聯(lián)網(wǎng)
    

第一部分:指標(biāo)

為了能賺錢而不是虧損,無論是專業(yè)的交易商還是個(gè)體,都在研究各和總結(jié)各種種的規(guī)律,并做成指標(biāo),我們經(jīng)常會(huì)發(fā)現(xiàn)一些指標(biāo)圖線看起來很完美,于是都會(huì)想到要根據(jù)指標(biāo)的變化進(jìn)行交易。

但這樣做會(huì)賺錢嗎?

能否賺錢,我們就要看這些指標(biāo)有沒有作弊。即確定指標(biāo)是否有未來函數(shù)的計(jì)算,也就是說指標(biāo)會(huì)不會(huì)根據(jù)現(xiàn)在的K線,計(jì)算后將指標(biāo)在歷史K線上標(biāo)示做更改。比如原來是賣的提示,改為買。(恐怖吧)。(當(dāng)然還有一些EA特有的環(huán)節(jié)也會(huì)影響盈利問題,在這里不講)

確定是否有未來函數(shù)的方法有兩種:

1.白盒校驗(yàn)(即查看源碼)

直接看源碼中的循環(huán)部分,如果有修改歷史曲線數(shù)組的行為,則可以立刻斷定有未來函數(shù)。

2.黑盒觀察

當(dāng)沒有源碼的時(shí)候,可以將指標(biāo)加載到1分鐘的圖線上,連續(xù)不斷觀察其標(biāo)示的變化,尤其注意與當(dāng)前K線狀態(tài)最接近的歷史K線標(biāo)示的變化。如果隨著當(dāng)前K線的變化出現(xiàn)過歷史變化更改,則也可以確定有未來函數(shù)

指標(biāo)EA化之前必須要確認(rèn)的事情:

如果一個(gè)指標(biāo)含有 未來函數(shù),那么這個(gè)指標(biāo)是沒有多大意義的。也就是說,我們要將指標(biāo)改為EA前,必須確認(rèn)這個(gè)指標(biāo)是不含未來函數(shù)的,這樣指標(biāo)EA化才有意義。

第二部分:指標(biāo)EA化

接下來將指標(biāo)EA化大致的做法是:

在EA中通過函數(shù)iCustom讀取這個(gè)指標(biāo)的當(dāng)前K線輸出值,得出當(dāng)前的狀態(tài),來決定是否入場或者平倉并反向入場。

iCustom的具體用法:

指標(biāo)一般都是曲線或者箭頭兩種。在這里我們要把曲線和箭頭都看成是數(shù)組就容易理解了。

對于指標(biāo)來說每一條曲線或者箭頭都是寫在與每個(gè)K線對應(yīng)的數(shù)組中的,也就是說一條曲線對應(yīng)一個(gè)數(shù)組,一個(gè)方向的箭頭也是對應(yīng)一個(gè)數(shù)組(有箭頭的數(shù)組值是當(dāng)時(shí)的價(jià)格,沒箭頭地方的數(shù)組值是“空”)

iCustom  MT4的幫助里說的是:“計(jì)算指定的客戶指標(biāo)并且退回它的值”,即這個(gè)函數(shù)可以讓你獲取指定指標(biāo)的第幾個(gè)數(shù)組對應(yīng)第幾根K線上的計(jì)算數(shù)值。

具體如下:

double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)

計(jì)算指定的客戶指標(biāo)并且退回它的值。 必須在terminal_directoryexpertsindicators目錄內(nèi)編寫客戶指標(biāo)(*.EX4文件)。

參量:

symbol-計(jì)算指標(biāo)數(shù)據(jù)上的貨幣對名稱. NULL表示當(dāng)前貨幣對.

timeframe - 時(shí)間周期。 可以時(shí)間周期列舉任意值. 0表示當(dāng)前圖表的時(shí)間周期.

name  - 客戶指標(biāo)完整的程序名稱.

...  -  參量設(shè)置(如果需要)。通過的參量和他們的順序必須與desclaration命令和客戶指標(biāo)的外部可變物的種類對應(yīng)。

mode  - 索引行。 從0到7并且必須對應(yīng)以其中一個(gè)使用的索引的 SetIndexBuffer 函數(shù).

shift  - 從顯示緩沖采取的值的索引(轉(zhuǎn)移相對當(dāng)前柱特定相當(dāng)數(shù)量期間前).

示例:

double val=iCustom(NULL, 0, "示例Ind",13,1,0);

double va2=iCustom(NULL, 0, "示例Ind",13,0,1);

例如:一個(gè)指標(biāo),畫了兩條曲線,則可以用iCustom取得這個(gè)指標(biāo)在第4根K線上對應(yīng)的第一條曲線的數(shù)值。

我們現(xiàn)在已經(jīng)可以根據(jù)自己的想法去獲得一個(gè)指定指標(biāo)的任何K線上的狀態(tài)數(shù)值了。那麼下一步我們就要開始EA的概念。

因?yàn)镋A只針對當(dāng)前價(jià)格狀態(tài)下的動(dòng)作進(jìn)行控制。所以一般而言我們就取指定指標(biāo)在當(dāng)前K線下的計(jì)算數(shù)值用于EA的條件判斷。

如果你認(rèn)為當(dāng)前K線沒有結(jié)束,其數(shù)值始終在變化,有可能一會(huì)有訊號一會(huì)沒訊號,那麼你可以采用取前一K線的指標(biāo)數(shù)值的方式作為基礎(chǔ)。(如果用當(dāng)前K線指標(biāo)數(shù)值作為條件會(huì)有不確定的結(jié)果,但如果用前一K線數(shù)值做條件則有“錯(cuò)過最佳入場點(diǎn)”的問題。這是需要程序設(shè)計(jì)者權(quán)衡的問題。)

另外的一個(gè)問題,就是怎末去判斷指標(biāo)輸出的數(shù)值與我們?nèi)庋劭吹降挠嵦栆恢缕饋淼膯栴}。

如果參考的指標(biāo)是一種變色線,則一定是一種顏色一個(gè)數(shù)組的方式疊加起來顯示的。我們在取其數(shù)值的時(shí)候只需要看看不同顏色的數(shù)組的數(shù)值比較一下就知道其結(jié)果是哪種顏色,并作為EA的條件進(jìn)行動(dòng)作就行了。

如果是箭頭的方式,則一樣是去取其數(shù)值,無箭頭的K線上指標(biāo)對應(yīng)的數(shù)值是“空”,有箭頭的地方數(shù)組對應(yīng)的數(shù)值肯定不是空。用這個(gè)來判斷是否發(fā)生了訊號就行了。

比如雙色線,就一定是兩個(gè)數(shù)組分別顯示不同顏色,當(dāng)指標(biāo)認(rèn)為應(yīng)該顯示其中一種顏色的時(shí)候就將這個(gè)顏色對應(yīng)的數(shù)組在當(dāng)前K線中的數(shù)值設(shè)成當(dāng)前價(jià)。反之則設(shè)為“空”。這樣循環(huán)一遍后 你肉眼看到的就是變色線了

現(xiàn)在我們可以輕松獲得指標(biāo)的當(dāng)前訊號狀態(tài)了!

下一步就是結(jié)合進(jìn)EA中,就是把指標(biāo)中的數(shù)組值拿過來

第三部分:EA 編程邏輯

EA就是一個(gè)循環(huán)往復(fù)的過程。每來一個(gè)價(jià)格就運(yùn)行一次。

EA是電腦,并不知道你現(xiàn)在的倉位情況也不知道指標(biāo)的情況,除了計(jì)算什么都不知道,一切都是編程者賦予的。因此,編程者腦子里一定要建立一種綜合狀態(tài)的概念。

EA的一開始一定要先進(jìn)行倉位的情況檢查。大致的邏輯如下:

1.先查出持倉情況和持倉單的方向。

2.然后獲得指標(biāo)的數(shù)值。

3.判斷并操作

持倉狀態(tài)下:根據(jù)持倉單的方向進(jìn)行對應(yīng)來判斷反向訊號是否發(fā)生。如果發(fā)生則平倉并反向入場。如果沒發(fā)生則直接返回,等待下一次價(jià)格的而到來。

空倉狀態(tài)下:則兩個(gè)方向的訊號都做判斷,哪邊發(fā)生了就按那邊的方向入場。

4.其他的的細(xì)節(jié)

不論入場還是出場都要在發(fā)出動(dòng)作后馬上判斷是否正確執(zhí)行的判斷。如果沒有執(zhí)行成功則一定要立刻放棄后面的操作直接返回。等待下一個(gè)價(jià)格來的時(shí)候在此發(fā)出同樣的動(dòng)作。

另外說明的是數(shù)據(jù)是自動(dòng)更新的。

關(guān)于我們 | 商務(wù)合作 | 聯(lián)系投稿 | 聯(lián)系刪稿 | 合作伙伴 | 法律聲明 | 網(wǎng)站地圖