搞清楚几个公式的用法技巧与使用条件

来源:百度文库 编辑:神马文学网 时间:2024/04/23 21:51:48

    搞清楚几个公式的用法技巧与使用条件
    首先公式多了,使用上特别的麻烦,你可能会记不住;
    其次、你不可能对每个指标公式的用法都了如指掌,如果搞错了,则公式不但不能帮助你,反而会害了你;
    第三、指标公式不能代替其它方面的分析,任何指标都与大盘有关;
    第四、建议大家重点搞清楚几个公式的用法技巧与使用条件,做到熟能生巧。
    一  所有的公式系统都 是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其它公式也会出脱其外。
    数据引用
    (1)、数据来源 公中的基本数据来源于接收的每日行情数据,这些数据有行情函数从数据库中按照一定的方式提取,例如,高开低收、成交量、成交额等。
    (2)、数据类型    按照公式使用的数据类型,系统可以处理的数据分为两类:变量和常量,所谓变量,就是一个随时间变化而变化的数据,例如,成交量、成交价等;常量就是一个永远不变的数据。
  例如计算收盘价均线MA(CLOSE,5),MA函数要求第一个参数为变量,而CLOSE函数返回的正是一个变量;MA函数要求的第二个参数是常量,5就是一个常量,所以人们就不能这样书写:MA(5,CLOSE)。
    特殊数据引用
    (1)、指标数据引用
  在编制公式过程中,有时需要使用另外一个指标的值,如果按照通常的做法,重新编制这个指标就显得很麻烦,因此很有必要学习使用如何调用别的指标公式。
  调用其他指标的基本格式:“指标.指标线”(参数) 指标与指标线之间用点“.”分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。 参数在表达式的末尾,必须用括号括起来,参数之间用“,”号分开,通过参数设置可选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置(不过我在使用过程中发现,如不写参数,测试就通不过)。 整个表达式用引号引在其中,除参数以外。 例如:”MACD.DEF”(26,12,9)表示计算MACD指标的DEA指标线,计算参数为26、12、9,”MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,”MACD”表示该指标的最后一条指标线,并且使用公式的默认参数。
    (2)、其他股票数据引用
  使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比。 引用大盘数据 引用大盘数据时使用下列函数:INDEXC、INDEXV等等。 引用个股数据 引用个股数据时使用下列格式:”股票代码$数据”,在以上格式当中调用CLOSE、VOL、AMOUNT等等,例如,”Z000002$VOL”表示000002该股本周期的成交量。同时大盘也可视为一只个股来引用,例如,上证”H000001$CLOSE”表示为大盘本周期的收盘价,深市”Z399001$CLOSE”同样表法大盘本周期的收盘价。 (3)、注意事项    在编公式中所运用的标点符号均是在英语状态下的符号。    在编制公式中,有要显示的句子和不显示的句子,要显示用“:”不要显示用“:=”, 一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号“;”。 另外,开盘价、收盘价、最高价、最低价,在公式中可用该函数的第一个字母代替。因此在编公式时不要单独用这几个字母,请要注意。

    二、粘贴源码时常见的问题和注意事项
  1、未定义的标识符
  多数是由参数引起的。还有就是有些源码中附带了公式名称或说明,这些公式源码以外的内容,如:名称,说明以及参数等等,凡在{ }以外的,均要删除,或者用{ }将其括上。
  2、条件选股类的公式,应加入到和“技术指标”并列的“条件选股”组中。
  3、是主图公式的,需在公式编辑区中点“主图叠加”。
  4、通达信的输出一般都限定在16条。多出的解决办法是:将没有必要输出的语句后面加上“等号”,或者删去。例:
  买点: STICKLINE(Var6>REF(Var6,1) AND Var6>0 ,Var6,Var8,10,0);
  DRAWICON(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-140,4);
  DRAWTEXT(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-40,'建议关注 '),COLORffffff;
  这三项分别是划柱线、显示小箭头和显示文字。留一个就行了。
  加“等号”的例子:
  Var2:MA(CLOSE,10);
  Var3:MA(CLOSE,20);
  Var4:MA(CLOSE,30);
  加上后:
  Var2:MA(CLOSE,10);
  Var3:=MA(CLOSE,20);
  Var4:MA(CLOSE,30);
  意思是保留了10日均线和30日均线的输出,将20日的隐去。
  特别提示:不论什么股软,当遇到线条过多过乱时,都可以采用这种办法使图形简练清晰。
  5、颜色符号及逗号问题
  例:仓:EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),,colormagenta;
  此句可能存在两个问题,一是后面有两个“逗号”,对于飞狐等通过,而对于大智慧2和分析家等,则是问题,必须删去一个。反之,一个没有也不行。二是后面的colormagenta,大智慧是不认识的。换成通用的:colorf00ff0就行了。
  6、是否输出与颜色标识问题
  例:仓:=EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),colormagenta,LINETHICK0;
  这个语句的特点是在前面有等号“ = ”,意思是不输出,但后面还有颜色修饰符和指标线粗细函数。有些股软对此是放行的,即:不输出。而大智慧2和分析家却不认,把它看成相互矛盾的病句。解决办法:将修饰符全部删去,或将前面的 = 号去掉,让语句输出。
解除公式时间限制的三种方法!!!!
解除公式时间限制的三种方法!!!!解除公式指标“时间限制”的三种方法我们常常因被时间限制的公式感到一筹莫展,其实解决因时间限制的方法一般比较简单,时间限制是一种加密的方法,其原理是在指标中加入时间函数,把时间设定在一定的使用范围内,当超过设定的时间之后,指标图形中的线条和有关信号消失或失真,造成指标不能继续使用。

 

用时间限制加密的形式有多种,下面仅举三种例子加以说明解除的方法:

例一: 解除时间限制前的主图指标:

{ M(1,30,5) WARN(1,40,10)}
Var1:=1040301;
Var2:=1040901;
Var3:=IF(DATE>Var1,IF(CLOSE<80,1,0),0);
Var4:=IF(DATE>Var2,1,Var3);
Var5:=(EMA(LOW,M)+EMA(CLOSE,M*2)+EMA(CLOSE,M*6)+EMA(HIGH,M*3))/4*(1+WARN/200);
Var6:=(EMA(HIGH,M)+EMA(OPEN,M*2)+EMA(OPEN,M*6)+EMA(LOW,M*3))/4*(1-WARN/200);
多空线: IF(var4=1,OPEN,EMA((Var5+Var6)/2,M)), ;
高: IF(var4=1,CLOSE,Var5-(Var5-多空线)/10), ;
低: IF(var4=1,(OPEN+CLOSE)/2,Var6+(多空线-Var6)/10),;
顶: IF(var4=1,HIGH,Var5*(1+WARN/200)),;
底: IF(var4=1,LOW,Var6*(1-WARN/200)), ;
股价重心: (EMA(CLOSE,M)+EMA(OPEN,M))/2, ;
IF(OPEN<低,高,多空线), ;

  这是一个时间加密的主图指标,Var3和Var4引用了Var1和Var2的具体时间,限制在2004年3月1日前可正常使用,超过这个时间就不能正常使用了,而且把时间限制嵌套在其它语句中,给解除时间限制带来一定的难度。

  对于这类加密指标,可以不必大改,只要把Var1的1040301(2004年3月1日)改为1540301(2054年3月1日),把Var2的1040901(2004年9月1日)改为10540901(2054年9月1日)即可,也就是延长50年的使用期限。就是你常用这个指标,50年也就足够用的了
例二:解除时间限制前的副图指标:
以下内容需要回复才能看到
Var1:=IF(DATE<=1040701,1,0);
Var2:=DMA(CLOSE,HIGH/MA(LOW,4)/4);
... ...
Var8:=AMOUNT/VOL/100;
Var9:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;
VarA:=SUM(AMOUNT,13)/Var8/100;
... ...
Var15:=MA((Var12*3+Var13*2+Var14)/6*1.738,18);
Var16:=IF(DATE<=1021231,Var15,Var15*DAY);
Var17:=LOW;
... ...
Var1A:=MA(IF(CLOSE*1.35{<=Var16},Var19*10,Var19/10),3);
Var1B:=LLV(LOW,30);
... ...
买入: Var7*Var1 AND Var1E*Var1 AND Var25*Var1 AND (CLOSE-OPEN)*Var1>0,linethick2 , colorred;

  这个指标中的Var1、Var16和“买入”;这3条语句引用了时间限制函数,限制在2004年7月1日前可正常使用,超过这个时间就不能正常使用了。

  解除时间限制的方法比较简单,只要把Var1和Var16这2条语句删除,再把Var1A语句中的<=Var16和买入语句中的*Var1删除就完全解除了时间限制。
例三:最后再看一个指标:
以下内容需要回复才能看到
例三:最后再看一个指标:
Var1:=IF(DATE<1030830 AND DATE>900101,1,0);
Var2:=LLV(LOW,10);
Var3:=HHV(HIGH,25);
警戒线:=2.8*Var1;
减仓线:=3.2*Var1;
动力线:=EMA((CLOSE-Var2)/(Var3-Var2)*4,4)*Var1;
VAR4:CROSS(动力线,警戒线);
STICKLINE(VAR4,0,50,4,0);
DRAWICON(CROSS(动力线,警戒线),53,2);

  这个指标中的Var1引用了时间限制函数,限制在2003年8月30日前可正常使用,超过这个时间就不能正常使用了。解除时间限制的方法比较简单,只要把Var1这条语句删除,再把语句中的*Var1删除就完全解除了时间限制。

  通过以上例子,我们可以大致的知道什么是“引用时间限制函数”、怎样找到“时间限制函数”和如何解除时间限制;大家可以反复推敲。(当然,要解除时间限制,前提是我们必须要知道公式原码!)

  以上例举了三个解除时间限制的方法,不论采取哪一种都能解除时间限制,哪个方便就采取哪个。大家试着改一改吧!

破解公式指标“时间限制”的方法

  时间限制是一种加密的方法,其原理是在指标中加入时间函数,把时间设定在一定的使用范围内,当超过设定的时间之后,指标图形中的线条和有关信号消失或失真,造成指标不能继续使用。
  用时间限制加密的形式有多种,下面仅举三种例子加以说明解除的方法:
例一: 解除时间限制前的主图指标:

{ M(1,30,5) WARN(1,40,10)}
Var1:=1040301;
Var2:=1040901;
Var3:=IF(DATE>Var1,IF(CLOSE<80,1,0),0);
Var4:=IF(DATE>Var2,1,Var3);
Var5:=(EMA(LOW,M)+EMA(CLOSE,M*2)+EMA(CLOSE,M*6)+EMA(HIGH,M*3))/4*(1+WARN/200);
Var6:=(EMA(HIGH,M)+EMA(OPEN,M*2)+EMA(OPEN,M*6)+EMA(LOW,M*3))/4*(1-WARN/200);
多空线: IF(var4=1,OPEN,EMA((Var5+Var6)/2,M)), ;
高: IF(var4=1,CLOSE,Var5-(Var5-多空线)/10), ;
低: IF(var4=1,(OPEN+CLOSE)/2,Var6+(多空线-Var6)/10),;
顶: IF(var4=1,HIGH,Var5*(1+WARN/200)),;
底: IF(var4=1,LOW,Var6*(1-WARN/200)), ;
股价重心: (EMA(CLOSE,M)+EMA(OPEN,M))/2, ;
IF(OPEN<低,高,多空线), ;

  这是一个时间加密的主图指标,Var3和Var4引用了Var1和Var2的具体时间,限制在2004年3月1日前可正常使用,超过这个时间就不能正常使用了,而且把时间限制嵌套在其它语句中,给解除时间限制带来一定的难度。

  对于这类加密指标,可以不必大改,只要把Var1的1040301(2004年3月1日)改为1540301(2054年3月1日),把Var2的1040901(2004年9月1日)改为10540901(2054年9月1日)即可,也就是延长50年的使用期限。就是你常用这个指标,50年也就足够用的了。

例二:解除时间限制前的副图指标:

Var1:=IF(DATE<=1040701,1,0);
Var2:=DMA(CLOSE,HIGH/MA(LOW,4)/4);
Var8:=AMOUNT/VOL/100;
Var9:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;
VarA:=SUM(AMOUNT,13)/Var8/100;
Var15:=MA((Var12*3+Var13*2+Var14)/6*1.738,18);
Var16:=IF(DATE<=1021231,Var15,Var15*DAY);
Var17:=LOW;
Var1A:=MA(IF(CLOSE*1.35{<=Var16},Var19*10,Var19/10),3);
Var1B:=LLV(LOW,30);

买入: Var7*Var1 AND Var1E*Var1 AND Var25*Var1 AND (CLOSE-OPEN)*Var1>0,linethick2 , colorred;

  这个指标中的Var1、Var16和“买入”;这3条语句引用了时间限制函数,限制在2004年7月1日前可正常使用,超过这个时间就不能正常使用了。

  解除时间限制的方法比较简单,只要把Var1和Var16这2条语句删除,再把Var1A语句中的<=Var16和买入语句中的*Var1删除就完全解除了时间限制。

例三:最后再看一个指标:
Var1:=IF(DATE<1030830 AND DATE>900101,1,0);
Var2:=LLV(LOW,10);
Var3:=HHV(HIGH,25);
警戒线:=2.8*Var1;
减仓线:=3.2*Var1;
动力线:=EMA((CLOSE-Var2)/(Var3-Var2)*4,4)*Var1;
VAR4:CROSS(动力线,警戒线);
STICKLINE(VAR4,0,50,4,0);
DRAWICON(CROSS(动力线,警戒线),53,2);

  这个指标中的Var1引用了时间限制函数,限制在2003年8月30日前可正常使用,超过这个时间就不能正常使用了。解除时间限制的方法比较简单,只要把Var1这条语句删除,再把语句中的*Var1删除就完全解除了时间限制。

  通过以上例子,我们可以大致的知道什么是“引用时间限制函数”、怎样找到“时间限制函数”和如何解除时间限制;大家可以反复推敲。(当然,要解除时间限制,前提是我们必须要知道公式原码!)

  以上例举了三个解除时间限制的方法,不论采取哪一种都能解除时间限制,哪个方便就采取哪个。大家试着改一改吧