操盘手十年课程mt4编程_第1页
操盘手十年课程mt4编程_第2页
操盘手十年课程mt4编程_第3页
操盘手十年课程mt4编程_第4页
操盘手十年课程mt4编程_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、语法 Syntax代码格式空格建、Tab 键、换行键和换页可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。注释多行注释使用 /* 作为开始到 */ 结束,在这之间不能够嵌套。单行注释使用 / 作为开始到新的一行结束,可以被嵌套到多行注释之中。示例:标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过 31 个字节你可以使用数字 0-9、拉丁字母大写 A-Z 和小写a-z(大小写有区分的)还有下划线(_)。此外首字母不可以是数字,标识符不能和保留字.示例:保留字下面列出的是固定的保留字。不能使用以下任何保留字进行命名。数据类型 Data types数据类型概述 主要数据类型

2、有:····Integer (int) Boolean (bool) ëèòåðàëû (char)String (string)数据类型类型操作符其它bool extern break false color static case true datetimecontinuedoubledefaultintelsestringforvoidifreturn switch while/ NAME1 namel Total_5 Paper/ 单行注释/* 多行注释 / 嵌套的单

3、行注释注释结束 */···Floating-point number (double) Color (color)Datetime (datetime)我们用Integer 类型数据来作为DateTime 和Color 数据的使用以下方式可以进行类型站换:。Integer 类型十进制: 数字 0-9;0 不能作为第一个字母示例:十六进制: 数字 0-9;拉丁字母 a-f 或A-F 用来表示 10-15;使用 0x 或者 0X 作为开始。示例:Integer 变量的取值范围为-2147483648 到 2147483647。Literal 类型任意在单引号中的字符或

4、十六进制的任意ASCII 码例如'x10'都是被看作为一个字符,一些字符例如单引号('),双引号("),问号(?),反斜杠()和一些需要在之前加一个反斜杠()进行转意后表示出来:以上字符如果不经过反斜杠进行转意将不能被使用示例:Boolean 类型Boolean 用来表示 是示例:和 否, 还可以用数字 1 和 0 进行表示。True 和Flase 可以忽略大小写。bool a = true; bool b = false; bool c = 1;int a = 'A'int b = '$'int c = '©

5、' / code 0xA9int d = 'xAE' / symbol code ®line feed NL (LF) n horizontal tab HT t carriage return CR r reverse slash single quote ' ' double quote " "hexadecimal ASCII-code hh xhh0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C712, 111, -956 1007int (bool,color,datetime);

6、double;string;Floating-point number 类型浮点型变量在整数型后面加一个点(.)用来更精确的表示十进制数字。示例:浮点型的取值范围从 2.2e-308 到 1.8e308.String 类型字符串型是用来表示连续的ASCII 码字符的使用连续的两个双引号来包括需要表示的内容如:"Character constant".示例:Color 类型颜色类型可以使用以下示例里的几种方式进行定义。示例:Datetime 类型时间类型使用年、月、日、时、分、秒来进行定义,你可以使用以下示例中的方式来定义变量。示例:Operations & Expr

7、essions运算符和表D'2004.01.01 00:00' / New Year D'1980.07.19 12:30:27'D'19.07.1980 12:30:27'D'19.07.1980 12' /equal to D'1980.07.19 12:00:00' D'01.01.2004' /equal to D'01.01.2004 00:00:00'D'12:30:27' /equal to D'compilation date 12:30:27

8、' D'' /equal to D'compilation date 00:00:00'/ symbol constants C'128,128,128' / gray C'0x00,0x00,0xFF' / blue/ named color RedYellow Black/ integer-valued representation 0xFFFFFF / white16777215 / white 0x008000 / green 32768 / green"This is a character strin

9、g" "Copyright symbol txA9" "this line with LF symbol n" "A" "1234567890" "0" "$"double a = 12.111; double b = -956.1007; double c = 0.0001; double d = 16;表一个表示例:可以拥有多个字符和操作符,一个表可以写在几行里面。注:分号(;)是表的结束符。算术运算符加减 1 的运算符不能被嵌套在表中赋值运算符注:将右侧的结果

10、赋值给左侧的变量注:一个表只能有一个赋值运算符.关系运算符用返回 0(False)或 1(True)来表示两个量之间的关系。a 是否等于b a = b; a 是否不等于b a != b; a 是否小于b a < b;a 是否大于b a > b;a 是否小于等于b a <= b; a 是否大于等于b a >= b;将x 的值赋值给y y = x;将x 的值加到y 上面 y += x; 在y 上面减去x 的值 y -= x; 得到y 的x 倍的值 y *= x; 得到y 除以x 的值 y /= x;取y 除以x 后的余数 y %= x; y 向右位移x 位 y >&g

11、t;= x;y 向左位移x 位 y <<= x; 得到逻辑AND 的值 y &= x; 得到逻辑OR 的值 y |= x;得到逻辑非OR 的值 y = x;int a=3;a+; / 可行的表int b=(a+)*3; / 不可行的表Sum of values i = j + 2; Difference of values i = j - 3;Changing the operation sign x = - x; Product of values z = 3 * x;Division quotient i = j / 5;Division remainder minut

12、es = time % 60; Adding 1 to the variable value i+; Subtracting 1 from the variable value k-;a+; b = 10; x = (y*z)/w;真假运算符运算符(!),用来表示真的结果。逻辑运算符或(|)用来表示两个表示例:只要有一个成立即可。逻辑运算符和(&&)用来表示两个表示例:要同时成立。位逻辑运算符 运算符对操作数执行按位求补操作。>> 运算符对操作数执行向右位移操作。<< 运算符对操作数执行向左位移操作。一元 & 运算符返回操作数的地址为整型和 bo

13、ol 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为 true 时,其结果才为 true。二进制 | 运算符是为整型和 bool 类型预定义的。对于整型,| 对操作数进行按位“或”运算。对于 bool 操作数,| 对操作数进行逻辑“或”计算,也就是说,当且仅当两个操作数均为 false 时,其结果才为 false。为整型和 bool 类型预定义了 二进制操作数。对于整型, 计算操作数的按位“异或”。对于 bool 操作数, 计算操作数的逻辑“异或”;也就是说,当且

14、仅当只有一个操作数为 true 时,其结果才为 true。注:位逻辑运算符只作用于Integers 类型其它运算符索引。在数组中i 位置的值。使用 x1,x2,.,xn 这样的方法将各种值传送到function 中进行运算。arrayi = 3;/将 3 负值到array 数组第i 位置上b = x y;b = x | y;b = (x & y) != 0);x = x << y;x = x >> y;b = n;if(p!=x && p>y) Print("true"); n+;if(xl)Print("ou

15、t of range");/ 如果a 不是真的if(!a) Print("not 'a'");示例:优先级规则下面是从上到下的运算优先规则,优先级高的将先被运算。操作符 Operators() Function call From left to right Array element selection! Negation From left to right Bitwise negation- Sign changing operation* Multiplication From left to right/ Division% Module

16、 division+ Addition From left to right- Subtraction<< Left shift From left to right>> Right shift< Less than From left to right<= Less than or equals> Greater than>= Greater than or equals= Equals From left to right!= Not equal& Bitwise AND operation From left to right Bi

17、twise exclusive OR From left to right| Bitwise OR operation From left to right && 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&

18、gt;>= Assignment right shift<<= Assignment left shift &= Assignment bitwise AND|= Assignment bitwise OR= Assignment exclusive OR, Comma From left to rightdouble SL=Ask-25*Point; double TP=Ask+25*Point;int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP, "My comment",123,0,Red);

19、格式和嵌套格式.一个操作符可以占用一行或者多行,两个或多个操作符可以占用嵌套.执行符(if, if-else, switch, while and for)可以进行任意嵌套.的行。复合操作符一个复合操作符有一个(一个区段)和由一个或多个任何类型的操作符组成的的附件. 每个表使用分号作为结束(;) 示例:表操作符任何以分号(;)结束的表Assignment operator.Identifier=expression;都被视为是一个操作符。标识符=表示例:;一个操作符中只能有一个表调用函数操作符。Function_name(argument1,., argumentN);函数名称(参数 1,.,

20、参数 N);示例:空操作符只有一个分号组成(;).我们用它来表示没有任何表的空操作符.停止操作符 一个break; ,示例:置,用来在指定情况下跳出循环操作.其放在嵌套内的指继续操作符一个continue;示例:置,用来在指定情况下跳过接下来的运算,直接跳入下一次的循环。其放在嵌套内的指/ summary of nonzero elements of array int func(int array)int array_size=ArraySize(array);/ 从 0 开始搜索数组for(i=0;i<ARRAY_SIZE;I+)if(arrayi=0) break;fclose(f

21、ile);x=3;y=x=3; / 这是错误的if(x=0)x=1; y=2; z=3;返回操作符一个return;将需要返回的结果放在 return 后面的()中。示例:条件操作符 ifif (expression) operator;如果表示例:为真那么执行操作。条件操作符 if-else if (expression) operator1else operator2如果表为真那么执行operator1,如果为假执行 operator2,else 后还可以跟进多个 if 执行多项选择。详见示例。示例:if(x>1) if(y=2) z=5;else z=6;if(x>l)if(

22、y=2) z=5;else z=6;/ 多项选择if(x='a')if(a=x) temp*=3;temp=MathAbs(temp);return(x+y);int sum=0; for(int i=0;iif(ai=0) continue; sum+=ai;return(sum);选择操作符 switchswitch (expression)case constant1: operators; break; case constant2: operators; break;.default: operators; break;当表expression 的值等于结果之一时,执

23、行其结果下的操作。不管结果如何都将执行default 中的操作。示例:被选择的结果只可以是示例:,不可为变量或表。循环操作符 whilewhile (expression) operator;switch(x)case 'A': Print("CASE An"); break;case 'B':case 'C':Print("CASE B or Cn"); break;default:Print("NOT A, B or Cn"); break;case 3+4: /正确的case X+

24、Y: /错误的y=1;else if(x='b') y=2; z=3;else if(x='c')y = 4;else Print("ERROR");只要表expression 为示例:执行操作operator循环操作符 forfor (expression1; expression2; expression3) operator;用表1(expression1)来定义初始变量,当表表3(expression3)用 while 可以表示为这样:expression1;while (expression2)operator; expressio

25、n3;示例:2(expression2)为真的时候执行操作 operator,在每次循环结束后执行使用for(;)可以造成一个死循环如同 while(true)一样.表1 和表示例:3 都可以内嵌多个用逗号(,)分割的表。函数 Function函数定义一个函数是由返回值、输入参数、内嵌操作所组成的。示例:如果没有返回值那么返回值的类型可以写为void示例:void errmesg(string s)Print("error: "+s);double / 返回值类型linfunc (double x, double a, double b) / 函数名和输入参数/ 内嵌的操作

26、return (a*x + b); / 返回值for(i=0,j=n-l;i<N;I+,J-) ai=aj;for(x=1;x<=7;x+) Print(MathPower(x,2);while(k<N)y=y*x; k+;函数调用function_name (x1,x2,.,xn)示例:特殊函数 init()、deinit()和start()init()在载入时调用,可以用此函数在开始自定义指标或者自动之前做初始化操作。deinit()在卸载时调用,可以用此函数在去处自定义指标或者自动之前做初始化操作。start()当数据变动时触发,对于自定义指标或者自动变量 Variab

27、les定义变量的编程主要依靠此函数进行。定义基本类型基本类型包括····string - 字符串型; int - 整数型;double - 双精度浮点数型;bool -型示例:定义附加类型附加类型包括··datetime - 时间型,使用无符号整型数字color - 颜色,使用三色的整型数字编码而成,是 1970.1.1 0:0:0 开始的秒数示例:定义数组类型示例:extern datetime tBegin_Data = D'2004.01.01 00:00' extern color cModify_Color

28、= C'0x44,0xB9,0xE6'string MessageBox; int Orders;double SymbolPrice; bool bLog;int somefunc()double a=linfunc(0.3, 10.5, 8);double linfunc(double x, double a, double b)return (a*x + b);内部变量定义内部变量顾名思义是在的,可以理解为在当前嵌套内所使用的变量。函数参数定义示例:函数的参数内的变量只能在函数内才生效,在函数外无法使用,而且在函数内对变量进行的修改在函数外无法生效。调用函数示例:如果有需

29、要在变量传入由参数传入函数内操作后保留修改在函数外生效的情况的话,可以在参数定义的类型名称后加上修饰符(&)。示例:静态变量定义在数据类型前加上static 就可以将变量定义成静态变量示例:全局变量定义全局变量是指在整个示例:都能够调用的变量,只需将变量定义卸载所有嵌套之外即可。附加变量定义附加变量可以示例:由用户输入。int Global_flag; int start().static int flagvoid func(int& x, double& y, double& z).func(123, 0.5);void func(int x, double

30、y, bool z).int a50; /一个一维由五十个int 组成的数组double m750; /一个两维由 7x50 个double 组成的数组初始化变量变量必须经过初始化才可以使用。基本类型示例:数组类型示例:外部函数示例:预处理程序 Preprocessor定义#define identifier_value可以是任何类型的,示例:在不可更改。编译参数定义#property identifier_value示例:#define ABC 100#define PI 0.314#define COMPANY_NAME "MetaQuotes Software Corp.&qu

31、ot;#import "user32.dll"int MessageBoxA(int hWnd ,string szText, string szCaption,inype);int SendMessageA(int hWnd,int Msg,int wParam,int lParam); #import "lib.ex4"double round(double value); #importint mta6 = 1,4,9,16,25,36;int mt = 1; / integer 初始化/ double 初始化double p = MarketIn

32、fo(Symbol(),MODE_POINT);/ string 初始化string s = "hello"extern double InputParameter1 = 1.0; int init().以下是所有的参数名称:参数名称类型说明linkstring设置一个到公司copyrightstring公司名称stacksizeint堆栈大小indicator_chart_windowvoid显示在走势图窗口indicator_separate_windowvoid显示在新区块显示缓存最高 8indicator_buffersintindicator_minimumint

33、图形区间最低点indicator_umint图形区间最高点第N 根线的颜色,最高 8 根线indicator_colorNcolorindicator_levelNdoublepredefined level N for separate window custom indicatorshow_confirmvoid当程序执行之前是否经过确认before scriptpropertyrunitspropertysheetappears;disablesshow_confirmshow_inputsvoid嵌入文件#include <file_name>示例:#include &qu

34、ot;file_name"示例:引入函数或其他模块#import "file_name" func1();func2(); #import示例:#import "user32.dll"int MessageBoxA(int hWnd,string lpText,string lpCaption, int uType);int MessageBoxExA(int hWnd,string lpText,string lpCaption, int uType,int wLanguageId);#import "melib.ex4"

35、#include "mylib.h"#include <win32.h>#property link ""#property copyright "MetaQuotes Software Corp." #property stacksize 1024账户信息 Account Informationdouble AccountBalance()返回账户余额示例:double AccountCredit()返回账户信用点数示例:string AccountCompany()返回账户公司名示例:string AccountCur

36、rency()返回账户所用的通货名称示例:double AccountEquity()返回资产净值示例:double AccountFreeMargin()Returns free margin value of the current account.示例:int AccountLeverage()返回杠杆比率示例:double AccountMargin()Print("Account #",AccountNumber(), " leverage is ", AccountLeverage();Print("Account free mar

37、gin = ",AccountFreeMargin();Print("Account equity = ",AccountEquity();Print("account currency is ", AccountCurrency();Print("Account company name ", AccountCompany();Print("Account number ", AccountCredit();Print("Account balance = ",AccountBala

38、nce();#import "gdi32.dll" int GetDC(int hWnd);int ReleaseDC(int hWnd,int hDC); #importReturns margin value of the current account.示例:string AccountName()返回账户名称示例:int AccountNumber()返回账户数字示例:double AccountProfit()返回账户利润示例:数组函数 Array Functionsint ArrayBsearch( double array, double value, int

39、 count=WHOLE_ARRAY, int start=0, int direction=MODE_ASCEND)搜索一个值在数组中的位置此函数不能用在字符型或连续数字的数组上.: 输入参数array - 需要搜索的数组value - 将要搜索的值count - 搜索的数量,默认搜索所有的数组start - 搜索的开始点,默认从头开始direction - 搜索的方向,MODE_ASCEND 顺序搜索 MODE_DESCEND 倒序搜索示例:datetime daytimes; int shift=10,dayshift;/ All the Time timeseries are sort

40、ed in descendant mode ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1); if(Timeshift&gt>=daytimes0) dayshift=0;elsedayshift=ArrayBsearch(daytimes,Timeshift,WHOLE_ARRAY,0,MODE_DESCEND); if(Period()<PERIOD_D1)dayshift+;Print(TimeToStr(Timeshift)," corresponds to ",dayshift,&q

41、uot; day bar opened at ", TimeToStr(daytimesdayshift);Print("Account profit ", AccountProfit();Print("account number ", AccountNumber();Print("Account name ", AccountName();Print("Account margin ", AccountMargin();int ArrayCopy( object& dest, object s

42、ource, int start_dest=0, count=WHOLE_ARRAY)一个数组到另外一个数组。intstart_source=0,int只有double, int, datetime, color, 和 bool 这些类型的数组可以被: 输入参数dest - 目标数组source - 源数组start_dest - 从目标数组的第几位开始写入,默认为 0start_source - 从源数组的第几位开始,默认为 0。count -多少位的数组示例:int ArrayCopyRates( double& dest_array, string symbol=NULL, in

43、t timeframe=0)一段走势图上的数据到一个二维数组,数组的第二维只有 6 个项目分别是:0 - 时间,1 - 开盘价,2 -,3 - 最高价,4 - 收盘价,5 - 成交量.: 输入参数dest_array - 目标数组symbol - 标示,当前所需要的通货的标示timeframe - 图表的时间线示例:int ArrayCopySeries( double& array, int series_index, string symbol=NULL, int timeframe=0)一个系列的走势图数据到数组上注: 如果series_index 是MODE_TIME, 那么第

44、一个参数必须是日期型的数组: 输入参数dest_array - 目标数组series_index - 想要取的系列的名称或编号,0-5 symbol - 标示,当前所需要的通货的标示timeframe - 图表的时间线示例:double array16; ArrayCopyRates(array1,"EURUSD", PERIOD_H1);Print("Current bar ",TimeToStr(array100),"Open", array101);double array16; double array2106;/ fill

45、array with some data ArrayCopyRates(array1); ArrayCopy(array2, array1,0,Bars-9,10);/ now array2 has first 10 bars in the historyint ArrayDimension( int array)返回数组的维数: 输入参数array - 需要检查的数组示例:bool ArrayGetAsSeries(object array)检查数组是否是有组织序列的数组(是否从最后到最开始排序过的),如果不是返回否: 输入参数array - 需要检查的数组示例:int ArrayIniti

46、alize( double& array, double value)对数组进行初始化,返回经过初始化的数组项的个数: 输入参数array - 需要初始化的数组value - 新的数组项的值示例:/把所有数组项的值设置为 2.1double myarray10; ArrayInitialize(myarray,2.1);if(ArrayGetAsSeries(array1)=true) Print("array1 is indexed as a series array"); elsePrint("array1 is indexed normally (f

47、rom left to right)");int num_array105; int dim_size;dim_size=ArrayDimension(num_array);/ dim_size is 2datetime daytimes; int shift=10,dayshift;/ All the Time timeseries are sorted in descendant mode ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1); if(Timeshift>=daytimes0) dayshift=0;e

48、lsedayshift=ArrayBsearch(daytimes,Timeshift,WHOLE_ARRAY,0,MODE_DESCEND); if(Period()Print(TimeToStr(Timeshift),"correspondsto",dayshift,"daybaropenedat", TimeToStr(daytimesdayshift);bool ArrayIsSeries( object array)检查数组是否连续的(time,open,close,high,low, or volume).: 输入参数array - 需要检查

49、的数组示例:int Arrayum( double array, int count=WHOLE_ARRAY, int start=0)找出数组中最大值的: 输入参数array - 需要检查的数组count - 搜索数组中项目的个数start - 搜索的开始点示例:int ArrayMinimum( double array, int count=WHOLE_ARRAY, int start=0)找出数组中最小值的: 输入参数array - 需要检查的数组count - 搜索数组中项目的个数start - 搜索的开始点示例:int ArrayRange( object array, int r

50、ange_index)取数组中指定维数中项目的数量。: 输入参数array - 需要检查的数组range_index - 指定的维数示例:int dim_size;double num_array15=4,1,6,3,9,4,1,6,3,9,4,1,6,3,9;double minValueidx=ArrayMinimum(num_array); Print("Min value = ", num_arrayminValueIdx);double num_array15=4,1,6,3,9,4,1,6,3,9,4,1,6,3,9;int maxValueIdx=Arrayu

51、m(num_array); Print("Max value = ", num_arraymaxValueIdx);if(ArrayIsSeries(array1)=false) ArrayInitialize(array1,0);elsePrint("Series array cannot be initialized!"); return(-1);int ArrayResize( object& array, int new_size)重定义数组大小: 输入参数array - 需要检查的数组new_size - 第一维中数组的新大小示例:bo

52、ol ArraySetAsSeries( double& array, bool set)设置指数数组为系列数组,数组 0 位的值是最后的值。返回之前的数组状态: 输入参数array - 需要处理的数组set - 是否是设置为系列数组,true 或者false示例:int ArraySize( object array)返回数组的项目数: 输入参数array - 需要处理的数组示例:int ArraySort( double& array, int count=WHOLE_ARRAY, int start=0, int sort_dir=MODE_ASCEND)对数组进行排序,

53、系列数组不可进行排序int count=ArraySize(array1); for(int i=0; i/ do some calculations.double macd_buffer300; double signal_buffer300;int i,limit=ArraySize(macd_buffer); ArraySetAsSeries(macd_buffer,true); for(i=0; imacd_bufferi=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_C LOSE,i);f

54、or(i=0; i signal_bufferi=iMAOnArray(macd_buffer,limit,9,0,MODE_SMA,i);double array14;int element_count=ArrayResize(array, 20);/ 数组中总项目数为 80double num_array10,10,10; dim_size=ArrayRange(num_array, 1);: 输入参数array - 需要处理的数组count - 对多少个数组项进行排序start - 排序的开始点sort_dir - 排序方式,MODE_ASCEND 顺序排列 MODE_DESCEND 倒

55、序排列示例:类型转换函数 Conversion Functionsstring CharToStr( int char_code)将字符型转换成字符串型结果返回: 输入参数char_code - 字符的ACSII 码示例:string DoubleToStr( double value, int digits)将双精度浮点型转换成字符串型结果返回: 输入参数value - 浮点型数字digits - 小数点后多少位,0-8示例:double NormalizeDouble( double value, int digits)将双精度浮点型格式化后结果返回: 输入参数value - 浮点型数字d

56、igits - 小数点后多少位,0-8示例:double StrToDouble( string value)double var1=0.123456789; Print(NormalizeDouble(var1,5);/ output: 0.12346string value=DoubleToStr(1.28473418, 5);/ value is 1.28473string str="WORL" + CharToStr(44); / 44 is code for 'D'/ resulting string will be WORLDdouble num

57、_array5=4,1,6,3,9;/ now array contains values 4,1,6,3,9 ArraySort(num_array);/ now array is sorted 1,3,4,6,9 ArraySort(num_array,MODE_DESCEND);/ now array is sorted 9,6,4,3,1将字符串型转换成双精度浮点型结果返回: 输入参数value - 数字的字符串示例:int StrToInteger( string value)将字符串型转换成整型结果返回: 输入参数value - 数字的字符串示例:datetime StrToTime(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论