1 / 39
文档名称:

同花顺编程语言.doc

格式:doc   大小:130KB   页数:39页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

同花顺编程语言.doc

上传人:allap 2016/10/18 文件大小:130 KB

下载得到文件列表

同花顺编程语言.doc

文档介绍

文档介绍:.同花顺编程语言有几个比较好的交流论坛:理想论坛坛水论坛范:在自定义公式里面的各种符号(如,“;”)只能用半角不能用全角。关键字ifelsewhilebreakcontinuereturn(无大小写之分)常数浮点数、整数、字符串分隔符“”‘'();{}注释/**/标识符由字母和数字组成,由字母开头,不分大小写运算符(优先级从高到低排列,同级同行)*/+-==!=><>=<=AndOr语句赋值a=b条件IF(a==b)c=d;循环whilea==bc=d;函数调用func(a,b)直接访问数据项的函数例如:OPEN[t]为t周期之前的开盘价所有行情数据项(CLOSE等)都与此相同。标识符:标识符在表达式中只存名称,值保留在符号表。标识符包括函数名、参数名和变量名。函数名用来传递函数返回值;参数名用于函数调用时的参数传递;变量名在计算中存储中间计算结果。分隔符:符号含义“”引用字符串‘'引用字符()控制运算的优先级;每行语句的结束标志{}将多个语句组合成一个语句体/**/注释,无任何实际功能赋值语句:其一般形式为:.a=b;含义为将b的值付给a。几个运算符“=”“:=”“:”“:>”。其含义分别为“赋值”、“赋值”、“赋值并输出数值或字符串”、“赋值并输出图形”。注意:“=”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。条件语句:其一般形式为:IF(逻辑表达式)语句1;ELSE语句2;上述结构表示:如果逻辑表达式的值为非0(TURE)即真,则执行语句1,执行完语句1从语句2后开始继续向下执行;如果表达式的值为0(FALSE)即假,则跳过语句1而执行语句2。注意:1、条件执行语句中"ELSE语句2;"部分是选择项,可以缺省,此时条件语句变成:IF(逻辑表达式)语句1;表示若逻辑表达式的值为非0则执行语句1,否则跳过语句1继续执行。2、如果语句1或语句2有多于一条语句要执行时,必须使用"{"和"}"把这些语句包括在其中,此时条件语句形式为:IF(逻辑表达式){语句体1;}ELSE{语句体2;}这里语句体指多个语句,每个语句都必须以“;”结尾。,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个IF对应哪个ELSE。例如:IF(x>20ORx<-10)IF(y<=100ANDy>x)A="Good";ELSEB="Bad";对于上述情况,规定:ELSE语句与最近的一个IF语句匹配,上例中的ELSE与IF(y<=100ANDy>x)相匹配。为了使ELSE与IF(x>20ORx<-10)相匹配,必须用花括号。如下所示:IF(x>20ORx<-10){IF(y<=100ANDy>x)A="Good";}ELSEB="Bad";-ELSE-IF结构。阶梯式结构的一般形式为:IF(逻辑表达式1)语句1;ELSEIF(逻辑表达式2)语句2;ELSEIF(逻辑表达式3)语句3;循环语句:while循环的一般形式为:while(条件)语句;.while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。注意:1、可以有多层循环嵌套。2、语句可以是语句体,此时必须用"{"和"}"括起来。break语句break语句通常用在循环语句中。当break语句用while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。注意:1、break语句对if-else的条件语句不起作用。2、在多层循环中,一个break语句只向外跳一层。continue语句continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在while循环体中,常与if条件语句一起使用,用来加速循环。函数调用:调用函数的基本方式为:函数名(参数,参数,…)其返回值为函数里面的return语句规定的返回值。若无return语句,则返回被调用函数里,以函数名命名的变量的值。若无以函数名命名的变量,则返回最后一个输出的值。若无输出的值,则返回最后一个被调用的语句的值。例如:调用KDJ指标。KDJ函数的名称为kdj,其参数和内容如下最小值最大值默认值N111009M12403M22403函数内容为:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1);J:3*K-2*D则当您在其它函数里输入a=KDJ(8,6,6)的时候,相当于计算N1=8,M1=6,M2=6时的J值,并把这个值赋给a。注意:1、当传递的参数数目不等于被调用函数设置的参数数