您好,欢迎访问三七文档
趋势论坛ykhb制作语法[Syntax]数据类型[Datatypes]运算符和表达式[Operations&Expressions]操作符[Operators]函数[Function]变量[Variables]预处理程序[Preprocessor]账户信息[AccountInformation]数组函数[ArrayFunctions]类型转换函数[ConversionFunctions]公用函数[CommonFunctions]自定义指标函数[CustomIndicatorFunctions]日期时间函数[Date&TimeFunctions]文件处理函数[FileFunctions]全局变量函数[GlobalVariablesFunctions]数学运算函数[Math&Trig]物体函数[ObjectFunctions]预定义变量[Pre-definedVariables]字符串函数[StringFunctions]标准常量[StandardConstants]技术指标调用[TechnicalIndicatorcalls]交易函数[TradingFunctions]窗口函数[WindowFunctions]趋势论坛ykhb制作语法[Syntax]代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。注释多行注释使用/*作为开始到*/结束,在这之间不能够嵌套。单行注释使用//作为开始到新的一行结束,可以被嵌套到多行注释之中。示例://单行注释/*多行注释//嵌套的单行注释注释结束*/标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。此外首字母不可以是数字,标识符不能和保留字冲突.示例://NAME1namelTotal_5Paper保留字下面列出的是固定的保留字。不能使用以下任何保留字进行命名。数据类型存储类型操作符其它boolexternbreakfalsecolorstaticcasetruedatetimecontinuedoubledefaultintelsestringforvoidifreturnswitchwhile趋势论坛ykhb制作数据类型[Datatypes]数据类型概述主要数据类型有:Integer(int)Boolean(bool)ëèòåðàëû(char)String(string)Floating-pointnumber(double)Color(color)Datetime(datetime)我们用Integer类型数据来作为DateTime和Color数据的存储。使用以下方式可以进行类型站换:int(bool,color,datetime);double;string;Integer类型十进制:数字0-9;0不能作为第一个字母示例:12,111,-9561007十六进制:数字0-9;拉丁字母a-f或A-F用来表示10-15;使用0x或者0X作为开始。示例:0x0A,0x12,0X12,0x2f,0xA3,0Xa3,0X7C7Integer变量的取值范围为-2147483648到2147483647。Literal类型任意在单引号中的字符或十六进制的任意ASCII码例如'\x10'都是被看作为一个字符,一些字符例如单引号('),双引号(),问号(?),反斜杠(\)和一些控制符都需要在之前加一个反斜杠(\)进行转意后表示出来:linefeedNL(LF)\nhorizontaltabHT\tcarriagereturnCR\rreverseslash\\\singlequote'\'doublequote\hexadecimalASCII-codehh\xhh以上字符如果不经过反斜杠进行转意将不能被使用趋势论坛ykhb制作示例:inta='A';intb='$';intc='©';//code0xA9intd='\xAE';//symbolcode®Boolean类型Boolean用来表示是和否,还可以用数字1和0进行表示。True和Flase可以忽略大小写。示例:boola=true;boolb=false;boolc=1;Floating-pointnumber类型浮点型变量在整数型后面加一个点(.)用来更精确的表示十进制数字。示例:doublea=12.111;doubleb=-956.1007;doublec=0.0001;doubled=16;浮点型的取值范围从2.2e-308到1.8e308.String类型字符串型是用来表示连续的ASCII码字符的使用连续的两个双引号来包括需要表示的内容如:Characterconstant.示例:ThisisacharacterstringCopyrightsymbol\t\xA9thislinewithLFsymbol\nA12345678900$Color类型颜色类型可以使用以下示例里的几种方式进行定义。示例://symbolconstantsC'128,128,128'//grayC'0x00,0x00,0xFF'//blue//namedcolorRed趋势论坛ykhb制作类型时间类型使用年、月、日、时、分、秒来进行定义,你可以使用以下示例中的方式来定义变量。示例:D'2004.01.0100:00'//NewYearD'1980.07.1912:30:27'D'19.07.198012:30:27'D'19.07.198012'//equaltoD'1980.07.1912:00:00'D'01.01.2004'//equaltoD'01.01.200400:00:00'D'12:30:27'//equaltoD'[compilationdate]12:30:27'D''//equaltoD'[compilationdate]00:00:00'运算符和表达式[Operations&Expressions]表达式一个表达式可以拥有多个字符和操作符,一个表达式可以写在几行里面。示例:a++;b=10;x=(y*z)/w;注:分号(;)是表达式的结束符。算术运算符Sumofvaluesi=j+2;Differenceofvaluesi=j-3;Changingtheoperationsignx=-x;Productofvaluesz=3*x;Divisionquotienti=j/5;Divisionremainderminutes=time%60;Adding1tothevariablevaluei++;Subtracting1fromthevariablevaluek--;加减1的运算符不能被嵌套在表达式中inta=3;趋势论坛ykhb制作可行的表达式intb=(a++)*3;//不可行的表达式赋值运算符注:将右侧的结果赋值给左侧的变量将x的值赋值给yy=x;将x的值加到y上面y+=x;在y上面减去x的值y-=x;得到y的x倍的值y*=x;得到y除以x的值y/=x;取y除以x后的余数y%=x;y向右位移x位y=x;y向左位移x位y=x;得到逻辑AND的值y&=x;得到逻辑OR的值y|=x;得到逻辑非OR的值y^=x;注:一个表达式只能有一个赋值运算符.关系运算符用返回0(False)或1(True)来表示两个量之间的关系。a是否等于ba==b;a是否不等于ba!=b;a是否小于bab;a是否大于bab;a是否小于等于ba=b;a是否大于等于ba=b;真假运算符否定运算符(!),用来表示真假的反面的结果。//如果a不是真的if(!a)Print(not'a');逻辑运算符或(||)用来表示两个表达式只要有一个成立即可。示例:if(xl)Print(outofrange);逻辑运算符和(&&)用来表示两个表达式要同时成立才行。示例:趋势论坛ykhb制作(p!=x&&py)Print(true);n++;位逻辑运算符~运算符对操作数执行按位求补操作。b=~n;运算符对操作数执行向右位移操作。x=xy;运算符对操作数执行向左位移操作。x=xy;一元&运算符返回操作数的地址为整型和bool类型预定义了二进制&运算符。对于整型,&计算操作数的按位“与”。对于bool操作数,&计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为true时,其结果才为true。b=((x&y)!=0);二进制|运算符是为整型和bool类型预定义的。对于整型,|对操作数进行按位“或”运算。对于bool操作数,|对操作数进行逻辑“或”计算,也就是说,当且仅当两个操作数均为false时,其结果才为false。b=x|y;为整型和bool类型预定义了^二进制操作数。对于整型,^计算操作数的按位“异或”。对于bool操作数,^计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为true时,其结果才为true。b=x^y;注:位逻辑运算符只作用于Integers类型其它运算符索引。定位在数组中i位置的值。array[i]=3;//将3负值到array数组第i位置上使用x1,x2,...,xn这样的方法将各种值传送到function中进行运算。示例:doubleSL=Ask-25*Point;doubleTP=Ask+25*Point;intticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP,Mycomment,123,0,Red);趋势论坛ykhb制作优先级规则下面是从上到下的运算优先规则,优先级高的将先被运算。()FunctioncallFromlefttoright[]Arrayelementselection!NegationFromlefttoright~Bitwisenegation-Signchangingoperation*MultiplicationFromlefttoright/Division%Moduledivision+AdditionFromlefttoright-SubtractionLeftshiftFromlefttorightRightshiftLessthanFromlefttoright=LessthanorequalsGreaterthan=Greaterthanorequals==EqualsFromlefttoright!=Notequal&BitwiseANDoperationFromlefttoright^BitwiseexclusiveORFromlefttoright|BitwiseORoperationFromlefttoright&&LogicalANDFromlefttoright||LogicalORFromlefttoright=AssignmentFromrighttoleft+=Assignmentaddition-=Assignmentsubtraction*=Assignmentmultiplication/=Assignmentdivision%
本文标题:mt4编程手册
链接地址:https://www.777doc.com/doc-6073866 .html