亚洲成在人线中文字_一区二区三区国产毛码_日本高清有码在线_国产高清精品二区

    1. <ruby id="euilc"></ruby>

      <label id="euilc"></label>

    2. <object id="euilc"><del id="euilc"></del></object>
    3. <pre id="euilc"></pre>

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

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

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

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

      但這樣做會賺錢嗎?

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

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

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

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

      2.黑盒觀察

      當(dāng)沒有源碼的時候,可以將指標(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)的事情:

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

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

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

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

      iCustom的具體用法:

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

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

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

      具體如下:

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

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

      參量:

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

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

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

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

      mode  - 索引行。 從0到7并且必須對應(yīng)以其中一個使用的索引的 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);

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

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

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

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

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

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

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

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

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

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

      第三部分:EA 編程邏輯

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

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

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

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

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

      3.判斷并操作

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

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

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

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

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

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