MT4指標(biāo)的循環(huán)計(jì)算概念說明 [MT4]
作者:
MT4 來源:
cxh99.com 發(fā)布時(shí)間:2012年05月08日 點(diǎn)擊數(shù):
【
收藏到本網(wǎng)的會員中心】
- 本文只適合指標(biāo)的程序理解,與EA無關(guān)
大家在制作自己的指標(biāo)文件時(shí)第一個遇到的問題應(yīng)該就是這個“循環(huán)”問題。之所以不清楚的原因在于沒有想明白MT的完整計(jì)算過程。下面我們說明一下。
1、最右側(cè)的K線(最新K線)的標(biāo)號是0,依次往左的標(biāo)號是1、2、3的順序。當(dāng)一個新K線生成后,則新K線的標(biāo)號變成0,而原來標(biāo)號為0的K線變成標(biāo)號1。
2、指標(biāo)加載后的計(jì)算過程需要詳細(xì)描述一下:
指標(biāo)加載后,會從最左側(cè)的K線開始從左往右順序計(jì)算,這是“基本框架”
然后因?yàn)槊總€K線上都需要計(jì)算一次,所以這個循環(huán)在第一次加載的時(shí)候是計(jì)算量最大的。
為了減少加載后到來價(jià)格時(shí)的計(jì)算減少,我們一般在程序的循環(huán)上做些技巧處理。因?yàn)镸T提供
了標(biāo)記最后一個沒有計(jì)算的K線標(biāo)號。所以我們都采用從最后一個“未計(jì)算K線”到標(biāo)號0的順序進(jìn)行循環(huán)。
這就是減少計(jì)算量的循環(huán)方法。下面列出常見的循環(huán)代碼框架:
int i;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for (i=limit-1;i>=0;i--)
{
........這里面就是循環(huán)計(jì)算的指標(biāo)主要部分。上面的循環(huán)控制就是從最后一個“未計(jì)算K線”到標(biāo)號0的順序
}