| |||
|
|
| 现在位置:期货龙听网->首页->软件使用与下载->软件使用帮助与说明 |
|
----------------------------------------------------- 正文: 同花顺公式系统: 基本捷径是从软件公式或他人公式入手,多看多动手边理解其写法,为什么调用这个函数,这个函数的意义是什么,这一句预要表达什么意思等等。不动手永远不可能学会的。从简单公式入手,先弄懂一,两个公式。从修改公式加入自己的目标语句实现自己目标入手,几乎没有一个公式是那一个人自己完成的,或多或少都使用了前人的成果。 公式编写步骤 1.设定公式名称:每个公式都有自己的名称,它由字母或数字组成,最多可以有9个字符。请注意,公式名称在同类公式中不能重复,且不能为空。 2.描述公式:用于简单描述该公式的含义(可不填亦能通过), 3.注释公式:用于描述一个公式如何使用、计算方法等内容。输入后,在有关窗口按“用法注释”按钮可以查看公式注释(可省略)。 4. 设计技术指标公式语句: 公式的形式由若干语句组成。每个语句得到一个计算结果,对于技术指标,就是一条指标线,语句间用分号(“;”)隔开。 一个语句由若干函数通过四则运算或逻辑运算而组成。函数是公式系统的基本成分,它是对数据做某种操作,如CLOSE()函数表示调用该分析周期的收盘价。 计算符将函数连接成为语句。计算符分为算术计算符和逻辑计算符。算术计算符有+、-、*、/,分别是对计算符两边的数值进行加减乘除计算;逻辑计算符有>、<、<>、>=、<=、=、AND(与)、OR(或),分别是对计算符两边的数值做大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或的逻辑运算,如果逻辑条件成立返回的计算结果为1,否则为0。例如:2>1的逻辑运算结果等于1,1>2的逻辑运算结果就等于0。 语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。语句名写在语句的前面,用一个冒号(“:”)将它与语句隔开。语句“上日收盘价:REF(close,1)”就表示该语句REF(close,1)的名称为“上日收盘价”。该语句后而的语句若需引用它,则写公式名即可,如MA(上日收盘价,20)意思是对上日收盘价求20日平均。 设计中间语句: 函数可以用简写,如收盘价开盘价分别用C,O来表示,在编写中往往可以自动变成大写字母,可以以此判断。函数名编写正确时字母变为大写。编写中要用彩色编辑,这样可以指示出软件对于此函数是否认可--应变成彩色。 公式编写完测试公式通过后,还需进行曲线属性的设置,在“曲线属性”:如显示曲线的位置是主图,副图,成交量图等,还可以设置是否显示曲线参数或只显示参数而不显示曲线,选择显示的图标,提供象箭头,圆,凌形(buy红色向上箭头,buy1黄色箭头,1空心三角形,2空心圆,4空心菱形,5星花...),曲线颜色等...最后再测试通过,确定退出编辑。 关于未来函数的典型例子 有这么多人对一个叫鬼谷神算公式推崇,甚至将它说成'极品‘。我感到吃惊。应该把此公式的本质性的东西反映出来才是;该公式使用了未来函数,因而有“很高” 的准确率,因为它是马后炮所以100%准。这是需要大家十分注意的。 我不反对使用未来函数,但要充分认识其特有的“欺骗性”--已经出现的“结果"因后面的数据的改变而改变。 在此,我要说的是本来是一个及其简单的公式,故意弄成很复杂,高深,写了那么多行毫无相干的东西。是忽悠人的。我给“简化”了一下,只剩下6行。希望大家知道这样的公式人人可写。 这样的公式恐怕是别有用心之人忽悠卖钱的。 改成下面的公式,而且完全显示买卖两个信号。其核心是Z字转向于其他没关系。Z字转向即为未来函数 对于下面的公式: 简化的公式: 原公式
语言规范: 在自定义公式里面的各种符号(如,“;” )只能用半角不能用全角。 关键字 if else while break continue return (无大小写之分) 常数 浮点数、整数、字符串 分隔符 “ ” ‘ ’ ( ) ; { } 注释/* */ 标识符 由字母和数字组成,由字母开头,不分大小写 运算符(优先级从高到低排列,同级同行) * / + - != > < >= <= And Or 语句 赋值 a = b 条件 IF (a==b) c=d; 循环 while a==b c=d; 函数调用 func(a,b) 赋值语句: 其一般形式为: a=b; 含义为将b的值付给a。 几个运算符“=”赋值、 “:=” 赋值“:”赋值并输出数值或字符串“:>”赋值并输出图形。 注意:“=”和“:=”两个运算符的意义、用法完全相同。这样做主要是为了更好地兼容市场上目前的各种带有公式编辑功能的分析软件。 同花顺公式函数注释(常用部分) 逻辑函数: 1、条件函数:根据条件求不同的值。 用法:IF(X,A,B)若X不为0则返回A,否则返回B。 例如:(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值。 引用函数: 1、满足条件的周期数:统计满足条件的周期数。 用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数。 2、第一个条件成立到当前的周期数:统计第一个条件成立到当前的周期数。 用法:BARSSINCE(X):第一次X不为0到现在的天数。例如:BARSSINCE(HIGH>10)表示股价超过10元时到当前的周期数。 3、上一次条件成立到当前的周期数:上一次条件成立到当前的周期数。 用法:BARSLAST(X),上一次X不为0到现在的天数。例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1,1)表示上一个涨停板到当前的周期数。 4、有效周期数:求总的周期数。 用法:BARSCOUNT(X),第一个有效数据到当前的天数。 5、向前赋值:将当前位置到若干周期前的数据设为1。 用法:BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0。 6、求和:求总和。 用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。例如:SUM(VOL,5)周期设为日线时,表示最近5个交易日的成交量之和。SUM(VOL,0)表示从传数据过来第一天起的成交量总和,具体如在区间统计里统计“总手” SUM(VOL,0)即是指全区间的成交量之和。 7、移动平均:求移动平均。 用法:SMA(X,N,M),求X的N日移动平均,M为权重。算法: 若Y=SMA(X,N,M)则 Y=[M*X+(N-M)*Y']/N,其中Y'表示上一周期Y值,N必须大于M。例如:SMA(CLOSE,30,1)表示求30日移动平均价。 8、向前引用:引用若干周期前的数据。 用法:REF(X,A),引用A周期前的X值。例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收。 9、简单移动平均:求简单移动平均。 用法:MA(X,N),求X的N日移动平均值。算法:(X1+X2+X3+,,,+Xn)/N。例如:MA(CLOSE,10)表示求10日均价。 10、最低值:求最低值。 用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。例如:LLV(LOW,0)表示求历史最低价。 11、最高值:求最高值。 用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。 例如:HHV(HIGH,30)表示求30日最高价。 12、指数平滑移动平均:求指数平滑移动平均。 用法:EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。例如:EMA(CLOSE,30)表示求30日指数平滑均价。 13、动态移动平均:求动态移动平均。 用法:DMA(X,A),求X的动态移动平均。算法: 若Y=DMA(X,A)则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价。 14、最高值周期数:求上一高点到当前的周期数。 用法:HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计。例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数。 15、最低值周期数:求上一低点到当前的周期数。 用法:LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计。例如:LLVBARS(HIGH,10)求得10日最低点到当前的周期数。 16、加权移动平均:求加权移动平均。 用法:WMA(X,A),求X的加权移动平均。算法:若Y=WMA(X,A) 则Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1) X0表示本周期值,X1表示上一周期值...。例如:WMA(CLOSE,20)表示求20日加权均价。 17、求和:向前累加到指定值到现在的周期数。 用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数。例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数。 时间函数: 1、总开盘分钟:求当前代码类型的开市交易时间。 用法:TRADETIME。返回交易时间,单位为分钟。目前一般市场都返回242,与日期或具体的股票无关。 2、距开盘分钟:求当前时刻距开盘有多长时间。 用法:FROMOPEN。返回当前时刻距开盘有多长时间,单位为分钟。例如:当前时刻为早上十点,则返回31。 3、距午夜秒:求当前时刻距开盘有多长时间。 用法:FROMNIGHT。返回当前时刻距午夜有多长时间,单位为秒。例如:当前时刻为早上十点,则返回36000。 4、时间格式:转换时间格式。 用法:FORMATTIME(N)。目前只支持 N=1 把当前时间转换成距开盘分钟数返回。例如:分时中的量比曲线公式:(VOL*(TRADETIME+1)*5)/(FORMATTIME(1)*FIVEDAYVOL)。 5、时间差:计算两个时间之间的差。 用法:COUNTTIME(N,L,K)。N、L为时间,其格式为YYYYMMDD。K为1、2或者3。当K为1时返回第二个之间比第一个时间晚多少年。当K为2时返回第二个之间比第一个时间晚多少月。当K为3时返回第二个之间比第一个时间晚多少日。例如:COUNTTIME(20000808,19990606,2)其返回值为-2。注意:这里返回值有正负号。 算术函数: 1、绝对值:求绝对值。 用法:ABS(X)返回X的绝对值。例如:ABS(-34)返回34。 2、介于:介于两个数之间。 用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0 例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5))表示收盘价介于5日均线和10日均线之间。 3、最大值:求最大值。 用法:MAX(A,B)返回A和B中的较大值。例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0。 4、最小值:求最小值。 用法:MIN(A,B)返回A和B中的较小值。例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值。 5、求模运算:求模运算。 用法:MOD(A,B)返回A对B求模。例如:MOD(26,10)返回6。 6、求逻辑非:求逻辑非。 用法:NOT(X)返回非X,即当X=0时返回1,否则返回0。例如:NOT(5>3)返回0。 7、范围:介于某个范围之间。 用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0。例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盘价大于5日均线并且小于10日均线。 8、求相反数:求相反数。 用法:REVERSE(X)返回-X。 例如REVERSE(CLOSE)返回-CLOSE。 9、余弦值:求余弦值。 用法:COS(X)返回X的余弦值。 10、正弦值:求正弦值。 用法:SIN(X)返回X的正弦值。 11、平方根:开平方。 用法:SQRT(X)为X的平方根。例如:SQRT(CLOSE)收盘价的平方根。 12、上穿:两条线交叉。 用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0。例如:CROSS(MA(CLOSE,5),MA(CLOSE,10))表示5日均线与10日均线交金叉。 13、维持:两条线维持一定周期后交叉。 用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)表示5日均线维持5周期后与10日均线交金叉。 14、空:判断是否为空。 用法:ISNULL(A)表示如果A为空(即没有数据)则返回1,否则返回0。 15、幂:求幂。 用法:POW(X,Y)。求X的Y次幂。例如:POW(2,3)为8。 绘图函数 位图 含义:在图形上绘制位图。用法: DRAWBMP(COND,PRICE,BMPFILE),当COND条件满足时,在PRICE位置画BMPFILE文件名指定的BMP位图(缺省路径为软件安装目录登录用户名)。例如:DRAWBMP(CLOSE>OPEN,LOW,'SUN')表示当收阳时在最低价位置画软件安装目录登录用户名Sun.BMP位图。 ※BMPFILE参数指定的BMP文件默认路径为当前用户目录,如果不带后缀名即表示BMP文件,也可带后缀名使用JPG和GIF文件。也可不用用户目录而使用全路径,路径中的''要写两个以下字符串作为参数都是合法的,如果文件存在的话: "SUN","SUN.BMP","SUN.JPG","SUN.GIF","C:\hexin\SUN.JPG" 填充背景 含义:根据条件填充背景区域。用法: DRAWGBK(COND,COLOR),填充满足COND条件的背景区域。COLOR可以为渐变颜色STRIP,也可以为BMP图形文件名(缺省路径为"软件安装目录登录用户名"),若省略COLOR则使用指标线颜色填充(可以使用COLORRED等描述符设定)。例如:DRAWGBK(CLOSE>OPEN),COLORRED;表示收阳时用红色填充背景。 DRAWGBK(CLOSE>OPEN,'MyBMP');表示收阳时用软件安装目录登录用户名MyBMP.BMP填充背景。 画图标 含义:在图形上绘制小图标。用法: DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE图标,TYPE是曲线标志的名称。例如:DRAWICON(CLOSE>OPEN,LOW,"buy")表示当收阳时在最低价位置画买入图标。 显示文字 含义:在图形上显示文字。用法: DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT。例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样。 RGB颜色 含义:指定颜色。用法: RGB(R,G,B),表示用三原色红(R)绿(G)蓝(B)混合组成指定颜色,每种颜色值可以设定为0-255。例如RGB(255,0,0)表示红色,RGB(0,0,255)表示蓝色 画柱线 用法: STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距),EMPTH不为0则画空心柱。例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1)表示画K线中阳线的空心柱体部分。 提示文字 TIPTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置显示图标,若PRICE为0,则在图形底部显示图标。例如:TIPTEXT(CLOSE/OPEN>1.08,LOW,'大阳线,股价为:'+close)表示当日涨幅大于8%时在最低价位置显示图标,鼠标移近时显示文字'大阳线,股价为:15.88'字样。 ※显示为三角图标 画垂直线 含义:在图形上绘制垂直线。用法: VERTLINE(COND,TYPE),当COND条件满足时,沿垂直方向绘制TYPE类型的线段,TYPE=0表示实线,1表示虚线'---',2表示点线'...',3表示点划线'-.-.-',4表示点点划线'-..-..-'。例如:VERLINE(HIGH>=HHV(HIGH,20),1)表示在创20天新高画垂直虚线 画水平线 含义:在图形上绘制水平线。用法: HORLINE(COND,PRICE,TYPE,EXTEND),当COND条件满足时,在PRICE位置沿水平方向绘制TYPE类型的线段,TYPE=0表示实线,1表示虚线'---',2表示点线'...',3表示点划线'-.-.-',4表示点点划线'-..-..-'。EXTEND=1 表示向左延长,=2表示向右延长,=3表示左右 THE END 更新时间:2008-1-9 21:11:44 上一篇: 同花顺软件大盘指标使用说明 ,下一篇: 没有了 |
|
|