一幅K線圖有幾千上萬條K線(Bar,根據設定的樣本數),每根K線Bar又各有開收盤價、收盤價、最高低價等數值,而且還有很多移動平均線、MACD、RSI等技術指標數值。www.emoneybtc.com
面對大量的數據,我們經常采用循環來實現數據的取值和賦值。下面我們簡單來介紹一下MT4中主要用到的循環語句。
一、while循環
while(判斷條件)
{
語句1;
語句2;
。。。;
}
規則:當小括號中的判斷條件成立時,就執行大括號中的語句,執行完畢後再判斷條件是否成立,如果條件成立就再繼續執行大括號中的語句。
只要條件成立,程序就不停地執行大括號中的語句(循環體),直到小括號中的條件不再成立時結束循環,while循環又叫做“當循環”,意思為當XX條件時執行循環。
它與if語句的區別是:if語句是當條件為真時只運行一次;而while語句則是只要條件為真,循環體語句就不斷地運行,直到條件為假時結束循環。所以為了避免造成死循環,循環體內應當對判斷的條件進行修改,如進行數值的累加等。
例:
extern int fast=12;
extern int slow=26;
double buffered[ ];
int i=0;
while(i<1000)
{
buffered= iMA(NULL,0,fast,0,MODE_EMA,PRICE_CLOSE,i)
-iMA(NULL,0slow,0,MODE_EMA,PRICE_CLOSE,i);
i++;
}
這裡,循環執行條件是i<1000,循環體中有兩條語句,一句是把兩條均線的差值賦給數組buffer,另一句“i++;”,我們知道“++”是自增運算符,那麼每運行一次,i的值在原有基礎上增加1。這樣,隨著循環的不斷地運行,i的值逐漸增加,循環到1000次後,i的值也就從0變為了1000,此時“i<1000”就不再成立,循環結束。這樣,數組buffered[ ]中也就存儲了1000個值。
二、for循環
for循環與while循環在原理上可以認為是一致的,只是書寫格式上有所區別,一般for循環多用在已知循環次數的循環上面,而while循環用在未知循環次數的循環上面(也即循環的次數可能根據運行的結果動態的改變)。
例如,把上面的例子改成for循環:
extern int fast=12;
extern int slow=26;
double buffered[ ];
for(int i=0; i<1000; i++)
{
buffered= iMA(NULL,0,fast,0,MODE_EMA,PRICE_CLOSE,i)
-iMA(NULL,0,slow,0,MODE_EMA,PRICE_CLOSE,i);
}
與前面對比比,我們注意到:
“int i=0;”語句從“while(i<1000)”循環體上方移到循環條件裡面、“i<1000”的前面;
“i++;”語句從循環體中移到了循環條件裡面、“i<1000”的後面。
循環執行順序與while循環是一致的:
第一步、先執行小括號中的第1句:int i=0;
(此語句用來定義初始循環變量,在循環中僅執行一次,可以為沒有任何表達式的空操作符“;”)
第二步、再判斷小括號中的第2句是否成立:i<1000;
如果成立,則循環繼續運行,執行第三步;如果不成立,則循環結束;
第三步、按順序執行大括號中循環體的語句;
第四步、執行小括號中的第1句:i++ (此語句即:每循環一次,i的值自增1)
然後回到第二步繼續執行循環。
再補充一點:同if語句一樣,如果循環體中(大括號中)只有一行語句,大括號可以省略,其他的操作符也是如此。
外_匯_邦 WaiHuiBang.com項目名稱:Vechain(VEN)項目定位:全球領先的區塊鏈商品和信息平台項目簡評:項目旨在解決商業社會中產品的信息和信任問題,利用區塊鏈
9月6日,2020年中國國際服務貿易交易會“數字貿易發展趨勢和前沿”高峰論壇——全球金融科技峰會區塊鏈專場在京舉行。多位領域內學者專家與企
牛肉供應鏈需要透明度,考慮到從生產商到消費者之間食品供應鏈的復雜性,區塊鏈技術依其透明性和可追蹤性從而在食品供應鏈上尋求了一個可觀的平衡
編者按:《連線》雜志發表了一系列文章來介紹最新的技術與網絡文化。本文是比特幣篇,作者為KLINT FINLEY。由36氪編譯。比特幣是一種
這段時間市場的套路幾乎不變,游資圍繞可轉債和注冊制次新股找機會,機構在大金融、白酒、新能源車產業鏈裡面轉,其它的主題和行業,要麼是一日游,
射擊之星與吊頸皆出現在市場階段性頂部區域,都為見頂下跌的轉向形態。雖在上升趨勢末端出現,形態上卻恰好相反,射擊之星類似於“⊥”,吊頸類似於“
外_匯_邦 WaiHuiBang.com 資本市場是一個創造奇跡的地方,
最佳答案: 比較快提升淘氣值的辦法就是多花錢。因為在淘寶購物的金額是可以換算成淘氣值的,同時購買的頻
最佳答案: 不知道你被提示預計超時是什麼時候,如果是在申購的時候被提示預計超時,那麼很有可能是當天的