以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  金字塔的排序函数有bug  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=138277)

--  作者:leonxu
--  发布时间:2016/8/19 10:55:40
--  金字塔的排序函数有bug

我是将多周期指标线写到全局变量中,再在另一程序中全部引用出来写成数组,包括现价,进行排序,找出现价的排名,并找出上下档。但经常排 出来的上下档离现价远得离谱,而查全局变量中的值又是有离现价很近的,怎么回事??

 

 X1:extgbdata(\'15s疯\');
 X2:extgbdata(\'15s顶\');
 X3:extgbdata(\'15s上\');
 X4:extgbdata(\'15s中\');
 X5:extgbdata(\'15s下\');
 X6:extgbdata(\'15s底\');
 X7:extgbdata(\'15s地\');


  ........
 X354:close;

 

VARIABLE:X[354]=0;

 X[1]:=X1;
 X[2]:=X2;
 X[3]:=X3;
 X[4]:=X4;
 X[5]:=X5;
...............
 X[353]:=X353;
 
 X[354]:=X354;

 

 

CSX:=HOD2(X,354,X[354]);//现价排名

nXTE:=LARGE(X,354,CSX-1),linethick0;//最近上档
nXBE:=LARGE(X,354,CSX+1),linethick0;//最近下档

nXTE1:=LARGE(X,354,CSX-2),linethick0;//
nXBE1:=LARGE(X,354,CSX+2),linethick0;//

nXTE2:=LARGE(X,354,CSX-3),linethick0;//
nXBE2:=LARGE(X,354,CSX+3),linethick0;//

 


--  作者:jinzhe
--  发布时间:2016/8/19 11:28:55
--  
上面引用的全局变量,是同时会被赋值的,还是会被先后赋值的?
--  作者:leonxu
--  发布时间:2016/8/19 12:49:01
--  

基本同时,就算先后也问题不大,因为不会有太大的变动


--  作者:leonxu
--  发布时间:2016/8/19 12:49:54
--  

是多个周期的,一个策略一个周期,每秒扫描一次进行读写


--  作者:jinzhe
--  发布时间:2016/8/19 13:10:07
--  

会不会是越界了,这里加个判断好了:

nXTE:=LARGE(X,354,max(1,CSX-1)),linethick0;//最近上档
nXBE:=LARGE(X,354,min(354,CSX+1)),linethick0;//最近下档

nXTE1:=LARGE(X,354,max(1,CSX-2)),linethick0;//
nXBE1:=LARGE(X,354,min(354,CSX+2)),linethick0;//

nXTE2:=LARGE(X,354,max(1,CSX-3)),linethick0;//
nXBE2:=LARGE(X,354,min(354,CSX+3)),linethick0;//


--  作者:leonxu
--  发布时间:2016/8/19 13:16:05
--  

为什么会越界?

 


--  作者:jinzhe
--  发布时间:2016/8/19 13:31:59
--  
如果你的close排名第一,csx-3不就是-2了吗
--  作者:leonxu
--  发布时间:2016/8/19 15:26:43
--  
但不可能啊,因为永远上面有线
--  作者:leonxu
--  发布时间:2016/8/19 15:27:32
--  
图片点击可在新窗口打开查看

--  作者:leonxu
--  发布时间:2016/8/19 15:29:49
--  

图片点击可在新窗口打开查看此主题相关图片如下:t.png
图片点击可在新窗口打开查看