您现在的位置: 比特财富网 >> 财经 >  >> 外匯
MT4指標編程入門(八):循環
外_匯_邦 WaiHuiBang.com

  MT4指標編程入門:判斷語句的用法

MT4指標編程入門


  一幅K線圖有幾千上萬條K線,每根K線又各有開收盤價、最高低價等數值,而且還有很多移動平均線、MACD、RSI等指標值。www.emoneybtc.com

  面對海量數據,我們必須用循環來實現數據的取值和賦值。

  while循環

  while(條件)

  {

  語句1

  語句2

  。。。

  }

  規則:當小括號中的條件成立時,就執行大括號中的語句,執行完了再判斷條件是否成立,如果條件成立就繼續執行大括號中的語句。

  只要條件成立,程序就不停地運行大括號中的語句(循環體),直到小括號中的條件不再成立時結束循環。

  它與if語句的區別是:if語句是當條件為真時運行一次;而while語句則是只要條件為真,循環體語句就不停地運行,直到條件為假時結束循環。

  例:

  externint快線=12;

  externint慢線=26;

  doublebuffer[];

  inti=0;

  while(i<1000)

  {

  buffer=iMA(NULL,0,快線,0,MODE_EMA,PRICE_CLOSE,i)

  -iMA(NULL,0,慢線,0,MODE_EMA,PRICE_CLOSE,i);

  i++;

  }

  這裡,循環執行條件是i<1000,循環體中有兩個語句,一句是把兩條均線的差值賦給數組buffer,另一句“i++;”是每運行一次,i的值在原有基礎上增加1。這樣,隨著循環的不斷運行,i的值逐漸增加,循環1000次後,i的值也就從0變為1000,此時“i<1000”就不再成立,循環結束。這樣,數組buffer[]中也就有了1000個值。

  for循環

  for循環與while循環在原理上是一致的,只是書寫格式上有所區別

  把上面的例子改成for語句:

  externint快線=12;

  externint慢線=26;

  doublebuffer[];

  for(inti=0;i<1000;i++)

  {

  buffer=iMA(NULL,0,快線,0,MODE_EMA,PRICE_CLOSE,i)

  -iMA(NULL,0,慢線,0,MODE_EMA,PRICE_CLOSE,i);

  }

  與前面相比,我們注意到:

  “inti=0;”語句從“while(i<1000)”上方移到循環條件“i<1000”的前面;

  “i++;”語句從循環體中移到了循環條件“i<1000”的後面;

  循環執行順序與while循環一致:

  第一步、先執行小括號中的第1句:inti=0;

  (此語句用來定義初始變量,在循環中僅執行一次,可以為沒有任何表達式的空操作符“;”)

  第二步、再判斷小括號中的第2句是否成立:i<1000;

  如果不成立,則循環結束;如果成立,則循環繼續運行,執行第三步

  第三步、按順序執行大括號中的語句

  第四步、執行小括號中的第1句:i++(此語句即:每執行一次,i的值增加1)

  然後回到第二步繼續執行循環。

  再補充一點:如果循環體中(大括號中)只有一行語句,大括號可以省略
外_匯_邦 WaiHuiBang.com
  • 漲停板實戰法的六個等級

    前面對漲停的性質進行了分析,其中建倉型和洗盤型屬於股價上升趨勢中,至於出貨型大多屬於股價下降趨勢中,所以漲停的性質分析其實是對股價趨勢而言的

  • 盤口異動需甄別看盤技巧

    在個股分化現象越發明顯的市場背景下,捕捉到有強主力把持的個股往往能夠提高操作的成功率。而強主力控盤的個股時常會出現異動,這可能是機會,也可能

  • 你為什麼在堅持失敗?

    外_匯_邦 WaiHuiBang.com 有時候看到一些交易者持有一些虧損的單子長達數個月之久,我非常不解。就問他們,為什麼要持有這麼

  • 抖音小店可以換綁抖音號嗎?

    最佳答案: 抖音小店可以換綁抖音號,只要進入商家後台,在店鋪管理裡面的渠道管理,選擇想要修改或者刪除

  • 想在網上買菜,請問什麼網買菜便宜?

    最佳答案: 其實每個地方買菜的網站會有不同的,有些當地的網站買菜還是很方便的,所以這裡不知道具體地方

  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com