公式系统(答疑).doc
9页深圳市财富趋势科技股份有限公司 第 1 页 共 9 页公式系统( 答疑)文档记录:版本 时间 修改者 描述1.00 2012-7-9 郭圆圆 公式答疑1 指标公式 tip,不显示线或者不在左上方显示输出变量和值等信息A:C,NODRAW; 可以在左上方显示变量和输出值,但是不画线NOTEXT1:MA(CLOSE,M1);NOTEXT2:MA(CLOSE,M2);NOTEXT3:MA(CLOSE,M3);NOTEXT4:MA(CLOSE,M4);2 nodraw 和 drawnull 的区别第一个是不画线显示数值 第二个是不画线 也不显示数值(值为无效值-)AA:WINNER(C),NODRAW;AA:WINNER(C),DRAWNULL;这些前缀的输出就可以不显示输出的变量和输出变量的值等信息了3 公式脚本:排名:=INSORT(' 深沪 A 股','PSY',2,0); PSYMA:排名>=10; 用条件选股加入后选股,结果什么也选不出来?‘深沪A股’版块名称中的字母要是英文输入法下的全角字符引用系统里含大写字母的板块(如 B 股 AH 对照) ,都按这个规则来写,不过不要引用含个股太多的股票最好不要超过 100 的板块,不然用这个 INSORT 函数,电脑几乎动不了,很卡很慢。
深圳市财富趋势科技股份有限公司 第 2 页 共 9 页4 横向统计函数在个股上执行时,结果会各不相同?原因是其他股票的 K 线要以当前个股的时间序列为模板进行过滤5 公式输出变量有值,为什么没有滑出线?通达信的画线对于单个周期有值,前后两个周期都是无效值的情况是不画线的,只是画了一个点所以一般要用 BACKSET 向前赋值函数来解决这个问题6 为什么分析图上指标的值随着分析图缩放而变化?指标中应该用到了 ema,tma,expma 等函数,它们的计算结果本就是会随着参与计算的 k线个数变化而变化的,这是它们的算法决定的ema 的算法公式是:Y=(2*c+(n-1)Y')/(n+1);{其他两个的算法也和这个很相似 }可以看出 ema(c,n)函数计算的结果和历史每一天的 c 值都有关系如果你希望看到的结果不变,可以设置分析图完全使用下载的日线数据7 我在编写指标时,用到了大盘收盘价 INDEXC,但实际执行指标后,发现得不到完整的大盘历史数据请问如何解决?INDEXC 这样的大盘数据的历史数据部分是从下载到本地的历史数据中取得的要下载完整历史日线另外,跨周期引用,引用其他股票 k 线,或者计算其他股票的指标时所使用的历史数据部分都会从本地下载数据中取。
8 电脑安装上 XP3,一打开公式,中文汉字是乱码拷贝到 TXT 后没有乱码,在.txt 文件中拷过去是乱码,XP2 不会有此现象请问如何解决?这是一个在 Windows 2000 和 Windows XP 系统中很常见的现象,属于设置问题解决这个问题的方法是: (1)在复制文字前用“Ctrl+Shift”组合键调出中文输入法,以后再执行“复制”/“粘贴”操作就不会出现乱码问题了 (2)不使用系统自带的“文本编辑器” ,安装 EmEditor 或 UltraEdit 文本编辑器,在里面选择“按 ANSI 方式粘贴”功能即可 深圳市财富趋势科技股份有限公司 第 3 页 共 9 页(3)还有一种解决方法是在系统中是把默认文字输入法设为中文状态下的英文输入法用鼠标在系统桌面上依次选择“开始→设置→控制面板→文字服务” ,里面通常会有英语和简体中文两种语言,英语下面有“英语(美国) ” 一类的项目,中文下面则有“简体中文输入法(美国) ”、 “微软拼音输入法”一类的项目实际上,这个“简体中文输入法(美国) ”就是在中文状态下输入英文的但是它与上面的英语下面的“英语(美国) ”又不同,后者是在英文状态下输入英文。
只要你把要这个“简体中文输入法(美国) ”设为默认输入法(以后右下角输入法上面总是显示“Ch” ,而不是“En” ) ,就不会出现粘贴乱码的情况了如果你的电脑中找不到这一项,说明你没有安装,要么通过系统盘安装,要么使用上面方法9 通达信软件的自定义指标由于某些原因突然消失后如何恢复 ?(重装系统或者是升级之后的也适用)1.关闭通达信软件2.进入通达信软件安装的文件夹,找到 T0002 文件夹进入3.进入 gs_bak 文件夹,此文件夹内为公式备份4.将日期为最近的以下三个文件改名即可文件为: 20100310_PriGS.dat PriGS.dat ,20100310_PriCS.datPriCS.dat ,20100310_PriText.datPriText.dat其中 20100310 为日期数,如 10 号的备份文件名就是 30100310_PriGS.dat ,改名的规则就是 20100310_PriGS.dat PriGS.dat 5.然后将改名后的三个文件复制到 T0002 目录内覆盖即可6.重启通达信软件10 选股不全问题选股不全,原因很可能是历史数据缺失的问题 (给客户验证是数据问题的步骤)如果客户说那个股票副图信号为 1,但是该条件的选股公式没有选出哪只股票,那么就把这只股票的数据重新下载尽可能长的时间的数据,然后缩小选股范围(方便一眼看出选出来的股票包括刚刚下载了数据的那个股票) ,如果选出来此股,说明就是数据缺失问题。
例说如选股公式:DIF:=EMA(C,24)-EMA(C,48);DEA:=EMA(DIF,12);MACD:=2*(DIF-DEA);BU:MACD0;深圳市财富趋势科技股份有限公司 第 4 页 共 9 页选股日期:2011 年 10 月 12 日选出来的股票中,不含有 “ST 兰光 ST 鲁北 ST 三联 ST 万鸿 象屿股份 新华联 浙报传媒”这几天股票,而根据技术指标来看,很明显这几只票也是符合选股条件的这几个票的共同之处就是分别于今年的 8/26、8/18 、7/25、9/8、8/29 、7/8、 9/29 有过涨跌幅不受限制试过好几个版本,包括最新的测试版,问题都是相同的怎么回事儿?验证是因为历史数据缺失造成的时候发现其中 2 个 都是中间有半年甚至一年停牌的其他的几只没选出来的股票 ,猜测应该都有类似问题所以就没有验证了条件选股功能计算时是使用本地数据的,所以本地数据必须完整下载 2008 年以后的完整数据再选,试试都成功选出来了一般而言选不全股票的那种条件选股中都包含了参数 N公式中的参数,那个参数的数值越大本地差 K 线数据的可能性就越大,所以下载的 k 线最少要满足里面用到的最大参数的值个数,本题中好像是“60”用到 60 日移动平均,和 60 日收盘平均了,如果哪个股票不满足 60 个连续的 K 线数据,哪个股票就选不出。
结论:选股时有些符合条件的没选出来 考虑两个要素:1 历史数据是否足够 2 条件式边界值是否不够精确 x=0.1 写成 08 OR (MONTH=8 AND DAY>=3) ) AND (MONTH8 OR (MONTH=8 AND DAY>=3) ) AND (MONTH2007 OR (YEAR=2007 AND ( MONTH>6 OR (MONTH=6 AND DAY>=1) ) ) ),TJ,0);可以设定选股时间范围的新版本:DT:=(C-REF(C,1))/REF(C,1)*100<=-9;TJ:EVERY(DT,4);{注意需要在条件选股中设定选股的日期范围}19 公式中引用单只股票的基本行情数据 (高开低收)问:请问如何区分代码相同的品种?比如深康佳的收盘价为:"000016$C",同样上证 50 的代码也是 000016,这两个怎么区分开?答:"SH000016$C"; SZ 是限制深圳市场 刚好个股 000016 是深圳 000016 指数是上证的 20 引用个股的行情数据(非基础函数)方法一:$操作符想比较指定的两个股票 000001 和 000002 的收盘价。
但是那个引用操作符“$”只能引用基础函数 方法二:编写甲乙二个公式,用乙公式引用甲公式例如甲公式取名:买入价买 1 价:DYNAINFO(20);深圳市财富趋势科技股份有限公司 第 7 页 共 9 页用乙公式引用甲公式:CALCSTOCKINDEX('000001SZ','买入价',1);CALCSTOCKINDEX('000002SZ','买入价',1);这样儿是可以取到这两个股票当时的即时的买一价,但是这个是即时行情数据 其实觉得没有第一种方法人性化,但是这个方法来引用个股非基础函数(H L O C)的好方法CALCSTOCKINDEXCALCSTOCKINDEX(指标说明)用法:CALCSTOCKINDEX(股票代码,指标名称,指标线),返回股票该指标相应输出的计算值.例如:CALCSTOCKINDEX('600000SH','KDJ',3)表示上证 600000 股票的 KDJ 指标第三个输出即 J 之值21 有客户反应 con2str 函数有问题的因为这个函数转换后的值必须用 drawtext 来输出才可以正确显示22 如何在分时主图指标中引用日线的数据(要点是此指标要是主图叠加类型的指标 因为只有这类型的指标才可以在分时图中选择被使用)比如在分时主图上画昨日的最高值最低值的线1.先做一个次指标 FSSUB:LASTHIGH:REF(HIGH,1);LASTLOW:REF(LOW,1);2.再做一个主指标 FS:(主图叠加类型)ZG:FSSUB.LASTHIGH#DAY;ZD:FSSUB.LASTLOW#DAY;就可以在分时图主图上使用这个 FS 指标了注意:跨周期引用需要下载完整的日 K 线直接用上面 1 做成主图叠加指标加入到 k 线图和 2 引用日线数据#DAY 是有区别的。
直接在分时的引用就是分钟周期的指标公式的值深圳市财富趋势科技股份有限公司 第 8 页 共 9 页23 不同含义的数据拿来对比的问题例 1:主力风向标的统计数据应该是和 DDX 的统计值一样的,其实主力风向标引用的应该也就是 DDX 的数值吧,这个没有疑问可是 DDX 为负值,也就是说大单流出是大于大单流入的,可为什么同一只股票 DDX 为负值,为什么资金博弈的超大单和大单统计却是资金大幅流入DDX:(逐笔买入大单成交- 逐笔卖出大单成交)*10000/流通股本(股)(LARGEINTRDVOL-LARGEOUTTRDVOL);这个是(逐笔买入大单成交-逐笔卖出大单成交) 分档解释:L2_VOL(N,M) N(0--3):超大 /大/中/ 小四档处理,M(0--3):买入 /卖出/主买/主卖四类也可以用下面的 lev2 分档函数表示 (L2_VOL(0,0)+L2_VOL(1,0))-(L2_VOL(0,1)+L2_VOL(1,1));{逐笔买入大单成交量,相当于 L2_VOL(0,0)+L2_VOL(1,0),就是分档中的超大单和大单的买入 资金流向功能专用};{逐笔卖出大单成交量,相当于 L2_VOL(0,1)+L2_VOL(1,1),就是分档中的超大单和大单的卖出 资金流向功能专用};当日超大单: 当日超大单净流入(超大单主买金额-超大单主卖金额)即 L2_AMO(0,2)-L2_AMO(0,3)当日大单: 当日大单净流入(大单主买金额-大单主卖金额) 即 L2_AMO(1,2)-L2_AMO(1,3)区别:一个是分档中的买卖 一个是分档中的主买主卖 ;一个是量一个是金额 所以不是一个东西。
不一样是正常的!例 2:TRADENUM=逐笔成交总单数TRADEINNUM=逐笔买入成交单数TRADEOUTNUM=逐笔卖出成交单数此三个函数个人以为:逐笔成交总单数 =逐笔买入成交单数+逐笔卖出成交单数;实际上逐笔成交总单数。





