OnCaculate的用法 [MT4]
作者:
MT4 來(lái)源:
cxh99.com 發(fā)布時(shí)間:2012年05月18日 點(diǎn)擊數(shù):
【
收藏到本網(wǎng)的會(huì)員中心】
- OnCaculate事件因Tick的到來(lái)而觸發(fā),他有兩種調(diào)用方式:
復(fù)制代碼- int OnCalculate(const int rates_total,//指標(biāo)數(shù)組的全部元素個(gè)數(shù)
- const int prev_calculated,//前一次計(jì)算完的指標(biāo)數(shù)組的個(gè)數(shù)
- const int begin,//指標(biāo)數(shù)組最早的其實(shí)元素序號(hào)
- const double &price[])//本指標(biāo)計(jì)算需要用到的K線的單個(gè)數(shù)組
這里比較難理解的是price數(shù)組。其實(shí)price數(shù)組是有指標(biāo)其實(shí)階段的一個(gè)參數(shù)#property indicator_applied_price進(jìn)行定義的。
一般定義方式是:
復(fù)制代碼- #property indicator_applied_price PRICE_OPEN
這里表示OnCaculate事件里使用的price數(shù)組是OPEN開(kāi)盤(pán)價(jià)隨對(duì)應(yīng)的數(shù)組。
如果不使用上面的語(yǔ)句進(jìn)行指定,則默認(rèn)price數(shù)組使用CLOSE收盤(pán)價(jià)對(duì)應(yīng)的數(shù)組。
總結(jié):可以看出上面這種OnCaculate事件的調(diào)用僅適合于使用K線單個(gè)數(shù)組的技術(shù)指標(biāo)的調(diào)用。
==============================
方式2:
復(fù)制代碼-
- int OnCalculate (const int rates_total, // размер входных таймсерий
- const int prev_calculated, // обработано баров на предыдущем вызове
- const datetime& time[], // Time
- const double& open[], // Open
- const double& high[], // High
- const double& low[], // Low
- const double& close[], // Close
- const long& tick_volume[], // Tick Volume
- const long& volume[], // Real Volume
- const int& spread[] // Spread
- );
這種方式相對(duì)于第一種調(diào)用的不通在于:引入了K線所有對(duì)應(yīng)的數(shù)值數(shù)組,可以全面使用K線對(duì)應(yīng)的各種數(shù)據(jù)。