【正文】
ray = 3。注:位邏輯運算符只作用于Integers類型其它運算符索引。對于 bool 操作數(shù),^ 計算操作數(shù)的邏輯“異或”;也就是說,當(dāng)且僅當(dāng)只有一個操作數(shù)為 true 時,其結(jié)果才為 true。為整型和 bool 類型預(yù)定義了 ^ 二進制操作數(shù)。對于 bool 操作數(shù),| 對操作數(shù)進行邏輯“或”計算,也就是說,當(dāng)且僅當(dāng)兩個操作數(shù)均為 false 時,其結(jié)果才為 false。二進制 | 運算符是為整型和 bool 類型預(yù)定義的。b = ((x amp。對于 bool 操作數(shù),amp。對于整型,amp。 運算符返回操作數(shù)的地址為整型和 bool 類型預(yù)定義了二進制 amp。x = x y。x = x y。b = ~n。n++。amp。)用來表示兩個表達式要同時成立才行。邏輯運算符和(amp。邏輯運算符或(||)用來表示兩個表達式只要有一個成立即可。a39。真假運算符否定運算符(!),用來表示真假的反面的結(jié)果。a是否小于等于b a = b。a是否小于b a b。a是否等于b a == b。得到邏輯非OR的值 y ^= x。= x。y向左位移x位 y = x。取y除以x后的余數(shù) y %= x。得到y(tǒng)的x倍的值 y *= x。將x的值加到y(tǒng)上面 y += x。 // 可行的表達式int b=(a++)*3。加減1的運算符不能被嵌套在表達式中int a=3。Adding 1 to the variable value i++。Division quotient i = j / 5。Changing the operation sign x = x。算術(shù)運算符Sum of values i = j + 2。注:分號(。 b = 10。 Expressions]表達式一個表達式可以擁有多個字符和操作符,一個表達式可以寫在幾行里面。[pilation date] 00:00:0039。39。[pilation date] 12:30:2739。12:30:2739。 00:00:0039。39。 12:00:0039。 1239。 12:30:2739。 12:30:2739。 00:0039。 // blue// named colorRedYellowBlack// integervalued representation0xFFFFFF // white16777215 // white0x008000 // green32768 // greenDatetime 類型時間類型使用年、月、日、時、分、秒來進行定義,你可以使用以下示例中的方式來定義變量。 // grayC39。 示例:// symbol constantsC39。double d = 16。double b = 。Floatingpoint number 類型浮點型變量在整數(shù)型后面加一個點(.)用來更精確的表示十進制數(shù)字。bool b = false。True和Flase可以忽略大小寫。 // symbol code 174。 // code 0xA9int d = 39。169。$39。A39。 \39。都是被看作為一個字符,一些字符例如單引號(39。Literal 類型任意在單引號中的字符或十六進制的任意ASCII碼例如39。使用0x或者0X作為開始。0不能作為第一個字母示例:12, 111, 956 1007十六進制: 數(shù)字09。string。使用以下方式可以進行類型站換:int (bool,color,datetime)。 Color (color) String (string) 224。229。232。 Boolean (bool) 數(shù)據(jù)類型存儲類型操作符其它bool extern break false color static case true datetime continue double default int else string for void if return switch while 數(shù)據(jù)類型 [Data types]數(shù)據(jù)類型概述主要數(shù)據(jù)類型有:此外首字母不可以是數(shù)字,標(biāo)識符不能和保留字沖突.示例:// NAME1 namel Total_5 Paper保留字下面列出的是固定的保留字。 單行注釋使用 // 作為開始到新的一行結(jié)束,可以被嵌套到多行注釋之中。MT4編程語言全接觸語法 [Syntax]代碼格式空格建、Tab鍵、換行鍵和換頁符都可以成為代碼排版的分隔符,你能使用各種符號來增加代碼的可讀性。注釋多行注釋使用 /* 作為開始到 */ 結(jié)束,在這之間不能夠嵌套。示例:// 單行注釋 /* 多行 注釋 // 嵌套的單行注釋 注釋結(jié)束 */標(biāo)識符標(biāo)識符用來給變量、函數(shù)和數(shù)據(jù)類型進行命名,長度不能超過31個字節(jié)你可以使用數(shù)字0拉丁字母大寫AZ和小寫az(大小寫有區(qū)分的)還有下劃線(_)。不能使用以下任何保留字進行命名。 Integer (int) 235。242。240。235。 (char) Floatingpoint number (double) Datetime (datetime) 我們用Integer類型數(shù)據(jù)來作為DateTime和Color數(shù)據(jù)的存儲。double。Integer 類型十進制: 數(shù)字09。拉丁字母af或AF用來表示1015。示例:0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7Integer 變量的取值范圍為2147483648到2147483647。\x1039。),雙引號(),問號(?),反斜杠(\)和一些控制符都需要在之前加一個反斜杠(\)進行轉(zhuǎn)意后表示出來:line feed NL (LF) \nhorizontal tab HT \tcarriage return CR \rreverse slash \ \\single quote 39。double quote \hexadecimal ASCIIcode hh \xhh以上字符如果不經(jīng)過反斜杠進行轉(zhuǎn)意將不能被使用示例:int a = 39。int b = 39。int c = 39。39。\xAE39。Boolean 類型Boolean 用來表示是和否, 還可以用數(shù)字 1 和 0 進行表示。示例:bool a = true。bool c = 1。示例:double a = 。double c = 。浮點型的取值范圍從 到 .String 類型字符串型是用來表示連續(xù)的ASCII碼字符的使用連續(xù)的兩個雙引號來包括需要表示的內(nèi)容如:Character constant.示例:This is a character stringCopyright symbol \t\xA9this line with LF symbol \nA 1234567890 0 $Color 類型顏色類型可以使用以下示例里的幾種方式進行定義。128,128,12839。0x00,0x00,0xFF39。示例:D39。 // New YearD39。D39。D39。 //equal to D39。D39。 //equal to D39。D39。 //equal to D39。D39。 //equal to D39。 運算符和表達式 [Operations amp。示例:a++。 x = (y*z)/w。)是表達式的結(jié)束符。Difference of values i = j 3。Product of values z = 3 * x。Division remainder minutes = time % 60。Subtracting 1 from the variable value k。a++。 // 不可行的表達式賦值運算符注:將右側(cè)的結(jié)果賦值給左側(cè)的變量將x的值賦值給y y = x。在y上面減去x的值 y = x。得到y(tǒng)除以x的值 y /= x。y向右位移x位 y = x。得到邏輯AND的值 y amp。得到邏輯OR的值 y |= x。注:一個表達式只能有一個賦值運算符.關(guān)系運算符用返回0(False)或1(True)來表示兩個量之間的關(guān)系。a是否不等于b a != b。a是否大于b a b。a是否大于等于b a = b。// 如果a不是真的if(!a)Print(not 39。)。示例:if(xl)Print(out of range)。amp。示例:if(p!=x amp。 py)Print(true)。位邏輯運算符~ 運算符對操作數(shù)執(zhí)行按位求補操作。 運算符對操作數(shù)執(zhí)行向右位移操作。 運算符對操作數(shù)執(zhí)行向左位移操作。一元 amp。 運算符。 計算操作數(shù)的按位“與”。 計算操作數(shù)的邏輯“與”;也就是說,當(dāng)且僅當(dāng)兩個操作數(shù)均為 true 時,其結(jié)果才為 true。 y) != 0)。對于整型,| 對操作數(shù)進行按位“或”運算。b = x | y。對于整型,^ 計算操作數(shù)的按位“異或”。b = x ^ y。定位在數(shù)組中i位置的值。//將3負值到array數(shù)組第i位置上使用 x1,x2,...,xn 這樣的方法將各種值傳送到function中進行運算。double TP=Ask+25*Point。優(yōu)先級規(guī)則下面是從上到下的運算優(yōu)先規(guī)則,優(yōu)先級高的將先被運算。 Bitwise AND operation From left to right^ Bitwise exclusive OR From left to right| Bitwise OR operation From left to rightamp。 Logical AND From left to right|| Logical OR From left to right= Assignment From right to left+= Assignment addition= Assignment subtraction*= Assignment multiplication/= Assignment division%= Assignment module= Assignment right shift= Assignment left shiftamp。(if, ifelse, switch, while and for)可以進行任意嵌套.復(fù)合操作符一個復(fù)合操作符有一個(一個區(qū)段)和由一個或多個任何類型的操作符組成的的附件{}. 每個表達式使用分號作為結(jié)束(。 y=2。}表達式操作符任何以分號(。Assignment operator.Identifier=expression。示例:x=3。 // 這是錯誤的一個操作符中只能有一個表達式。函數(shù)名稱(參數(shù)1,...,參數(shù)N)。空操作符只有一個分號組成(。 , 我們將其放在嵌套內(nèi)的指定位置,用來在指定情況下跳出循環(huán)操作.示例:// 從0開始搜索數(shù)組for(i=0。I++)if((array==0)break。我們將其放在嵌套內(nèi)的指定位置,用來在指定情況下跳過接下來的運算,直接跳入下一次的循環(huán)。int sum=0。i{if(a==0) continue。}return(sum)。將需要返回的結(jié)果放在return后面的()中。條件操作符 ifif (expression)operator。示例:if(a==x)temp*=3。條件操作符 ifelseif (expression)operator1elseoperator2如果表達式為真那么執(zhí)行operator1,如果為假執(zhí)行operator2,else后還可以跟進多個if執(zhí)行多項選擇。示例:if(x1)if(y==2)z=5。 if(xl){if(y==2) z=5。}// 多項選擇if(x==39。){y=1。b39。z=3。c39。}else{Print(ERROR)。 break。 break。 break。不管結(jié)果如何都將執(zhí)行default中的操作。示例:switch(x){case 39。:Print(CASE A\n)。case 39。:case 39。:Print(CASE B or C\n)。default:Print(NOT A, B or C\n)。}循環(huán)操作符 whilewhile (expression)operator。k++。 expression2。用表達式1(expression1)來定義初始變量,當(dāng)表達式2(expression2)為真的時候執(zhí)行操作operator,在每次循環(huán)結(jié)束后執(zhí)行表達式3(expression3)用while可以表示為這樣:expression1。expression3。示例:for(x=1。x++)Print(MathPower(x,2))。)可以造成一個死循環(huán)如同while(true)一樣.表達式1和表達式3都