『壹』 在EA中如何調用已有的自己編寫的指標
在EA中可以用iCustom函數調用,具體用法,參看裡面的字典就可以了
『貳』 請教如何在EA里調用自己寫的指標
自己寫的指標可以用自定調用函數在EA里調用,具體的函數是
int iCustom(
string symbol, // 交易品種名稱
ENUM_TIMEFRAMES period, // 周期
string name // 文件夾/自定義指標_名稱
... // 指標輸入參量列表
);
比如用這個函數調用21日MA均線指標做個列子
double MA_handle=iCustom(NULL,0,"Moving Average",
21,
0,
MODE_SMA,
PRICE_CLOSE // 使用收盤價
);
『叄』 mt4 ea編程中如何引用自定義指標具體怎麼做
double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
關鍵是將引用指標的名稱寫正確,放在這個參數的位置string name.
name後面需要把指標中的參數,按順序寫完.
後面的mode指的是引用指標裡面的第幾畫線數組,一般是0-7,最多有8個.具體每個數組代表的意義,需要從引用指標裡面找到.
『肆』 如何在EA中引用有dll的指標,或在EA中使用dll,最好給個例子
#import "quanttradermt4.dll" void GetVolatilityRatio(Symbol(), Point, Period(), bb, barcounted, a1, a2, a3, a4);#import//此處省略int start() { double bb[][6]; int barcounted = IndicatorCounted(); ArrayCopyRates(bb, Symbol(), 0); GetVolatilityRatio(Symbol(), Point, Period(), bb, barcounted, a1, a2, a3, a4); return(0); }我所用的dll裡面輸出的是函數 我想知道怎樣把下面的例子,改寫成EA能用的代碼,下面是個例子:
『伍』 我要調用這個指標做一個EA,怎麼調用
不能調用其他指標里的某個函數可以iCustom調用其他指標的序列數組內容。同理,你可以將其輸出為序列數組,然後調用。
『陸』 如何讓EA讀取自定義指標
一、MT4自定義指標保存在C:\Program Files\MetaTrader 4\experts\indicators這個目錄中,
該目錄中主要有二種類型的文件,
一種是mq4文件,這是MT4自定義指標的源碼文件,是一種高級語言文件,可以人工編寫修改,機器不能直接執行,但能在MT4啟動時自動編譯為ex4可執行文件。
另一種就是ex4文件,這是MT4自定義指標的可執行文件,由mq4文件編譯得到。
mq4文件必須編譯為ex4文件才能被MT4執行。
但ex4文件是機器碼文件,人工不可修改
另外還有一個文件是mqlcache.dat,它用來保存目錄中的文件信息,如果MT4無法自動編譯,只要刪除此文件即可解決問題
mq4文件編譯為ex4可執行文件有兩種方法:
1、MT4啟動時,會自動把此目錄中的mq4文件編譯為ex4文件。
2、用MQ語言編輯器打開mq4文件,點一下「編寫」按鈕,即可生成ex4文件
二、下載保存mq4文件、ex4文件
在論壇上我們經常看到有mq4文件、ex4文件可供下載,我們只要把它們保存到C:\Program Files\MetaTrader 4\experts\indicators這個目錄,也就是下面這個目錄中,就可以了。如果下載的是ex4文件,那可以直接調用;如果是mq4文件,則需要重啟動MT4,讓系統自動編譯生成ex4可執行文件。如果下載的是rar、zip等類型的壓縮文件,還必須下載後解壓到此目錄才能使用。
三、將源碼保存為源碼文件
在論壇上,我們也經常能看到指標源碼貼在網頁上,但沒有mq4、ex4等文件可以下載,只能復制源碼。此時需要我們自己動手將源碼保存為源碼文件,那也沒關系,非常地簡單,多點幾下滑鼠就搞定。
1、打開MQ語言編輯器
2、在MQ語言編輯器中新建一個文件,文件名一定要輸,別的隨便操作都沒關系。
3、刪除新文件裡面的所有內容,成為一個空文件,
4、接著我們就可以將網頁上源碼復制粘貼進來
試著點一下「編寫」,如果左下角出現「0錯誤,0警告」,那說明源碼沒問題,編譯通過了,成功生成了ex4可執行文件
5、還有很重要的一點,就是要把源碼文件保存到正確的目錄中
保存後,再點一下編寫。
到此,源碼保存完成。
當然,我們也還有另的辦法:
可以打開一個原已存在的mq4文件,然後另存為你需要的文件名,再刪除文件中的所有內容成為空文件,把網頁上的源貼到文件中保存即可
也可以在記事本中新建一個文件,把網頁上的源碼貼進記事本,然後取個文件名保存到上面提到的目錄,不過文件後綴必須輸入mq4,保存類型選擇「所以文件」
四、mt4程序調用自定義指標
『柒』 如何在EA中調用指標
EA設一全局變數 與指標對應
指標中接收全局變數 與其相等 做計算 不相等 什麼也不做
不過,總感覺 畫蛇添足!指標可以同時載入觀察,而不需要在EA裡面也顯示指標。
『捌』 mt4 ea如何引用ZigZag指標
看懂iCustom()函數的參數很重要。
倒數第2個「0」是指在ZigZag指標中的數組序號,還有「1」和「2」兩個數組。這三個數值分別對應指標中的三個數組,具體就是0對應ZigZag值,1對應High值,2對應Low值。
倒數第1個「0」是指從當前開始的柱數。當前柱為0,前一根柱為1,依次類推。
只有當出現拐點時,ZigZag值才不為0,其他兩個數組也是這樣,但要注意,ZigZag值不為0,High或Low肯定有一個值與之對應,也不為0。反之,則不然。即當High或Low有值不為0時,當時的ZigZag值是不為0的,但過後,出現更新的High或Low值時,ZigZag因為重新計算,前一次出現不為0的柱數,現在可能就不再不為0了,也就是說,不再是拐點了。
這就是ZigZag的神秘之處,或者說ZigZag因為修正它的值,使它看上去非常漂亮,但實際上包含有所謂的未來函數,在實際應用中要加以注意,不要被它表面上的表現所蒙蔽。
事實上,我也在求如何得到ZigZag值及所在柱數。希望對你有所幫助,並共同學習。