同花顺软件程序编写演示教学Word文档下载推荐.docx

上传人:b****4 文档编号:18061840 上传时间:2022-12-13 格式:DOCX 页数:19 大小:153.24KB
下载 相关 举报
同花顺软件程序编写演示教学Word文档下载推荐.docx_第1页
第1页 / 共19页
同花顺软件程序编写演示教学Word文档下载推荐.docx_第2页
第2页 / 共19页
同花顺软件程序编写演示教学Word文档下载推荐.docx_第3页
第3页 / 共19页
同花顺软件程序编写演示教学Word文档下载推荐.docx_第4页
第4页 / 共19页
同花顺软件程序编写演示教学Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

同花顺软件程序编写演示教学Word文档下载推荐.docx

《同花顺软件程序编写演示教学Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《同花顺软件程序编写演示教学Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

同花顺软件程序编写演示教学Word文档下载推荐.docx

=、<

=、=、AND(与)、OR(或),分别是对计算符两边的数值做大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或的逻辑运算,如果逻辑条件成立返回的计算结果为1,否则为0。

例如:

2>

1的逻辑运算结果等于1,1>

2的逻辑运算结果就等于0。

    语句得到的计算结果连成线就是所谓的指标线,不同的语句就得到不同的线,为了在指标图形中互相区分,不同的线有不同的颜色,而且语句还可以有自己的名称,在指标图形中显示在左上角位置。

语句名写在语句的前面,用一个冒号(“:

”)将它与语句隔开。

语句“上日收盘价:

REF(close,1)”就表示该语句REF(close,1)的名称为“上日收盘价”。

该语句后而的语句若需引用它,则写公式名即可,如MA(上日收盘价,20)意思是对上日收盘价求20日平均。

设计中间语句:

 

 一个语句将显示一条指标线,一个复杂的公式往往有很多语句,而且有些语句没必要显示出来。

这时我们可以把不需要显示语句定义为中间语句,中间语句的写法只需在一般语句的名称与语句之间的等号,即“=”即可(亦可用通用的冒号加等于号“:

=”)。

例如,语句“上日收盘价=REF(close,1)”就表示该语句为中间语句。

重复使用的语句也可以定义成中间语句。

   

 设计其他公式语句:

其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示(用"

"

表达),五彩K线公式显示的是K线颜色。

这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,当返回非0时表示需要进行相应的操作。

其他的语句都应设定为中间语句。

    条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSE>REF(close,1)语句,表示选出当期收盘价高于上日收盘价的股票。

其他的语句必须设定为中间语句,否则编辑器出现“只能有一个输出结果”的警示。

    交易系统公式需要逻辑表达式语句,分别为买入(在语句后加buy)、卖出条件(在语句后加sell),当这些语句返回非0时,表示需要进行相应的操作。

其他的语句必须设定为中间语句,否则编辑器出现“非交易信号变量只能用:

=赋值”的警示。

条件中必须至少设定一个条件。

函数可以用简写,如收盘价开盘价分别用C,O来表示,在编写中往往可以自动变成大写字母,可以以此判断。

函数名编写正确时字母变为大写。

编写中要用彩色编辑,这样可以指示出软件对于此函数是否认可--应变成彩色。

公式编写完测试公式通过后,还需进行曲线属性的设置,在“曲线属性”:

如显示曲线的位置是主图,副图,成交量图等,还可以设置是否显示曲线参数或只显示参数而不显示曲线,选择显示的图标,提供象箭头,圆,凌形(buy红色向上箭头,buy1黄色箭头,1空心三角形,2空心圆,4空心菱形,5星花...),曲线颜色等...最后再测试通过,确定退出编辑。

未来函数

公式系统对数据的运算是基于一系列函数,函数必须满足时间不变性,即时间靠后的数据不对时间靠前的结果产生影响(判断是否未来函数的依据)。

这个很重要!

对于未来函数可以理解为:

某一量依赖另一量,如量 

A和量B,B变化使A改变,那么A是B的函数,如果B是稍后的量,A是稍早的量,A跟着B变,A是B的未来函数。

未来函数是有时间周期的,在一个短的周期内可能是未来函数,但在稍长的周期内就不是未来函数,比如"

HIGH"

(最高价),在一天收市前都是不确定的.如在交易没有结束时我们可以看到某一个指标,如“卖出”跟着股价的高低一会出现,一会消失(这个现象很容易观察到)。

所以对于一个日周期的指标在分时周期具有“未来函数”特征。

但一旦收盘该指标是定值,不应随明日及以后的价而变,所以该指标在日周期中不是未来函数。

被人们普遍认为是未来函数的是比较长时间才被确认的ZIG函数,比如把参数设置为ZIG(3,5),就要等下一个ZIG(3,5)成立时才能被确认,就是说你把周期设置得越长,被确认的时间就越长(比如ZIG(3,30)),如果把它设置的很短(比如ZIG(3,1)),那就跟"

high"

差不多了.

有未来函数的公式对历史模拟的相当准确,对号称100%的.99%准确的公式要小心。

未来函数有:

zig

PEAK

PEAKBARS

TROUGH

TROUGHBARS

所以任何函数都具有未来函数特性,也没什么可怕。

第一不要依据公式入市,第二还是不要依据公式入市!

不要迷信公式。

公式只能给你一个信号,最终判断取舍要靠人。

关于未来函数的典型例子

有这么多人对一个叫鬼谷神算公式推崇,甚至将它说成'

极品‘。

我感到吃惊。

应该把此公式的本质性的东西反映出来才是;

该公式使用了未来函数,因而有“很高” 

的准确率,因为它是马后炮所以100%准。

这是需要大家十分注意的。

我不反对使用未来函数,但要充分认识其特有的“欺骗性”--已经出现的“结果"

因后面的数据的改变而改变。

在此,我要说的是本来是一个及其简单的公式,故意弄成很复杂,高深,写了那么多行毫无相干的东西。

是忽悠人的。

我给“简化”了一下,只剩下6行。

希望大家知道这样的公式人人可写。

这样的公式恐怕是别有用心之人忽悠卖钱的。

改成下面的公式,而且完全显示买卖两个信号。

其核心是Z字转向于其他没关系。

Z字转向即为未来函数

而ZIG函数的定义为 

,当前收盘价超过上次ZIG转向输出值的N%,则输出当前收盘价并ZIG转向。

对该公式为50/5=10,即当价格变化量超过10%时转向。

对于下面的公式:

第一行,ZIG函数,它输出的是就是价格,为了欺骗乘以100;

第二行,是第一行的2日平均;

第三行,第四行是第一行,第二行的金叉,死叉;

而买卖信号的出现就是在于金叉,死叉。

请大家试试看。

简化的公式:

B:

zIG(3,50/5)*100,colorwhite;

G:

MA(B,2),coloryellow;

D:

=CROSS(B,G)*1000,colorred;

W:

=CROSS(G,B)*1000,colorblue;

DRAWTEXT(W=1000,B*1.05,'

卖'

),colorgreen;

DRAWTEXT(D=1000,B*1.05,'

买'

),colorred;

原公式

公式名称:

鬼谷神算

VAR1:

=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),25);

VAR2:

=HIGH-REF(HIGH,1);

VAR3:

=REF(LOW,1)-LOW;

VAR4:

=SUM(IF(VAR2>

AND 

VAR2>

VAR3,VAR2,0),25);

VAR5:

=SUM(IF(VAR3>

VAR3>

VAR2,VAR3,0),25);

VAR6:

=VAR4*100/VAR1;

VAR7:

=VAR5*100/VAR1;

VAR8:

=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15);

VAR9:

=(VAR8+REF(VAR8,15))/2;

A:

=(VAR7>

VAR6 

VAR7>

25 

VAR6<

25);

ZIG(3,50/5)*100,COLORWHITE;

MA(B,2),COLORYELLOW;

=CROSS(B,G)*1000,COLORRED;

=CROSS(G,B)*1000,COLORBLUE;

E:

=REF(INDEXC,1);

F:

=SMA(MAX(INDEXC-E,0),3,1)/SMA(ABS(INDEXC-E),3,1);

VAR10:

=F 

F<

8;

VAR11:

=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;

VAR12:

=SMA(VAR11,3,1);

VAR13:

=SMA(VAR12,3,1);

VAR14:

=VAR13 

VAR13<

20;

MM:

=A 

VAR10 

VAR14 

;

),COLORGREEN;

),COLORRED;

此文章的编辑者为:

BCXYMMLL, 

2007-03-21 

16:

55 

]

语言规范:

在自定义公式里面的各种符号(如,“;

” 

)只能用半角不能用全角。

关键字 

if 

else 

while 

break 

continue 

return 

(无大小写之分)

常数 

浮点数、整数、字符串

分隔符 

“ 

‘ 

’ 

( 

) 

注释/* 

*/

标识符 

由字母和数字组成,由字母开头,不分大小写

运算符(优先级从高到低排列,同级同行)

/

-

!

<

And

Or

语句 

赋值 

条件 

IF 

(a==b) 

c=d;

循环 

a==b 

函数调用 

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;

表示收阳时用红色填充背景。

OPEN,'

MyBMP'

);

表示收阳时用软件安装目录登录用户名MyBMP.BMP填充背景。

画图标

在图形上绘制小图标。

DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE图标,TYPE是曲线标志的名称。

DRAWICON(CLOSE>

OPEN,LOW,"

buy"

)表示当收阳时在最低价位置画买入图标。

显示文字

在图形上显示文字。

DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT。

DRAWTEX

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1