在前面幾節(jié),我們學(xué)習(xí)了MT4編程開(kāi)發(fā)中畫圖方面的一些基礎(chǔ)知識(shí),這次我們來(lái)學(xué)習(xí)一下如何在MT4編程中應(yīng)用報(bào)警功能。
大家都知道,外匯市場(chǎng)是24小時(shí)不間斷的,而人的精力是有限的,那么,在休息的時(shí)候如果價(jià)位到達(dá)了自己的目標(biāo)價(jià)位,這時(shí)候該怎么辦呢?答案是利用MT4的警報(bào)功能。在MT4平臺(tái)上如何設(shè)置警報(bào)這里就不詳述了,具體可參考幫助文檔,這里說(shuō)一下如何通過(guò)編程來(lái)實(shí)現(xiàn)。
首先,我們來(lái)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的指標(biāo):當(dāng)價(jià)格到達(dá)指定價(jià)位時(shí),進(jìn)行報(bào)警。新創(chuàng)建一個(gè)指標(biāo)文件,命名為:Lesson5_Alert_1。在程序頭部加入如下一句:
其中紅色部分為我們添加的語(yǔ)句。Extern的意思是Price為一個(gè)外部變量,可以在指標(biāo)運(yùn)行期間動(dòng)態(tài)進(jìn)行修改。
然后在start函數(shù)中加入如下語(yǔ)句:
編譯后運(yùn)行,然后把Lesson5_Alert_1指標(biāo)添加到圖表上,并設(shè)置好Price變量,當(dāng)當(dāng)前的賣出價(jià)等于設(shè)定的Price價(jià)格時(shí),則會(huì)彈出如下的報(bào)警窗口:
Alert函數(shù)的意思是當(dāng)滿足if內(nèi)設(shè)定的條件時(shí),彈出一個(gè)警報(bào)窗口,把Alert函數(shù)內(nèi)設(shè)定的內(nèi)容顯示出來(lái),同時(shí)會(huì)發(fā)出警報(bào)聲。
如果我把Lesson5_Alert_1指標(biāo)同時(shí)添加到很多個(gè)貨幣對(duì)上,那么當(dāng)指標(biāo)彈出報(bào)警窗口時(shí),我怎么才能知道是哪個(gè)貨幣對(duì)在報(bào)警呢?這時(shí)就必須為報(bào)警內(nèi)容添上貨幣對(duì)的名稱了。現(xiàn)在我們把剛才的語(yǔ)句改寫如下:
重新編譯并添加到圖表上,當(dāng)當(dāng)前賣出價(jià)格等于Price指定的價(jià)格時(shí),將會(huì)彈出如下的報(bào)警窗口:
可以看到報(bào)警窗口內(nèi)已經(jīng)顯示出是哪個(gè)貨幣對(duì)在報(bào)警了,這都是Symbol()函數(shù)的功勞,Symbol函數(shù)的作用是獲得當(dāng)前指標(biāo)所在圖表的貨幣對(duì)的名稱。與Alert函數(shù)類似的還有MessageBox函數(shù),有興趣的朋友可以自己查看幫助文檔。
現(xiàn)在設(shè)想一下,假如同樣是EURUSD貨幣對(duì),同時(shí)打開(kāi)了5分鐘圖、30分鐘圖、1小時(shí)圖,并在每張圖上都添加了Lesson5_Alert_1指標(biāo),那么,指標(biāo)報(bào)警時(shí)光有名稱還不足夠了,這時(shí)可把語(yǔ)句改寫如下:
此時(shí),當(dāng)賣出價(jià)到達(dá)指定價(jià)位后,彈出的報(bào)警窗口如下圖所示:
聯(lián)系客服