- 注册时间
- 2013-5-19
- 最后登录
- 2024-8-27
- 阅读权限
- 200
- 积分
- 10692386
- 精华
- 17
- 帖子
- 1326
|
交易系统包括统计分析,资金管理,风险管理,心理控制,这是个一有机的体系。 程序化交易是“代码生成”+“交易系统
MT4-MT4-MT4-MT4-学习自己编写学习自己编写学习自己编写学习自己编写EAEAEAEA总结篇总结篇总结篇总结篇1学好智能交易系统学好智能交易系统学好智能交易系统学好智能交易系统((((EAEAEAEA),),),),让你的梦想从这里起飞让你的梦想从这里起飞让你的梦想从这里起飞让你的梦想从这里起飞MT4外汇交易平台里给我们提供了一套非常完美的交易系统设计语言-MQL4,通过MQL4语言可以设计出我们想要的赚钱模式,一套完美的智能交易系统(EA),让我们躺在睡觉一样能赚钱的程序,iMT4论坛为我们提供了一个能实现我们梦想的MT4专业平台,让你的梦想从这里起飞。学习写EA第一讲:编程基础知识——语法Syntax]Syntax]Syntax]Syntax]代码格式代码格式代码格式代码格式空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性
注释注释注释注释多行注释使用/*作为开始到*/结束,在这之间不能够嵌套。单行注释使用//作为开始到新的一行结束,可以被嵌套到多行注释之中。示例://单行注释/*多行注释//嵌套的单行注释注释结束*/标识符标识符标识符标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节你可以使用数字0-9、拉丁字母大写A-Z和小写a-z(大小写有区分的)还有下划线(_)。此外首字母不可以是数字,标识符不能和保留字冲突.示例://NAME1namelTotal_5Paper保留字保留字保留字保留字下面列出的是固定的保留字。不能使用以下任何保留字进行命名。数据类型数据类型数据类型数据类型存储类型存储类型存储类型存储类型操作符操作符操作符操作符其它其它其它其它boolexternbreakfalsecolorstaticcasetruedatetimecontinuedoubledefaultintelsestringforvoidifreturnswitchwhile
MT4-MT4-MT4-MT4-学习自己编写学习自己编写学习自己编写学习自己编写EAEAEAEA总结篇总结篇总结篇总结篇2学习写EA第二讲:数据类型概述数据类型概述主要数据类型有:Integer(int)Boolean(bool)ëèòåeàëû(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'\'
MT4-MT4-MT4-MT4-学习自己编写学习自己编写学习自己编写学习自己编写EAEAEAEA总结篇总结篇总结篇总结篇3doublequote"\"hexadecimalASCII-codehh\xhh以上字符如果不经过反斜杠进行转意将不能被使用示例: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".示例:"Thisisacharacterstring""Copyrightsymbol\t\xA9""thislinewithLFsymbol\n""A""1234567890""0""$"Color类型颜色类型可以使用以下示例里的几种方式进行定义。示例://symbolconstantsC'128,128,128'//grayC'0x00,0x00,0xFF'//blue
//namedcolorRedYellowBlack//integer-valuedrepresentation0xFFFFFF//white16777215//white0x008000//green32768//greenDatetime类型时间类型使用年、月、日、时、分、秒来进行定义,你可以使用以下示例中的方式来定义变量。示例'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'学习写EA第三讲:赋值运算符赋值运算符赋值运算符注:将右侧的结果赋值给左侧的变量将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是否小于ba<b;a是否大于ba>b;a是否小于等于ba<=b;a是否大于等于ba>=b;
真假运算符否定运算符(!),用来表示真假的反面的结果。//如果a不是真的if(!a)Print("not'a'");逻辑运算符或(||)用来表示两个表达式只要有一个成立即可。示例:if(xl)Print("outofrange");逻辑运算符和(&&)用来表示两个表达式要同时成立才行。示例:if(p!=x&&p>y)Print("true");n++;位逻辑运算符~运算符对操作数执行按位求补操作。b=~n;>>运算符对操作数执行向右位移操作。x=x>>y;<<运算符对操作数执行向左位移操作。x=x<<y;一元&运算符返回操作数的地址为整型和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=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);优先级规则下面是从上到下的运算优先规则,优先级高的将先被运算。
()FunctioncallFromlefttoright[]Arrayelementselection!NegationFromlefttoright~Bitwisenegation-Signchangingoperation*MultiplicationFromlefttoright/Division%Moduledivision+AdditionFromlefttoright-Subtraction<<LeftshiftFromlefttoright>>Rightshift<LessthanFromlefttoright<=Lessthanorequals>Greaterthan>=Greaterthanorequals==EqualsFromlefttoright!=Notequal&BitwiseANDoperationFromlefttoright^BitwiseexclusiveORFromlefttoright|BitwiseORoperationFromlefttoright&&LogicalANDFromlefttoright||LogicalORFromlefttoright=AssignmentFromrighttoleft+=Assignmentaddition-=Assignmentsubtraction*=Assignmentmultiplication/=Assignmentdivision%=Assignmentmodule>>=Assignmentrightshift<<=Assignmentleftshift&=AssignmentbitwiseAND|=AssignmentbitwiseOR^=AssignmentexclusiveOR学习写EA第四讲:操
操作符为了可以自己亲手写EA----学习贴4操作符[Operators]格式和嵌套格式和嵌套格式和嵌套格式和嵌套格式.一个操作符可以占用一行或者多行,两个或多个操作符可以占用更多的行。嵌套.执行控制符(if,if-else,switch,whileandfor)可以进行任意嵌套.
|
|