您现在的位置: 比特财富网 >> 财经 >  >> 外匯
外匯智能交易MQL4語言教程(四)
外_匯_邦 WaiHuiBang.com

4.2.3. IF-THEN條件語句

If-Then條件語句使得控制智能交易系統指令的執行順序得以可能。www.emoneybtc.com該語句可能有不同的方式編寫:
if Condition then Statement;or
if Condition then begin
Statement;
Statement;
...
end;其中,條件為一個邏輯表達式,取值為True 或 False;
"Statement" 指MetaQuotes II語言中的任何指令。符號括號Begin – End可能被波形括號{ }所替代。
條件語句可能被用在對程序進行分支。為達到此目的,另一個關鍵字Else要用上。語法:
if Condition then Statement1 else Statement2;or
if Condition then begin
Statement;
Statement;
...
end
else
Statement;
Statement;
...
end;or
if Condition then begin
Statement;
Statement;
...
end
else Statement2;or
if Condition then Statement1
else
Statement;
Statement;
...
end;可以使用嵌套式的條件語句。一般說來,語句可能由MetaQuotes II語言的任何合法指令表示,除非變量宣告,因為嚴格來說, 變量宣告並不是一個可執行語句。

4.2.4. WHILE循環

WHILE循環確保在循環條件有效時,包含在循環主體中的語句的多次執行。一個循環可以用Break 語句提前終止。迭代可以通過使用Continue語句停止。這個語句造成循環的下一個迭代開始,即Continue後面的語句直到循環主體結束在本迭代中不得執行。在條件語句中用Break 和 Continue是合理的。語法:
while Condition begin
Statement;
[break;][continue;]
...
end;其中,條件是循環執行條件-在每個循環迭代之前計算出的一個邏輯表達式,取值為True 或 False;

語句是MetaQuotes 4語言的任何指令。
符號括號Begin – End表示循環主體,可以被波形括號{ }替代。
“Break and Continue”描述也不是強制性的。

Example:
Counter = 1;
while Counter <= Bars begin
print( Close[ Counter - 1 ] );
Counter = Counter + 1;
end;這個例子說明一個將要執行的循環,基准次數,或者,如果基准=0,而且循環就不止一次。

4.2.5. For 循環

For循環確保在循環主體中所包含的具體次數的語句執行。語法: 
for NumberVariable = InitialValue to|downto LimitValue begin
Statement;
[break;][continue;]
...
end; 其中數字變量就是在每次迭代之後循環要麼增加或者減少到1的循環變量 (視使用關鍵字To 或 Down to而定);
初期值指循環變量的起初數值。
語句指MetaQuotes 4 語言的任何指令。
To or Downto 確定循環變量增加到1(To)或者減少到1(Downto);
限值是循環變量的邊際數值。
操作符brackets Begin – End表示循環主體,可以被波形括號{}取而代之。
 Break 和Continue語句並非是強制性的。
Example: 比如:
for Counter = 1 to 10 begin
if Counter > Bars then break;
print( Close[ Counter ] );
end; 這個例子說明一個可能被執行10次的環。但是,若基准值小於10, 循環就會提前終止,也就是說循環執行BARS次。

4.2.6. BREAK中斷語句

中斷語句確保一個For 循環或一個While循環早點終止。前例不僅說明循環執行,也說明了中斷語句的使用。“Break”語句不僅用於循環主體之外。循環是嵌套式的,中斷語句中離其最近的循環。換言之,中斷內部循環的語句並沒中斷外部循環。

4.2.7. CONTINUE繼續語句

CONTINUE繼續語句提前終止循環的迭代,並從循環主體開始下一個迭代。換句話說,在Continue之後語句被忽略。比如:
for Counter = 1 to 10 begin
...
if Counter > Bars then continue;
print( Close[ Counter ] );
...
end;這個例子說明一個將被執行了差不多10次的循環。但收盤值(counter)被打印不會比基准次數多。"..."代表MetaQuotes 4 語言的其他語句。

4.3.交易中斷的預選界定變量

為了最大的方便用戶,交易中斷的一些變量可以從智能系統輸入。

 AccountNumber-賬號(同義詞:AccNum)
 Ask –賣價(買方出價)
 Balance – 交易賬戶的余額值
 Bars – 圖表上條形的數目-說明用數據填充圖表程度的非常重要的一個變量。
 Bid -買入價(賣方要價)
 Close –收盤價格
 Credit –信用優先
 Equity –賬戶狀況,包括未實現利潤
 FreeMargin –交易賬戶的自由保證金值-也用來核查賬戶資金的可用性;
 High –期間最高價位
 Low -期間最低價位
 Margin –用來支撐開倉部位的資金(保證金)
 Open –開盤價
 Point – 當前金融工具單點上的價值(此點此時智能交易系統系統運行),比如, USD/JPY - 0.01,  USD/CHF - 0.0001 等。
 PriceAsk –在市場觀測窗口上顯示的當前賣價。
 PriceBid -在市場觀測窗口上顯示的當前買價。
 PriceHigh – 當前24小時期間的最高買價。
 PriceLow -當前24小時期間的最高賣價。
 PriceTime -在市場觀測窗口上顯示的當前時間。
 Time – 價格圖表上的條形時間的基准時間;
 TotalProfit – 所有開倉部位的總未實現利潤;
 TotalTrades –開倉部位的總數和交易中斷上的延遲訂單;
 Volume – 交易量(期間交易的數目)

應注意到,Close, Open, High, Low, Volume, Time為歷史數據數組(seriesarrays),在上個交易期間允許進入這些數據。

外_匯_邦 WaiHuiBang.com
  • 謹慎應對股市不確定性

    巴菲特曾言:“只有當潮水退下時,你才能看到誰在光著身子游泳?”因此美國次級債危機留下很多鮮活的案例值得我們思索,先看名聲顯赫的金融股案例。 

  • 突破與假突破(一)

    歡迎訪問 外 匯 邦 WWW.WaiHuiBang.com   突破和假突破 突破交易 什麼是突破,我該如何利

  • 現貨白銀投資有哪些黑幕?現貨白銀交易經驗分享

    現貨白銀黑幕內幕大公開的目的是什麼? 一:抨擊無良交易所,代理商,分析師。 二:給處於水深火熱的交易者一些啟迪,讓他們明白錢是怎麼虧的。

  • 有備用金卻沒借呗是什麼原因?

    最佳答案: 兩者是相互獨立的產品,並沒有必然的聯系。網上的廣告只是噱頭,但是有一點就是有備用金的用戶

  • 兩棲青年一般干什麼?

    最佳答案: "兩棲青年"主要是指年輕群體中有主業的兼職者和有主業的創業者。這類青

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