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