TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
MTIME:=MOD(FROMOPEN,TOTAL);
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);
VVOL:IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VOL*(TOTAL+3)/(CTIME+3),DRAWNULL),NODRAW;
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VVOL,0,-1,-1),COLOR00C0C0;
VOLUME:VOL,VOLSTICK;
该指标中FROMOPEN函数无法直接改写,需要根据加载的合约,针对修改。
PS:该指标需要在盘中5分钟、15分钟、30分钟、1小时周期加载
1.股票、股指合约
CURRBARSCOUNT:=DATACOUNT-BARPOS;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
Q:MOD(TIME,100),NODRAW;
VV:=SUM(V,N);
FROMOPEN:=IF(HOUR<12,60*(HOUR-9)-30+Q,120+60*(HOUR-13)+Q)+1;
TOTAL:IF(PERIOD=3,5,IF(PERIOD=5,15,IF(PERIOD=6,30,IF(PERIOD=7,60,IF(PERIOD=8,240,IF(PERIOD=4,10,1)))))),NODRAW;
MTIME:MOD(FROMOPEN,TOTAL),NODRAW;
CTIME:IF(MTIME<0.5,TOTAL,MTIME),NODRAW;
A:=TIME>=930&&TIME<=1130||TIME>=1300&&TIME<=1500;
VVOL:IF((CURRBARSCOUNT=0 AND VV>1),VOL/100*(TOTAL+3)/(CTIME+3),NULL),NODRAW;
STICKLINE((CURRBARSCOUNT=0 && A ),VVOL,0,COLOR00C0C0,1);
VOLUME:VOL/100,VOLSTICK;
Q:MOD(TIME,100),NODRAW;
CURRBARSCOUNT:=DATACOUNT-BARPOS;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
VV:=SUM(V,N);
FROMOPEN:IF(HOUR>=21,60*(HOUR-21)+Q,IF(TIME<800,180+MINUTE+60*HOUR,
IF(TIME<=1015&&TIME>=900,240+60*(HOUR-9)+Q,
IF(TIME>=1030&&TIME<=1130,315+60*(HOUR-10)-30+Q,495+60*(HOUR-13)-30+Q))))+1,NODRAW;
TOTAL:IF(PERIOD=3,5,IF(PERIOD=5,15,IF(PERIOD=6,30,IF(PERIOD=7,60,IF(PERIOD=8,240,IF(PERIOD=4,10,NULL)))))),NODRAW;
MTIME:MOD(FROMOPEN,TOTAL),NODRAW;
CTIME:=IF(MTIME<0.5,TOTAL,MTIME),NODRAW;
VVOL:IF((CURRBARSCOUNT=0 ),VOL*(TOTAL+3)/(CTIME+3),NULL),NODRAW;
A:=TIME>=900&&TIME<=1015||TIME>=1015&&TIME<=1130||TIME>=1330&&TIME<=1500||TIME>=2100||TIME<=100;
STICKLINE((CURRBARSCOUNT=0 &&A ),VVOL,0,COLOR00C0C0,1);
VOLUME:VOL,VOLSTICK;
CURRBARSCOUNT:=DATACOUNT-BARPOS;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
VV:=SUM(V,N);
Q:MOD(TIME,100),NODRAW;
FROMOPEN:IF(HOUR>=21,60*(HOUR-21)+Q,IF(TIME<800,180+Q+60*HOUR,
IF(TIME<=1015&&TIME>=900,240+60*(HOUR-9)+Q,
IF(TIME>=1030&&TIME<=1130,315+60*(HOUR-10)-30+Q,495+60*(HOUR-13)-30+Q))))+1,NODRAW;
TOTAL:IF(PERIOD=3,5,IF(PERIOD=5,15,IF(PERIOD=6,30,IF(PERIOD=7,60,IF(PERIOD=8,240,IF(PERIOD=4,10,NULL)))))),NODRAW;
MTIME:MOD(FROMOPEN,TOTAL),NODRAW;
CTIME:=IF(MTIME<0.5,TOTAL,MTIME),NODRAW;
VVOL:IF((CURRBARSCOUNT=0 ),VOL*(TOTAL+3)/(CTIME+3),NULL),NODRAW;
A:=TIME>=900&&TIME<=1015||TIME>=1015&&TIME<=1130||TIME>=1330&&TIME<=1500||TIME>=2100||TIME<=230;
STICKLINE((CURRBARSCOUNT=0 &&A ),VVOL,0,COLOR00C0C0,1);
VOLUME:VOL,VOLSTICK;
CURRBARSCOUNT:=DATACOUNT-BARPOS;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
VV:=SUM(V,N);
Q:MOD(TIME,100),NODRAW;
FROMOPEN:IF(HOUR>=21,60*(HOUR-21)+Q,
IF(TIME<=1015,150+60*(HOUR-9)+Q,IF(TIME>=1030&&TIME<=1130,
225+60*(HOUR-10)-30+Q,285+60*(HOUR-13)-30+Q)))+1,NODRAW;
TOTAL:IF(PERIOD=3,5,IF(PERIOD=5,15,IF(PERIOD=6,30,IF(PERIOD=7,60,IF(PERIOD=8,240,IF(PERIOD=4,10,NULL)))))),NODRAW;
MTIME:MOD(FROMOPEN,TOTAL),NODRAW;
CTIME:=IF(MTIME<0.5,TOTAL,MTIME),NODRAW;
VVOL:IF((CURRBARSCOUNT=0 ),VOL*(TOTAL+3)/(CTIME+3),NULL),NODRAW;
A:=TIME>=900&&TIME<=1015||TIME>=1015&&TIME<=1130||TIME>=1330&&TIME<=1500||TIME>=2100&&TIME<=2330;
STICKLINE((CURRBARSCOUNT=0 &&A ),VVOL,0,COLOR00C0C0,1);
VOLUME:VOL,VOLSTICK;
Q:MOD(TIME,100),NODRAW;
CURRBARSCOUNT:=DATACOUNT-BARPOS;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
VV:=SUM(V,N);
FROMOPEN:IF(TIME<=1015,60*(HOUR-9)+Q,IF(TIME>=1030&&TIME<=1130,
75+60*(HOUR-10)-30+Q,135+60*(HOUR-13)-30+Q))+1,NODRAW;
TOTAL:IF(PERIOD=3,5,IF(PERIOD=5,15,IF(PERIOD=6,30,IF(PERIOD=7,60,IF(PERIOD=8,240,IF(PERIOD=4,10,NULL)))))),NODRAW;
MTIME:MOD(FROMOPEN,TOTAL),NODRAW;
CTIME:IF(MTIME<0.5,TOTAL,MTIME),NODRAW;
VVOL:IF((CURRBARSCOUNT=0 ),VOL*(TOTAL+3)/(CTIME+3),NULL),NODRAW;
A:=TIME>=900&&TIME<=1015||TIME>=1015&&TIME<=1130||TIME>=1330&&TIME<=1500;
STICKLINE((CURRBARSCOUNT=0 &&A ),VVOL,0,COLOR00C0C0,1);
VOLUME:VOL,VOLSTICK;
Q:MOD(TIME,100),NODRAW;
CURRBARSCOUNT:=DATACOUNT-BARPOS;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
VV:=SUM(V,N);
FROMOPEN:IF(TIME<=1200,60*(HOUR-9)+Q-15,135+60*(HOUR-13)+Q)+1,NODRAW;
TOTAL:IF(PERIOD=3,5,IF(PERIOD=5,15,IF(PERIOD=6,30,IF(PERIOD=7,60,IF(PERIOD=8,240,IF(PERIOD=4,10,NULL)))))),NODRAW;
MTIME:MOD(FROMOPEN,TOTAL),NODRAW;
CTIME:=IF(MTIME<0.5,TOTAL,MTIME),NODRAW;
VVOL:IF((CURRBARSCOUNT=0 ),VOL*(TOTAL+3)/(CTIME+3),NULL),NODRAW;
A:=TIME>=915&&TIME<=1130||TIME>=1300&&TIME<=1515;
STICKLINE((CURRBARSCOUNT=0 &&A),VVOL,0,COLOR00C0C0,1);
VOLUME:VOL,VOLSTICK;