等级: 免费版
- 注册:
- 2023-10-21
- 曾用名:
|
openMin:=30*60; //开盘30分钟(30*60秒)时,移仓换月
opent30:=TIMETOT0(DYNAINFO(207))-TIMETOT0(opentime(1)) -openMin;
//DYNAINFO2(210 , 实际持仓代码)
//是否主力: DYNAINFO2(210 , HLABEL);
//DYNAINFO(210)主力合约 DYNAINFO(228)是否为当前主力合约
//取得当前活动账户的总持仓品种数量
HC:THOLDCOUNT(账户id);
//MSGOUT(1,NUMTOSTR(HC,0));
//循环取得持仓
FOR I = 1 TO HC do
BEGIN
//获取第I个序号的账户持仓品种代码
实际持仓代码: THOLDINDEXLABEL(HC,账户id);
hy01:=STRCAT( STRLEFT( 实际持仓代码,STRLEN(实际持仓代码)-2 ) , '00' );
持仓代码 :DRAWTEXTEX( 1,0 ,00 ,20 ,'持仓代码 '&实际持仓代码);
持仓对应连续合约:DRAWTEXTEX( 1,0 ,00 ,36 ,'持持仓对应连续合约 '&hy01);
主力合约1:=DYNAINFO2(210 ,hy01);
主力合约:DRAWTEXTEX( 1,0 ,0 ,0 ,'主力合约 '&主力合约1);
tbuyh:=TBUYHOLDINGex(实际持仓代码,STKLABEL,1);//多头可用持仓
tsellh:=TsellHOLDINGex(实际持仓代码,STKLABEL,1);//空头可用持仓
if 主力合约1<>实际持仓代码 and opent30>0 and tbuyh>0 then
begin
tsell(1,tbuyh,mkt,0,0,账户id,实际持仓代码);
tbuy(1,tbuyh,mkt,0,0,账户id,主力合约);
end
if 主力合约1<>实际持仓代码 and opent30>0 and tsellh>0 then
begin
tsellshort(1,tsellh,mkt,0,0,账户id,实际持仓代码);
tbuyshort(1,tsellh,mkt,0,0,账户id,主力合约);
end
end
|
|