我是将多周期指标线写到全局变量中,再在另一程序中全部引用出来写成数组,包括现价,进行排序,找出现价的排名,并找出上下档。但经常排 出来的上下档离现价远得离谱,而查全局变量中的值又是有离现价很近的,怎么回事??
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;//
基本同时,就算先后也问题不大,因为不会有太大的变动
是多个周期的,一个策略一个周期,每秒扫描一次进行读写
会不会是越界了,这里加个判断好了:
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;//
为什么会越界?