请高手把下面这个公式改成通达信用的,谢谢了,会加分的

{参数:LONG(26,1,100),SHORT(12,1,100),M(9,1,100);}
DIF:EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA:EMA(DIF,M),COLORBLUE,LINETHICK3;
MACD:2*(DIF-DEA),COLORSTICK;
A4:=BARSLAST(ref(cross(dif,dea),1));
B1:=ref(c,A4+1)>c and ref(dif,A4+1)<dif and cross(dif,dea);
DRAWTEXT(FILTER(B1>0,5),dif+0.2,'背离'),COLORyellow;
VAR1C:=(HIGH - MIN(OPEN,CLOSE));
VAR2C:=(CLOSE - OPEN);
VAR3C:=(MIN(OPEN,CLOSE) - LOW);
VAR4C:=(HIGH - LOW);
VAR5C:=((VOL * VAR1C) / VAR4C);
VAR6C:=((VOL * VAR2C) / VAR4C);
VAR7C:=((VOL * VAR3C) / VAR4C);
VAR8C:=((VAR5C - VAR6C) - VAR7C);
VAR4:=MA(CLOSE,5);
VAR5:=MA(CLOSE,10);
VAR6:=MA(CLOSE,30);
VAR7:=MA(CLOSE,60);
VAR8:=EMA(COST(85),7);
VAR9:=EMA(COST(15),7);
VARA:=(SUM(((CLOSE * VOL) * 10),4) / SUM((VOL * 200),4));
VARB:=(INTPART((VARA * 10)) / 10);
VARC:=(SUM(((CLOSE * VOL) * 10),7) / SUM((VOL * 200),7));
VARD:=(INTPART((VARC * 10)) / 10);
VARE:=(SUM(((CLOSE * VOL) * 10),28) / SUM((VOL * 200),28));
VARF:=(INTPART((VARE * 10)) / 10);
短线趋势:(EMA(CLOSE,5) - EMA(CLOSE,10)),COLORMAGENTA,LINETHICK2;
中线趋势:EMA(短线趋势,9),COLORMAGENTA,LINETHICK3;
VAR10:=((0 - ((10 * (HHV(CLOSE,5) - CLOSE)) / (HHV(CLOSE,5) - LLV(LOW,5)))) + 10);
VAR11:=((0 - ((10 * (HHV(CLOSE,10) - CLOSE)) / (HHV(CLOSE,10) - LLV(LOW,10)))) + 10);
VAR12:=((0 - ((10 * (HHV(CLOSE,20) - CLOSE)) / (HHV(CLOSE,20) - LLV(LOW,20)))) + 10);
VAR13:=((0 - ((10 * (HHV(CLOSE,30) - CLOSE)) / (HHV(CLOSE,30) - LLV(LOW,30)))) + 10);
VAR14:=REF(中线趋势,1);
VAR15:=中线趋势;
VAR16:=(VAR15 - VAR14);
VAR17:=REF(短线趋势,1);
VAR18:=短线趋势;
VAR19:=(VAR18 - VAR17);
VAR1A:=OPEN;
VAR1B:=CLOSE;
短线指标:IF(((((CROSS(短线趋势,中线趋势) AND (短线趋势 < 0)) AND (中线趋势 < (0 - 0.2))) AND (VAR11 > 45)) AND (VAR16 > 0)),0.3,0.1),COLOR66FF00;

经测试,上面这个公式可以直接在通达信上使用。下面是测试公式图:

经分析,公式中大部分函数是通用函数,只有BARSLAST、DRAWTEXT、FILTER 这三个函数属于专用函数类型,在不同的行情软件中使用是有区别的,或者不能使用,或者能使用但效果有区别。不知你上面这个公式来自于哪个行情软件,因为大智慧行情软件使用比较多,现将这三个函数在通达信与大智慧行情软件中使用的区别比较如下,供参考:

1. 通达信:BARSLAST 上一条件成立位置 上一次条件成立到当前的周期数. 

用法: BARSLAST(X):上一次X不为0到现在的天数,

例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.

  大智慧:BARSLAST(X):上一次X不为0到现在的天数,

例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数

2. 通达信:DRAWTEXT  在图形上显示文字.

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

   例如:DRAWTEXT(CLOSE/OPEN>1. 08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样)

   大智慧:DRAWTEXT在图形上显示文字。

   用法:DRAWTEXT(COND,PRICE,TEXT,OFFSET),当COND条件满足时,在PRICE位置书写文字TEXT,OFFSET可选,表示垂直位置偏移像素。

   例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,'大阳线')表示当日涨幅大于8%时在最低价位置显示'大阳线'字样。

3. 通达信:FILTER 过滤 过滤连续出现的信号. 

      用法:FILTER(X,N):X满足条件后,删除其后N周期内的数据置为0。 

   例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内

大智慧:FILTER  过滤连续出现的信号。

用法:FILTER(X,N):X满足条件后,将其后N周期内的数据置为0,若N为0表示将其后的所有数据0, 例如:FILTER(CLOSE>OPEN,5)查找阳线,5天内再次出现的阳线不被记录在内

(注:两者虽然代码相同,但用途不同,通达信主要用于点线变色,而大智慧主要用于去掉连续的输出信号)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-22
请将{参数:LONG(26,1,100),SHORT(12,1,100),M(9,1,100);}改变次序为:{参数;(1,100,26),SHORT(1,100,12),M(1,100,9);}后添加到参数栏里即可,如选择参数1-4,
那就在参数1里添上:LONG,
在最小栏里填写:1
在最大栏里填写:100
在缺省栏里填写:26,
依次在参数2里填写SHORT-1-100-12,在参数3里填写M-1-100-9,最后别忘了在公式名称里给公式起个名字。
其它的都可以测试成功的!本回答被提问者采纳
第2个回答  2012-04-26
DIF:EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:EMA(DIF,9),COLORBLUE,LINETHICK3;
MACD:2*(DIF-DEA),COLORSTICK;
A4:=BARSLAST(REF(CROSS(DIF,DEA),1));
B1:=REF(C,A4+1)>C AND REF(DIF,A4+1)<DIF AND CROSS(DIF,DEA);
DRAWTEXT(FILTER(B1>0,5),DIF+0.2,'背离'),COLORYELLOW;
VAR1C:=(HIGH - MIN(OPEN,CLOSE));
VAR2C:=(CLOSE - OPEN);
VAR3C:=(MIN(OPEN,CLOSE) - LOW);
VAR4C:=(HIGH - LOW);
VAR5C:=((VOL * VAR1C) / VAR4C);
VAR6C:=((VOL * VAR2C) / VAR4C);
VAR7C:=((VOL * VAR3C) / VAR4C);
VAR8C:=((VAR5C - VAR6C) - VAR7C);
VAR4:=MA(CLOSE,5);
VAR5:=MA(CLOSE,10);
VAR6:=MA(CLOSE,30);
VAR7:=MA(CLOSE,60);
VAR8:=EMA(COST(85),7);
VAR9:=EMA(COST(15),7);
VARA:=(SUM(((CLOSE * VOL) * 10),4) / SUM((VOL * 200),4));
VARB:=(INTPART((VARA * 10)) / 10);
VARC:=(SUM(((CLOSE * VOL) * 10),7) / SUM((VOL * 200),7));
VARD:=(INTPART((VARC * 10)) / 10);
VARE:=(SUM(((CLOSE * VOL) * 10),28) / SUM((VOL * 200),28));
VARF:=(INTPART((VARE * 10)) / 10);
短线趋势:(EMA(CLOSE,5) - EMA(CLOSE,10)),COLORMAGENTA,LINETHICK2;
中线趋势:EMA(短线趋势,9),COLORMAGENTA,LINETHICK3;
VAR10:=((0 - ((10 * (HHV(CLOSE,5) - CLOSE)) / (HHV(CLOSE,5) - LLV(LOW,5)))) + 10);
VAR11:=((0 - ((10 * (HHV(CLOSE,10) - CLOSE)) / (HHV(CLOSE,10) - LLV(LOW,10)))) + 10);
VAR12:=((0 - ((10 * (HHV(CLOSE,20) - CLOSE)) / (HHV(CLOSE,20) - LLV(LOW,20)))) + 10);
VAR13:=((0 - ((10 * (HHV(CLOSE,30) - CLOSE)) / (HHV(CLOSE,30) - LLV(LOW,30)))) + 10);
VAR14:=REF(中线趋势,1);
VAR15:=中线趋势;
VAR16:=(VAR15 - VAR14);
VAR17:=REF(短线趋势,1);
VAR18:=短线趋势;
VAR19:=(VAR18 - VAR17);
VAR1A:=OPEN;
VAR1B:=CLOSE;
短线指标:IF(((((CROSS(短线趋势,中线趋势) AND (短线趋势 < 0)) AND (中线趋势 < (0 - 0.2))) AND (VAR11 > 45)) AND (VAR16 > 0)),0.3,0.1),COLOR66FF00;
相似回答