通达信公式编写教程_第1页
通达信公式编写教程_第2页
通达信公式编写教程_第3页
通达信公式编写教程_第4页
通达信公式编写教程_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、基本公式编写实例在前面的学习当中,我们见到了一些基本的表达方法、方式,今天我们的任务是学习一些常见的概念如何编写,例如上面所列出来的放量、上涨等等,因为这些都是在公式编写过程当中要用到的基本形态特征,许多的技术指标的选股条件都是由它们组成的。1.1放量1、今日比昨日的成交量放大了1倍:VOL/REF(VOL1)2;2、今日的五日均量比五天前的五日均量放大了3倍:AA=MA(VOL5);BB:=REF(AA,5);AA/BB4;3、今天的成交量达到了整个流通盘的10%以上:VOL/CAPITAL10/100;(注意,10%的表达式是10/100,或者0.1)1.2缩量1、今日比昨日的成交量缩小了

2、1倍:VOL/REF(VOL1)0.5;2、今日的五日均量比五天前的五日均量缩小了一半:AA=MA(VOL5);BB:=REF(AA,5);AA/BB1.07;2、十日均价继续上涨:AA=MA(CLOSE10);BB:=REE(AA,1);AABB;1.4下跌收阳、收阴:1、当天收阳:2、当天收阴:收阳、收阴:1、当天收阳:2、当天收阴:CLOSOPENCLOSE:OPEN1.5高开、低开1.5高开、低开1、当天股价高开,即开盘高于昨日收盘:OPEREF(CLOSE1);2、当天股价低开:OPE:REF(CLOSE1);1.6跳空跳空亦有向上和向下两种:当日开盘在昨日最高之上,即为向上跳空:O

3、PEREF(HIGH,1);反之,开盘小于昨日的最高价,为向下跳空:OPE:REF(LOW1);1.7放量上攻AA=VOL/REF(VOL1)2;成交量是昨日的两倍BB:=CLOSE/REF(CLOSE1)1.07;涨幅大于7%AAANDBB;1.8高开高走AA=OPEREF(CLOSE1);开盘价大于昨收BB:=CLOSOPEN当日收阳线AAANDBB;1.9创新高创新高指当日最高价是最近一段时间的最高价:HIGH=HHV(HIGH,N);其中的HIGH为当期最高价,HHV(X,N)是求N周期内X最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。1.10横盘整理横盘整理指

4、最近一段时期价格在一定幅度之内摆动:(HHV(CLOSE,10)-LLV(CLOSE,10)/CLOSEREF(HIGH,2);BB:=REF(LOVy1)REF(HIGH,2);CC=LOVREF(HIGH2);AAANDBBANDCC仔细一想,若BB成立,AA一定成立,AA实际上没有存在的必要。更简单的方法,下面的一句话可以的上面的四句:COUN(LOVREF(HIGH2),2)=2;2.25日,10日,30日均线多头排列定义:均线多头排列,是指从短周期到长周期均线,从上而下的依次排列定义:均线多头排列,是指从短周期到长周期均线,从上而下的依次排列AA=MA(CLOSE5);BB:=MA(

5、CLOSE10);CC=MA(CLOSE30);T1:=AABBANDBBCC以上情况维持一段时间,假设我们这里定为4天以上:COUN(T1,4)=4;COUN(X,N)表示统计在N天内满足条件X的有几天。最终的结果就是如下所示:AA=MA(CLOSE5);BB:=MA(CLOSE10);CC=MA(CLOSE30);T1:=AABBANDBBCCCOUN(T1,4)=4;2.3逃顶K线形态之-黄昏之星定义:当市场出现一条大阳线后,通常会产生跳空高开的情况,有时便会出现十字星或类似十字星的小阴线(小阳线),当该形态出现在一段上升行情的当中,就很容易形成经典K线形态-黄昏之星。为了结构简单起见,

6、首先将二天的高开低收用中间表达式表达出来,因为我们在后面的编写过程中会分别使用到这些数据。1、今日K线的:开-a1,a1:=open;收-a2,a2:=close;高-a3,a3:=high;2、昨天K线的:开-b1,bl:=ref(open,1);收-b2,b2:=ref(close,1)咼-b3,b3:=ref(high,1);低-b4,b4:=ref(low,1);3、前天K线的:开-c1,c1:=ref(open,2);收-c2,c2:=ref(close,2);咼-c3,c3:=ref(high,2);低-c4,c4:=ref(low,2);4、我们将会分别描述出三天的K线形态,然后

7、汇总,首先我们观察今日K线的特征,今天是一根低开低走的大阴线,我们给它一些数字上的定义:a、今日开盘价小于昨日收盘价:aa:=a1vb2andb、今日的阴线实体较长,我们用开盘价和收盘价相比,长度大于4%:a1/a21.04;5、昨日K线的特征,是一根十字形态的K线,并且在左右两根K线之上,分别表达为:a、昨日跳开,高于前天的收盘:bb:=b1c3b、昨日收盘同样在缺口之上:andb2c3c、线形实体长度很小,也就是昨日开盘和收盘之差比昨日开盘的值小于0.01:andabs(b1-b2)/b1v0.01d、K线有上下影线,可以表示为最高价和最低价不等于收盘价也不等于开盘价:andb3b1and

8、b3b2andb4vb1andb4vb2e、当日的最高价为20天以来的最高价:andb3=hhv(high,20);6、前日K线的特征:股价大幅上扬,幅度较前一日收盘高出4%并且收盘大于开盘:cc:=c2/ref(close,3)1.04andc2c1;综合选股条件:最后我们将三天的K线特征结合起来,合成一个最后的条件就是由图所示内容:aaandbbandcc最终结果就是(可以直接加进通达信公式编辑器):a1:=open;a2:=close;a3:=high;b1:=ref(open,1);b2:=ref(close,1);b3:=ref(high,1);b4:=ref(low,1);c1:=

9、ref(open,2);c2:=ref(close,2);c3:=ref(high,2);c4:=ref(low,2);aa:=a11.04;bb:=b1c3andb2c3andabs(b1-b2)/b1b1andb3b2andb4b1andb41.04andc2c1;aaandbbandcc;如果我们想把这个选股公式改为指标公式,修改最后一个语句就可以了。将aaandbbandcc;改为DRAWICON(AAANDBBANDCC),HIGH*1.02,2);这时在符合条件的K线上方出现了一个绿色的向下箭头,提示卖出。效果如下:指标源码请参考通达信中的相关选股公式。2.4突破底部横盘整理创新高

10、定义:股价突破长期盘整区间,之后放量上攻进入主升段。“长期”设定为150天;“横盘”设定股价在150日均线上下15%波动;放量;并且股价创下150天以来的历史新高。首先用公式描述放量a、将会使用5日均量来进行比较,成交量比昨日成交量放大两倍;b、V1是五日均量,REF(V1,1)就是昨日的均量;V1:=MA(VOL5);V2:=VOL/REF(V1,1)2;长期横盘a、PZ1是当天150日均价:PZ1:=MA(CLOSEM);b、PZ2是150日的最高价;PZ2:=HHV(HIGH,M);c、PZ3是150日的最低价;PZ3:=LLV(LOVyM);d、PZ4是150日的最高价和150日均价的

11、距离的百分比,PZ5刚好相反是最低价和均价的差的百分比;PZ4:=(PZ2-PZ1)/PZ1;PZ5:=(PZ1-PZ3)/PZ1;e、设为股价在150日均线上下15%波动,也就是PZ4、PZ5都小于0.15;PZ:=REF(PZ4,1)V0.15ANDREF(PZ5,1)v0.15;3、今天创下历史新高,也就是今天的最高价是150天内的最高价!TP1:HHV(HIGH,M);TP:=HIGH=TP1综合三个条件的最后的逻辑判断式就是我们的最后结论:V2ANDPZANDTP(参数M=150天)最终结果就是:(参数M=150天)V1:=MA(VOL5);V2:=VOL/REF(V1,1)2;PZ

12、1:=MA(CLOSEM);PZ2:=HHV(HIGH,M);PZ3:=LLV(LOWM;PZ4:=(PZ2-PZ1)/PZ1;PZ5:=(PZ1-PZ3)/PZ1;PZ:=REF(PZ4,1)V0.15ANDREF(PZ5,1)v0.15;TP1:HHV(HIGH,M);TP:=HIGH=TP1V2ANDPZANDTP;注意:如果源码加入到公式编辑器后显示错误,请多注意标点符号,需要将中文模式下的标点改成英文模式下的标点,例如:“:”改成“:”,“,”改成“,”以及括号等等。各种指标公式编辑器的详细区别公式管理器可管理四种类型的公式:指标公式:用于指标图形的绘制。条件选股公式:用于条件选股。

13、交易系统公式:用于专家指示及测参、测指。五彩K线公式:用于K线模式指示。这四种公式相互独立,名称可以相同,但其内容和作用不同。每种类型的公式包括四种形式:系统加密公式:用绿色图标和锁形符号显示,要进行密码确认系统公式:用绿色图标显示,可进行删改用户加密公式:用红色图标和锁形符号显示,要进行密码确认用户公式:用红色图标显示,可进行删改指标公式附加买卖逻辑判断式,得到交易系统公式;指标公式附加选股条件逻辑判断式,得到条件选股公式。指标公式附加色彩逻辑判断,得到五彩K线公式。3.1技术指标公式编辑器技术指标公式即通常所说画线指标,此类公式的主要目的是通过对数据采取一定的运算,将输出结果直观的显现在分

14、析图上,为投资者提供研判行情的基本依据。此类指标至少要有一条输出线,输出包括文字,图标等,本系统老版本允许最多6条的输出线,新版本可以输出50条输出线。技术指标公式编辑器实现对技术图表分析中各类技术指标和自我定义的技术分析指标的编写,并且通过TDX的分析界面形成图表、曲线,以方便和寻找有意义的技术图形和技术特征。3.2条件选股公式编辑器也就是通常意义上解释的智能选股。但我们的目的在于建立一个完全开放、自由的选股平台,可以通过对该平台的熟练使用,借助计算机的高速和准确的检索功能寻找满足您的理解的股票形态和技术特征,如果和预警系统结合起来用,将可以在盘中实时提示符合条件的股票。条件选股公式有且仅有

15、一个输出,这是它和技术指标不同的地方。3.3五彩K线公式编辑器准确讲,该编辑器的功能是附属于条件选股功能之上的,我们可以通过该功能将满足条件的连续K线形态赋予颜色,区别了其它的K线。条件选股公式与五彩K线公式的区别:条件选股公式和五彩K线公式都有且仅有一个输出,其目的都是为投资者提供买入或卖出点的指示,不同之处在于:条件选股公式仅对最近数据提示买入或卖出,而五彩K线公式则对输入的所有历史数据进行提示。另外,五彩K线公式的输出是在K线图上,通过各种颜色对提示数据进行标识,条件选股公式的输出是找出符合最近条件的所有股票。3.4交易系统公式编辑器交易系统公式是通过设定买入和卖出点(有且仅有这两个输出

16、),由计算机进行模拟操作。以此为依据,系统一方面可以进行五彩K线公式的功能,同时提示买入和卖出;另一方面可以通过模拟操作,对指标买卖的收益、指标的最佳参数及最佳指标等各情形进行测试。交易系统是在条件选股功能上的一次大的延伸,旨在建立一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等作出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。特殊公式脚本编写要编写一个公式,必须要明确这个公式对应的理论知识。一套完整的理论知识且能在通达信的公式平台上做成公式还要满足如下要求:从该理论应能分析出公式启动的起始数据。如股票的开高低收价格、成交

17、量、各财务数据、各即时数据、时间数据、一些常见的技术分析概念、其他理论的结果等,这些数据大部分是系统提供的,而最后两项则要从其他公式中得来也就是对应于公式编写中的指标引用操作(当然在这公式编写前要确保该要引用的指标已实现)。在公式平台中提供了一些系从理论中应能分析出起始数据到结果的明确运算过程。统函数,这些函数包含了部分常用的运算过程(如HHV(X,N)可求N周期内X最高值)。如果理论中的运算过程拆解完全后,能由公式平台中的函数及允许的基本运算全部组成就可以编写成公式了。在之前的学习当中,我们已经对公式系统、公式脚本编辑有了基本的认识。公式系统提供给我们的基本函数、系统公式,就是我们运用公式系

18、统编写自己的公式时的基本元素。对于一些常见的技术分析概念的编写在上一章节已经给出了介绍和示例,本章节主要来介绍一下在公式脚本编写如果用系统函数及基本运算来解决一些特殊难题。4.1在分钟周期下划分交易日均线(分钟):指标名称:均线(分钟)指标原理:均价=累加自当日开市到当前K线时间内的成交金额/累加自当日开市到当前K线时间内的成交量。编写分析:确定交易日内第一根K线的位置(难点);自1中确定的位置累加成交金额、成交量(由系统函数SUM实现);由成交金额、成交量求均价(由除法操作符实现)。公式脚本:FIRST:=IF(PERIOD=0,HOUR=9ANDMINUTE=31,IF(PERI0D=1,

19、H0UR=9ANDMINUTE=35,IF(PERIOD=2,HOUR=9ANDMINUTE=45,IF(PERIOD=3,HOUR=10ANDMINUTE=0,IF(PERIOD=4,HOUR=10ANDMINUTE=30,0);SUM(AM0,BARSLAST(FIRST)+1)/SUM(V0L,BARSLAST(FIRST)+1);上面的公式适用于1分钟,5分钟,15分钟,30分钟,60分钟等五个周期下。将给出每个交易日中各周期下均线的走势。公式脚本编写中的重点就是First变量的确定,这也是这段脚本的亮点。First变量表示的是当日当前周期的第一根K线位置,是通过IF函数的嵌套使用结合

20、各分钟周期的第一根K线的时间得来的。4.2跨周期引用数据在同一个公式脚本中,所有变量的数据周期都是相同的,就是调用公式时设置的周期。在公式脚本中要用其它周期的数据,共有两种方式:1)对变量用变周期符号(#),改变其周期。这种方式有局限性,只能在小周期公式中得到大周期数据,且仅适用于一些基本数据,如close,high,low,open等。示例脚本:日最高价:H;周最高价:H#WEEK;运行示例:2)剎悌功IUB脏JEt雪工MB押选惟鼻融稣篇傾賦】中川审匝II玮欢R|BislQ0RE3F*fliQSI3SE3|ZlBI卜自*|囤,空啊加um|)占$季t退世后上kfm工別訂肿1杲凸和刖贾血丄肺鼻册

21、1匕创业郢41.1J.WTt=?=ifil&B-Ltti在公式脚本中调用其它公式以取得其它周期的数据。调用其它公式,并用#设置其周期。比如,公式脚本在日线下运行时,可用Kdj.k#week;来获得kdj在周线下的k值,另属于于同一周线的日线将获得相同的K值。示例脚本:公式1:公式名称:JBSJ公式描述:基本数据公式脚本:JC:C;当前周期收盘价JH:H;当前周期最高价JL:L;当前周期最低价JO:O;当前周期开盘价JYC:REF(C,1);前一个周期收盘价公式2:公式名称:TEST049公式脚本:日线开盘价:JBSJ.JO#DAY;周线开盘价:0;月线开盘价:JBSJ.JO#MONTH;运行示

22、例:运行示例:LMUMEI!:犢3152ft*Mb9J3范上i.n*町4ITIL4L9WMl4i淺331QJtW住J*iltl1J|fill勺HIM;l吃枕T:链Q血丰虫屹W北1i-GOSIt0|l申需岌最、X(J2*TWT公式3:E:=CURRBARSCOUNT;E1:=DAY!=REF(DAY,1);E2:=BARSLAST(E1)+1;E3:=MA(C,E2);E4:=SUM(AMO,E2)/SUM(VOL,E2)/100;E5:=IF(CAPITAL0,E4,E3);昨开:IF(E8OR(MONTH=8ANDDAY=3)AND(MONTH12OR(MONTH=12ANDDAY1.095

23、;是否涨停COUNT(TT,20)0;二十个交易日内时候涨停过上面的脚本配合1.3中示例可以写出历史某绝对时间段,或相对时间内是否涨停过的选股公式。上图中的效果还可以借助Filter这个函数来实现。4.5K线绘制示例公式:博弈K线公式名称:博弈K线公式脚本:BKO:WINNER(O),NODRAW;BKH:WINNER(H),NODRAW;BKL:WINNER(L),NODRAW;BKC:WINNER(C),NODRAW;DRAWKLINE(BKH,BKO,BKL,BKC);运行示例:11*?I卜*鼻itmBkSUim匕fhHsfcNLI齐叶茹矽當$+13tWnEit卜番i贋甲瞅ftTHI生和

24、!贾-.TH中27n*mopiiszt3-jmu.eSi展ukip*odea33IJIH*J.4.6创新高周期数成交量创新高周期数脚本:FV:=IF(BARSCOUNT(C)=0,9999999999,VOL);量创新高周期数:SUMBARS(REF(FV,1)-FV,0);这里的关键是REF(FV,1)-FV,想想看写成FV-REF(FV,1)行不行?;4.7脚本控制在通达信的公式脚本中没有专门的控制语句,一切都是变量(仅有输出与不输出的区别),所以要实现应用于多种情况的脚本也要依靠变量来控制。系统函数中有几个重要的函数就是IF,IFF,IFN,TESTSKIP.请大家注意的是通达信的函数的

25、参数都是先计算出结果然后将参数传给函数的。因此对于TESTSKIP,最好作为一条单独的语句来使用。公式脚本1:同1.2中的JBSJ公式。用于引用股票的基本数据。公式脚本2:FZMN分钟模拟用于通过几种分钟周期的数据模拟出当天对应于改周期的各项数据N:=IF(PERIOD=0,1,IF(PERI0D=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,0);CTRL:=TESTSKIP(N=O);仅用于分钟周期TTIME1:=(TIME/100);TTIME2:=IF(TTIME11000,TTIME1-930,IF(TTIME11100,TTIME

26、1-1000+30,IF(TTIME11131,TTIME1-1100+90,IF(TTIME11300,120,IF(TTIME11400,TTIME1-1300+120,IF(TTIME11500,TTIME1-1400+180,240);TTIME:=TTIME2/N;YTC:=JBSJ.JYC#DAY;YTDPC:=399300$CLOSE#DAY;ZFS:=(C*1000/YTC)-1000;AC:=399300$CLOSE;ZFA:=(AC*1000/YTDPC)-1000;DJC:(ZFS-ZFA)*YTC/1000+YTC;DJH:IF(TTIME2,DJC,HHV(DJC,T

27、TIME-1);DJL:IF(TTIME1.08,0.5,0.5,0大阳线)表示最后一个交易日涨幅大于8%时在窗口中间位置显示大阳线字样。DRAWNUMBER_FIX固定位置显示数字用法:DRAWNUMBER_FIX(COND,X,Y,TYPE,NUMBE当),COND条件满足时,在当前指标窗口内(X,Y)位置书写数字NUMBE,X,Y为书写点在窗口中相对于左上角的百分比,TYPE:0为左对齐,1为右对齐。例如:DRAWNUMBER_FIX(CURRBARSCOLANTDCLOSE/OPEN1.O8,O.5,O.5,O,C)表示最后一个交易日涨幅大于8%寸在窗口中间位置显示收盘价。现在我们举例

28、说明这两个函数的用法:示例公式:DRAWFIX公式名称:DRAWFIX公式脚本:DRAWTEXT_FIX(ISLASTBAR,O.5,O,O,HYBLOCK),COLORYELLOW;DRAWTEXT_FIX(ISLASTBAR,0,0,0,股本结构:),COLORRED;DRAWTEXT_FIX(ISLASTBAR,0,0.1,0,总股本:),COLORRED;DRAWNUMBER_FIX(ISLASTBAR,O,O.2,O,FINANCE(1),COLORMAGENTA;DRAWTEXT_FIX(ISLASTBAR,0.3,0.1,0,流通A股:),COLORGREEN;DRAWNUMBE

29、R_FIX(ISLASTBAR,O.3,O.2,O,FINANCE(7),COLORYELLOW;DRAWTEXT_FIX(ISLASTBAR,0.5,0.1,0,今日换手率:),COLORGREEN;DRAWNUMBER_FIX(ISLASTBAR,O.5,O.2,O,V*1OO/CAPITAL),COLORYELLOW;效果图:DEA阿理XUI1.407r20r.oo8.80G.06.40&206,00s.eo5.EQ日辔注:当窗口大小改变时,DRAWFI)各输出文字或数字的相对位置不变;通过方向键等方式改变分析图中K线个数时,DRAWFD窗口内的文字或数字位置不随之改变;4.10字符串函

30、数新加入公式管理器的字符串函数有:HYBLOC、DYBLOC、INBLOCKNAMELIKECODELIKECON2STRSTR2CONSTRCATSTRCMPFINSTR;在公式管理器的插入函数列表中有它们的介绍。注:字符串中含百分号时,2个百分号代表一个。如%显示时为一个%示例公式:DRAWFIX2公式名称:DRAWFIX2公式脚本:ST股:=NAMELIKE(S)ORNAMELIKE(*);BE显示:=INBLOCK(上证A股)ANDNOT(ST股)ANDCODELIKE(600);DRAWTEXT_FIX(NOT(B显示),0,0,0,本公式不适用该品种!适用品种:上证A股且不是ST股

31、且品种代码以600开头!),COLORYELLOW;DRAWTEXT_FIX(B显示,0,0,0,STRCAT(品种行业:,HYBLOCK),COLORYELLOW;DRAWTEXT_FIX(B显示,0.5,0,0,STRCAT(品种地域:,DYBLOCK),COLORYELLOW;DRAWTEXT_FIX(B显示,0,0.1,0,股本结构:),COLORRED;DRAWTEXT_FIX(BE显示,0,0.2,0,STRCAT(总股本:,STRCAT(CON2STR(FINANCE(1)/1OOOO,O),万股),COLORRED;DRAWTEXT_FIX(BE显示,0.3,0.2,0,STR

32、CAT(流通A股:,STRCAT(CON2STR(FINANCE(7)/1OOOO,1),万股),COLORGREEN;DRAWTEXT_FIX(BE显示,0.5,0.2,0,STRCAT(今日换手率:,STRCAT(CON2STR(V*1OO/CAPITAL,2),%),COLORGREEN;公式演示截图:600600青岛啤酒晶却社耐1.*.3000001深发展A申玄武环斑用谨曷神i竝qSM#上血腿1不定訂肢1M代卸姻砒丹扫公式系统答疑1指标公式tip,不显示线或者不在左上方显示输出变量和值等信息。A:C,NODRAW可以在左上方显示变量和输出值,但是不画线。N0TEXT1:MA(CL0SE

33、,M1);NOTEXT2:MA(CLOSE,M2);NOTEXT3:MA(CLOSE,M3);NOTEXT4:MA(CLOSE,M4);nodraw和drawnull的区别第一个是不画线显示数值第二个是不画线也不显示数值(值为无效值-)AA:WINNER(C),NODRAW;AA:WINNER(C),DRAWNULL;这些前缀的输出就可以不显示输出的变量和输出变量的值等信息了。公式脚本:排名:=INSORT(深沪A股,PSY,2,0);PSYMA:排名=10;用条件选股加入后选股,结果什么也选不出来?深沪A股版块名称中的字母要是英文输入法下的全角字符。引用系统里含大写字母的板块(如B股AH对照

34、),都按这个规则来写,不过不要引用含个股太多的股票最好不要超过100的板块,不然用这个INSORT函数,电脑几乎动不了,很卡很慢。4横向统计函数在个股上执行时,结果会各不相同?原因是其他股票的K线要以当前个股的时间序列为模板进行过滤。5公式输出变量有值,为什么没有滑出线?通达信的画线对于单个周期有值,前后两个周期都是无效值的情况是不画线的,只是画了一个点。所以一般要用BACKSE向前赋值函数来解决这个问题。6为什么分析图上指标的值随着分析图缩放而变化?指标中应该用到了ematma,expma等函数,它们的计算结果本就是会随着参与计算的k线个数变化而变化的,这是它们的算法决定的。ema的算法公式

35、是:Y=(2*c+(n-1)Y)/(n+1);其他两个的算法也和这个很相似可以看出ema(c,n)函数计算的结果和历史每一天的c值都有关系。如果你希望看到的结果不变,可以设置分析图完全使用下载的日线数据。7我在编写指标时,用到了大盘收盘价INDEXC但实际执行指标后,发现得不到完整的大盘历史数据。请问如何解决?INDEXC这样的大盘数据的历史数据部分是从下载到本地的历史数据中取得的。要下载完整历史日线。另外,跨周期引用,引用其他股票k线,或者计算其他股票的指标时所使用的历史数据部分都会从本地下载数据中取。8电脑安装上XP3,打开公式,中文汉字是乱码。拷贝到TXT后没有乱码,在.txt文件中拷过

36、去是乱码,XP2不会有此现象。请问如何解决?这是一个在Windows2000和WindowsXP系统中很常见的现象,属于设置问题。解决这个问题的方法是:在复制文字前用“Ctrl+Shift”组合键调出中文输入法,以后再执行“复制”/“粘贴”操作就不会出现乱码问题了。不使用系统自带的“文本编辑器”,安装EmEditor或UltraEdit文本编辑器,在里面选择“按ANSI方式粘贴”功能即可。还有一种解决方法是在系统中是把默认文字输入法设为中文状态下的英文输入法。用鼠标在系统桌面上依次选择“开始一设置一控制面板一文字服务”,里面通常会有英语和简体中文两种语言,英语下面有“英语(美国)”一类的项目,

37、中文下面则有“简体中文输入法(美国)”、“微软拼音输入法”一类的项目。实际上,这个“简体中文输入法(美国)”就是在中文状态下输入英文的。但是它与上面的英语下面的“英语(美国)”又不同,后者是在英文状态下输入英文。只要你把要这个“简体中文输入法(美国)”设为默认输入法(以后右下角输入法上面总是显示“Ch”,而不是“En”),就不会出现粘贴乱码的情况了。如果你的电脑中找不到这一项,说明你没有安装,要么通过系统盘安装,要么使用上面方法。9通达信软件的自定义指标由于某些原因突然消失后如何恢复?(重装系统或者是升级之后的也适用)关闭通达信软件进入通达信软件安装的文件夹,找到T0002文件夹进入进入gs_

38、bak文件夹,此文件夹内为公式备份4将日期为最近的以下三个文件改名即可。文件为:20100310_PriGS.dat-PriGS.dat,20100310_PriCS.dat-PriCS.dat,20100310_PriText.dat-PriText.dat其中20100310为日期数,如10号的备份文件名就是30100310_PriGS.dat,改名的规则就是20100310_PriGS.dat-PriGS.dat然后将改名后的三个文件复制到T0002目录内覆盖即可。重启通达信软件。10选股不全问题选股不全,原因很可能是历史数据缺失的问题。(给客户验证是数据问题的步骤)如果客户说那个股票副

39、图信号为1,但是该条件的选股公式没有选出哪只股票,那么就把这只股票的数据重新下载尽可能长的时间的数据,然后缩小选股范围(方便一眼看出选出来的股票包括刚刚下载了数据的那个股票),如果选出来此股,说明就是数据缺失问题。例说如选股公式:DIF:=EMA(C,24)-EMA(C,48);DEA:=EMA(DIF,12);MACD:=2*(DIF-DEA);BU:MACD0;选股日期:2011年10月12日选出来的股票中,不含有“ST兰光ST鲁北ST三联ST万鸿象屿股份新华联浙报传媒”这几天股票,而根据技术指标来看,很明显这几只票也是符合选股条件的。这几个票的共同之处就是分别于今年的8/26、8/18、

40、7/25、9/8、8/29、7/8、9/29有过涨跌幅不受限制。试过好几个版本,包括最新的测试版,问题都是相同的。怎么回事儿?验证是因为历史数据缺失造成的时候发现其中2个都是中间有半年甚至一年停牌的。其他的几只没选出来的股票,猜测应该都有类似问题所以就没有验证了。条件选股功能计算时是使用本地数据的,所以本地数据必须完整。下载2008年以后的完整数据再选,试试都成功选出来了。一般而言选不全股票的那种条件选股中都包含了参数No公式中的参数,那个参数的数值越大本地差K线数据的可能性就越大,所以下载的k线最少要满足里面用到的最大参数的值个数,本题中好像是“60”用到60日移动平均,和60日收盘平均了,

41、如果哪个股票不满足60个连续的K线数据,哪个股票就选不出。结论:选股时有些符合条件的没选出来考虑两个要素:1历史数据是否足够2条件式边界值是否不够精确x=0.1写成0 xOR(MONTH=ANCDAY=3)AND(M0NTH12OR(MONTH=12ANDDAYOR(MONTH=ANDDAY=3)AND(MONTH1OR(MONTH=12ANDDAY=20),H,0);HH变量在该时间段内等于H,其他时间为0使得HH在规定期内是每日的最高值,其他的时间内都为0HHV(HH,0);此例求1998年8月3日到1998年12月20日间的最高价18选股:选出2007年6月1日以来连续4天跌停的股票。对

42、于之前不可以选定选股时间范围的版本:DT:=(C-REF(C,1)/REF(C,1)*1002007OR(YEAR=2007AND(MONTH6OR(MONTH=6ANDDAY=1),TJ,0);可以设定选股时间范围的新版本:DT:=(C-REF(C,1)/REF(C,1)*100REF(CLOSE1),CLOSEDRAWNULL)表示下跌时分析图上不画线。BACKSET前赋值将当前位置到若干周期前的数据设为1o用法:BACKSET,N)若X非0,则将当前位置到N周期前的数值设为1。例如:BACKSET(CLOSEOPEN若收阳则将该周期及前一周期数值设为1,否则为0oALIGNRIGHT有效

43、数据右对齐有效数据右对齐用法:ALIGNRIGHT(X有效数据向右移动,左边空出来的周期填充无效值例女口:TC:=IF(CURRBARSCOUNT=2|CURRBARSCOUNT=5,DRAWNULL,C);XC:ALIGNRIGH删除了两天的收盘价,并将剩余数据右移BARSCOUNt效数据周期数求总的周期数。用法:BARSCOUNT(X)第一个有效数据到当前的天数。例如:BARSCOUNT(CLOSE对于日线数据取得上市以来总交易日数BARSTATU数据位置状态BARSTATUS回数据位置信息,1表示第一根K线,2表示最后一个数据,0表示中间位置.例如:BARSTATUS表示当天是该数据的最

44、后一个周期.CURRBARSCOU到最后交易日的周期数求到最后交易日的周期数.用法:CURRBARSCOU求TU最后交易日的周期数TOTALBARSCOU总的周期数求总的周期数.用法:TOTALBARSCOU求总、的周期数ISLASTBAR是否最后一个周期判断是否为最后一个周期用法:ISLASTBAR判断是否为最后一个周期BARSLASTh一条件成立位置上一次条件成立到当前的周期数。用法:BARSLAST(X)上一次X不为0到现在的天数。例如:BARSLAST(CL0SE/REF(CL0SE,1)=1.1表示上一个涨停板到当前的周期数。BARSNEX下一条件成立位置属于未来函数,下一次条件成立

45、到当前的周期数用法:BARSNEXT(X下一次X不为0到现在的天数例如:BARSNEXT(CL0SE/REF(CL0SE,1)=1表示下一个涨停板到当前的周期数BARSSINCEN周期内首个条件成立位置N周期内第一个条件成立到当前的周期数.用法:BARSSINCEN(X,N):N周期内第一次X不为0到现在的天数,N为常数例如:BARSSINCEN(HIGH10,1表示10个周期内股价超过10元时到当前的周期数BARSSINCE第一个条件成立位置第一个条件成立到当前的周期数。用法:BARSSINCE(X)第一次X不为0到现在的天数。例如:BARSSINCE(HIGH10)表示股价超过10元时到当

46、前的周期数。COUNTS#统计满足条件的周期数。用法:COUNT,N)统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。例如:COUNT(CLOSEOPE20)表示统计20周期内收阳的周期数。BARSLASTCOU条件连续成立次数统计连续满足条件的周期数用法:BARSLASTCOUNT(X)计连续满足X条件的周期数.例如:BARSLASTCOUNT(CLOSEOP示统计连续收阳的周期数HHV最高值求最高值。用法:HHV(XN)求N周期内X最高值,N=0则从第一个有效值开始。例如:HHV(HIGH,30)表示求30日最高价。HHVBAR上一高点位置求上一高点到当前的周期数。用法:HH

47、VBARS(XN)求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计。例如:HHVBARS(HIGHO)求得历史新高到到当前的周期数HOD高值名次求高值名次用法:HOD(X,N):求当前X数据是N周期内的第几个高值,N=0则从第一个有效值开始例如:HOD(HIGH,20返回是20日的第几个高价LLV最低值求最低值。用法:LLV(X,N)求N周期内X最低值,N=0则从第一个有效值开始。例如:LLV(LOW/0)表示求历史最低价。LLVBARS上一低点位置求上一低点到当前的周期数。用法:LLVBARS(:XN)求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计。例如:L

48、LVBARS(HIGJH20)求得20日最低点到当前的周期数。LOD低值名次求低值名次用法:LOD(X,N):求当前X数据是N周期内的第几个低值,N=0则从第一个有效值开始例如:LOD(LOW,20返回是20日的第几个低价REVERSE求相反数求相反数。用法:REVERSE(X)返回-X。例如:REVERSE(CLOSE返回-CLOSEREF日前的引用若干周期前的数据(平滑处理)。用法:REF(XA)引用A周期前的X值,A可以是变量。平滑处理:当引用不到数据时进行的操作.此函数中,平滑时使用上一个周期的引用值例如:REF(CLOSE,BARSCOUNT(C表示第二根K线的收盘价。REFV日前的

49、引用若干周期前的数据(未作平滑处理).用法:REFV(X,A),引用A周期前的X值.A可以是变量.平滑处理:当引用不到数据时进行的操作.例如:REFV(CLOSE,BARSCOUNT(C表示第二根K线的收盘价.REFX日后的属于未来函数,引用若干周期后的数据(未作平滑处理).用法:REFX(X,A),引用A周期后的X值.A可以是变量.平滑处理:当引用不到数据时进行的操作.例如:REFX(CL0SE,1表示下一周期的收盘价,在日线上就是明天收盘价REFXV日后的属于未来函数,引用若干周期后的数据(平滑处理).用法:REFXV(X,A),引用A周期后的X值.A可以是变量.平滑处理:当引用不到数据时

50、进行的操作.此函数中,平滑时使用上一个周期的引用值例如:TT:=IF(C0,1,2);REFXV(CLOSE,TT)表示阳线引用下一周期的收盘价,阴线引用日后第二周期的收盘价.REFDATE指定引用引用自1990年以来指定日期的数据。用法:REFDATE,A)弓|用A日期的X值。例如:REF(CLOSE2OO112O8)表示2001年12月08日的收盘价CALCSTOCKIND指标弓I用指标引用.用法:CALCSTOCKIND品种代码,指标名称,指标线),返回该指标相应输出的计算值.例如:CALCSTOCKINDEX(SH6OOOOO,KDJ,3)表示上证600000的KDJ旨标第3个输出即J

51、之值,第一个参数可在前面加SZ(深市),SH(沪市),或市场CALCSTOCKINDEX(47_IFLO,MACD,2)表示IFLO品种的MAC指标第2个输出值.注意:引用品种的对应周期的数据必须要先下载到本地SUM总和求总和。用法:SUM(XN)统计N周期中X的总和,N=0则从第一个有效值开始。例如:SUM(VO,L0)表示统计从上市第一天以来的成交量总和。MULAR总乘求总乘用法:MULAR(X,N)统计N周期中X的乘积,N=0则从第一个有效值开始.例如:MULAR(C/REF(C,1),0)表示统计从上市第一天以来的复利FILTER过滤过滤连续出现的信号。用法:FILTER(X,N)X满

52、足条件后,删除其后N周期内的数据置为0。例如:FILTER(CLOSEOPEF5)查找阳线,5天内再次出现的阳线不被记录在内。FILTERX反向过滤反向过滤连续出现的信号用法:FILTERX(X,N):X满足条件后,将其前N周期内的数据置为0.例如:FILTERX(CLOSEOPEN查找阳线,前5天内出现过的阳线不被记录在内TFILT区间过滤对指定时间段的数据进行过滤,该时间段以外的数据无效用法:TFILT(X,D1,M1,D2,M2)例如:TFILT(CLOSE,1040101,1025,1040101,1345)表示在2004年1月1日的10:25到2004年1月1日的13:45的收盘价是

53、有效的.周期以日为基本单位的,分时为0有效TFILTER信号过滤(多头)过滤连续出现的信号用法:TFILTER(买入条件,卖出条件,N);过滤掉买入(卖出)信号发出后,下一个反向信号发出前的所有买入(卖出)信号.”=俵示仅对买入信号过滤;N=2表示仅对卖出信号过滤;N=(表示对买入和卖出信号都过滤,返回1,2表示买入或卖出条件成立;同一K线上只能有一个信号;例如:ENTERLONG:TFILTE买入,卖出,1);EXITLONG:TFILTEF买入,卖出,2);TTFILTER信号过滤(多空)按照开平配对等原则过滤不合理的信号.用法:TTFILTER开仓买入,平仓卖出,开仓卖出,平仓买入,N)

54、;主要规则有:1.连续的同方向指令只有第一个有效,其他的将被过滤;2.交易信号必须配对出现(比如前面已经有了买开指令,则后面只允许出现卖平指令,其他的指令都被过滤掉);N=1表示仅对开仓买入信号过滤;N=2表示仅对平仓卖出信号过滤;N=3表示仅对开仓卖出信号过滤;N=4表示仅对平仓买入信号过滤;N=(表示都过滤,返回1,2,3,4分别表示对应的条件成立;同一K线上只能有一个信号;例如:ENTERLONG:TTFILTE开仓买入,平仓卖出,开仓卖出,平仓买入,1);EXITLONG:TTFILTEF开仓买入,平仓卖出,开仓卖出,平仓买入,2);ENTERSHORT:TTFILTER仓买入,平仓卖

55、出,开仓卖出,平仓买入,3);EXITSHORT:TTFILTER(仓买入,平仓卖出,开仓卖出,平仓买入,4);TR真实波幅求真实波幅.用法:TR,求真实波幅.例如:ATR:=MA(TR,10);表示求真实波幅的10周期均值SUMBAR累加到指定值的周期数向前累加到指定值到现在的周期数。用法:SUMBARS(XA)将X向前累加直到大于等于A,返回这个区间的周期数。例如:SUMBARS(VOICAPITAL)求完全换手到现在的周期数。SMA移动平均返回移动平均。用法:SMA(XN,M)X的M日移动平均,M为权重,如Y=(X*M+Y*(N-M)/NMA简单移动平均返回简单移动平均。用法:MA(XM

56、)X的M日简单移动平均。TMA移动平均返回移动平均用法:TMA(X,A,B),A和B必须小于1,算法Y=(A*Y+B*X),其中Y表示上一周期Yfi.初值为XDMA动态移动平均求动态移动平均。用法:DMA(XA)求X的动态移动平均。算法:若Y=DMA(XA)则Y=A*X+(1-A)*Y,其中Y表示上一周期Y值,A必须小于1。例如:DMA(CLOSEVOL/CAPITAL)表示求以换手率作平滑因子的平均价。EMA或EXPMA)指数移动平均返回指数移动平均。用法:EMA(XM)X的M日指数移动平均算法:Y=(X*2+Y*(N-1)/(N+1)EMA(X,N相当于SMA(X,N+1,2)EXPMA旨

57、数移动平均与EMAffl法一致MEMA平滑移动平均返回平滑移动平均用法:MEMA(XM)X的M日平滑移动平均,如Y=(X+Y*(N-1)/NMEMA(X,N相当于SMA(X,N,1)EXPMEM指数平滑移动平均返回指数平滑移动平均。用法:EXPMEMA(XM)X的M日指数平滑移动平均。EXPMEM同EMA即卩EXPMA的差别在于他的起始值为一平滑值WMA加权移动平均返回加权移动平均用法:WMA(X,N):X的N日加权移动平均.算法:Yn=(1*X1+2*X2+.+n*Xn)/(1+2+.+n)AMA自适应均线求自适应均线值用法:AMA(X,A),A为自适应系数,必须小于1.算法:Y=Y+A*(

58、X-Y).初值为XXMA偏移移动平均属于未来函数,返回偏移移动平均用法:XMA(X,N):X的N日偏移移动平均,用到了当日以后N/2日的数据,只供内部测试使用RANGE介于某个范围之间CONST取值设为常数用法:RANGE(A,B,C)A在B和C。例如:RANGE,B,C)表示A大于B同时小于C时返回1,否则返回0。用法:CONST(A)取A最后的值为常量.例如:CONST(INDEXC表示取大盘现价。TOPRANG当前值是近多少周期内的最大值当前值是近多少周期内的最大值用法:TOPRANGE(X):是近多少周期内X的最大值例如:TOPRANGE(HIG表示当前最高价是近多少周期内最高价的最大

59、值LOWRANGE前值是近多少周期内的最小值当前值是近多少周期内的最小值用法:LOWRANGE(X)是近多少周期内X的最小值例如:LOWRANGE(LO表示当前最低价是近多少周期内最低价的最小值FINDHIGH寻找指定周期内的特定最大值N周期前的M周期内的第T个最大值.用法:FINDHIGH(VAR,N,M,T):VAF在N日前的M天内第T个最高价FINDHIGHBAR寻找指定周期内的特定最大值到当前周期的周期数N周期前的M周期内的第T个最大值到当前周期的周期数.用法:FINDHIGHBARS(VAR,N,M,T):VA在N日前的M天内第T个最高价到当前周期的周期数FINDLOW寻找指定周期内

60、的特定最小值N周期前的M周期内的第T个最小值.用法:FINDLOW(VAR,N,M,T):VA在N日前的M天内第T个最低价FINDLOWBAF寻找指定周期内的特定最小值到当前周期的周期数N周期前的M周期内的第T个最小值到当前周期的周期数.用法:FINDLOWBARS(VAR,N,M,T):VARN日前的M天内第T个最低价到当前周期的周期数EXTERNST引用自定义外部字符串数据EXTERNSTR(TYPE,ID)TYP为1表示是系统保留数据,TYP为0表示是自定义外部数据,读取signals目录下面的的extern_user.txt,请用自定义数据管理器来维护extern_user.txt为文

温馨提示

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

评论

0/150

提交评论