----------------------------------------------------------------
//这个程序的目的是计算所交易的品种持平、 上涨、下跌的天数各是多少天。}
WARNING_DISABLE:4;
VARIABLE : LEVELA =0; //定义持平天数的变量
VARIABLE : UPA =0; //定义上涨天数的变量
VARIABLE : DOWNA =0; //定义下跌天数的变量
LEVEL0: EXTGBDATA('LEVELA');
UP0: EXTGBDATA('UPA');
DOWN0: EXTGBDATA('DOWNA');
IF CLOSE=OPEN THEN
LEVELA := LEVELA+1 ; //若收盘价等于开盘价,则LEVELA加一
ELSE BEGIN
IF CLOSE>OPEN THEN
UPA := UPA+1 ; //若收盘价高于开盘价,则UPA加一
ELSE BEGIN
DOWNA := DOWNA+1 ; //若收盘价低于开盘价,则DOWNA加一
END
END
LEVELX : LEVELA;
UPX : UPA;
DOWNX : DOWNA;
EXTGBDATASET('LEVELA',EXTGBDATA('LEVELA')+LEVELA);
EXTGBDATASET('UPA',EXTGBDATA('UPA')+UPA);
EXTGBDATASET('DOWNA',EXTGBDATA('DOWNA')+DOWNA);
LEVEL1: EXTGBDATA('LEVELA');
UP1: EXTGBDATA('UPA');
DOWN1: EXTGBDATA('DOWNA');
----------------------------------------------------------
将以上程序运行后,遇到如下问题:
问题一、如果我进入一个品种的图表,然后双击管理面板下面的指标名:
我用的就是IE啊,不知道为什么贴图不显示。。。
在上面的程序中,我使用EXTGBDATASET把计算得到的变量值存入全局变量数据库后,为什么第二次使用全局变量时,这个全局变量的值不是我第一次存入的数值了???
这三个变量已经是全局变量了,
我的问题是这样的,就只以LEVELA为例
首先我定义一个全局变量LEVELA,我的理解是这个变量只在当前图表的品种上起作用的,所以这个变量的作用是计算当前品种的历史上持平的天数。。
VARIABLE : LEVELA =0; //定义持平天数的变量
下面这个语句,只是纯粹低显示全局变量数据库里面的LEVELA,此时我手动设置数据库里面这个变量值是0;
LEVEL0: EXTGBDATA('LEVELA');
采用逐K线模式,下面语句计算所有的持平天数:
IF CLOSE=OPEN THEN
LEVELA := LEVELA+1 ; //若收盘价等于开盘价,则LEVELA加一
下面语句显示当前品种的持平天数:
LEVELX : LEVELA;
将上面计算得到的当前品种的持平天数存入全局变量数据库, 如果我继续去看另外一个品种的话,这个数据会通过同样的程序累加起来,最终得到我看的所有品种的持平的天数:
EXTGBDATASET('LEVELA',EXTGBDATA('LEVELA')+LEVELA);
显示我看过的所有的品种的持平天数:
LEVEL1: EXTGBDATA('LEVELA');
----------------------------------------------------------
大概想法就是上面那样子,,
现在的问题是,当我看过第一个品种的显示语句, LEVEL1: EXTGBDATA('LEVELA'); 显示出来的 LEVELA的数值
和我看下一个品种的显示语句,LEVEL0: EXTGBDATA('LEVELA'); 显示出来的LEVELA的数值,
以上两个数值应该是相等的,但是实际上在金字塔程序里的显示的数据并不相等。