错误句 : 通达信提示:在变量 4 前又错误的定义一次变量!

2024-05-13

1. 错误句 : 通达信提示:在变量 4 前又错误的定义一次变量!

首先这代码不全,不保证修改后还有无其他粗错误,就目前这段代码提示的错误是因为变量名写法有错.
例如:
黄金76.4:这么写是错误的要改成,黄金764:删除掉小数点.
黄金61.8:改为,黄金618:
下面的以此类推修改就可以了解决这个变量名错误的问题了.



错误句 : 通达信提示:在变量 4 前又错误的定义一次变量!

2. 请大神帮助通达信公式输出错误 : 详细信息 : 在变量 809 前又错误的定义一次变量!

这公式指标有多处错误需要修改。修改后可以正常使用。
正常使用效果如下图



3. 通达信 公式出错---详细信息 : 在变量 UPEER 前又错误的定义一次变量!

TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR1,NN);
最高:=HHV(ATR,MM);
UPEER: HHV(H-P*最高,MM);


 


 
复制粘贴这个就OK

通达信 公式出错---详细信息 : 在变量 UPEER 前又错误的定义一次变量!

4. 股票 条件选股 错误:在变量 WR1 前又错误的定义一次变量!

N 1 1000 2N1 1 1000 4N2 1 1000 8

这3个参数不能写在公式里面,要填在参数里面去。
参考图示。

5. 详细信息 : 在变量 = 前又错误的定义一次变量!

LCBWQ:DMA(AMOUNT/(100*VOL),VOL/CAPITAL);
A:=REF(AMOUNT,4)/REF(VOL,4)/100;
A1:=(REF(AMOUNT,3)/REF(VOL,3)/100)*(REF(VOL,3)/CAPITAL)+(1-(REF(VOL,3)/CAPITAL))*A;
A2:=(REF(AMOUNT,2)/REF(VOL,2)/100)*(REF(VOL,2)/CAPITAL)+(1-(REF(VOL,2)/CAPITAL))*A1;
A3:=(REF(AMOUNT,1)/REF(VOL,1)/100)*(REF(VOL,1)/CAPITAL)+(1-(REF(VOL,1)/CAPITAL))*A2;
LCB5:(AMOUNT/VOL/100)*(VOL/CAPITAL)+(1-VOL/CAPITAL)*A3;

 
公式已经能通过,其中内容做了一些改动,不知道是否符合原公式的意思.

详细信息 : 在变量 = 前又错误的定义一次变量!

6. 股票 条件选股 在变量 N 前又错误的定义一次变量!

LC:=REF(CLOSE,1);
N:IF(LC>90,1,2);
{如果LC>90,返回N赋值:1,否则返回N赋值:2
} 

意思是:股价大于90的就使N为1,否则N为2,
你用这个公式做成副图,看看两个股,一个高价股,一个低价股,看他的结果是不是这样

7. 在通达信条件编辑器里出现“在变量 角度MA30 前又错误的定义一次变量!”

MA20:=MA(C,20);
MA30:=MA(C,30);
MA60:=MA(C,60);
MA120:=MA(C,120);
MA200:=MA(C,200);
角度MA20:=ATAN((MA20/REF(MA20,1)-1)*100)*180/3.1416;
角度MA30:=ATAN((MA30/REF(MA30,1)-1)*100)*180/3.1416;
角度MA60:=ATAN((MA60/REF(MA60,1)-1)*100)*180/3.1416;
角度MA120:=ATAN((MA120/REF(MA120,1)-1)*100)*180/3.1416;
角度MA200:=ATAN((MA200/REF(MA200,1)-1)*100)*180/3.1416;

C>MA20 AND MA20>MA30 AND MA30>MA60 AND MA60>MA120 AND MA120 >MA200
 AND 角度MA20>0 AND 角度MA30>0 AND 角度MA60>0 AND 角度MA120>0 AND 角度MA200>0;

在通达信条件编辑器里出现“在变量 角度MA30 前又错误的定义一次变量!”

8. 沿用通达信的公式,说在a1前又错误的定义一次变量,我实在找不出来,请帮忙?

正确代码如下:

LCZ:=(C-MA(C,60))/MA(C,60)*100;
A1:=COUNT(MA(C,60)>REF(MA(C,60),1),100)>95;
A2:=COUNT(LCZ,100)>95;
A3:=COUNT(C>MA(C,60),100)>80;
A4:=C/REF(C,1)>1.04;
A5:=V/CAPITAL*100>2.8;
ZTJ:=A1 AND A2 AND A3 AND A4 AND A5;
IF(ZTJ AND (REF(BARSLAST(ZTJ),1)>20 OR BARSSINCE( ZTJ)=0),30,0);

如下图这类的错误还真是难发现
注意:红框的是原代码里的空格.

下图,去掉空格后

最新文章
热门文章
推荐阅读