  
等级: 专业版 
- 注册: 
 - 2022-8-5
 
- 曾用名: 
 
 
 
 | 
 
 
 楼主 |
发表于 2023-5-11 10:44
|
显示全部楼层
 
 
 
参数是0时候就是全平的。你传递进去的sjkc为0.那么执行的就是对当前品种的全平的。这句不太理解 
 
1,代码顺序是先平后开的,sjkc取的是开仓手数,应该是平仓后赋值为0; 
IF REF(SPPC1,1) OR REF(SPPC2,1) OR REF(SPPC3,1) AND SJKC>0 THEN BEGIN 
  TSELL(1,SJKC,MKT); 
  TSELLSHORT(1,SJKC,MKT); 
  EXTGBDATASET(str,0); 
END 
IF (BUYCD OR BUYCD1) AND EXTGBDATA(str)=0  AND TISPRVREMAIN(0)=0  AND TTYPEBAR(1,2)<>0 THEN BEGIN  
        TBUY(1,KC,MKT); 
        EXTGBDATASET(str,KC); 
END 
 
2,从交易明细里可以看出,’LUHT‘策略在22:30后平仓,变量输出: 
 
2023-05-10 22:30:05.085           SJKC:2 
2023-05-10 22:30:05.085           CJJG:2932 
2023-05-10 22:30:05.086           KJJG:2932 
2023-05-10 22:30:05.086           TENTERPRICE :2932 
2023-05-10 22:30:05.086           BUYD:0 
2023-05-10 22:30:05.086           SELLCD:0 
2023-05-10 22:30:09.067           SJKC:2 
2023-05-10 22:30:09.067           CJJG:2932 
2023-05-10 22:30:09.067           KJJG:2932 
2023-05-10 22:30:09.067           TENTERPRICE :2932 
2023-05-10 22:30:09.071           BUYD:0 
2023-05-10 22:30:09.071           SELLCD:0 
2023-05-10 22:30:12.083           SJKC:0 
2023-05-10 22:30:12.084           CJJG:2932 
2023-05-10 22:30:12.084           KJJG:0 
2023-05-10 22:30:12.084           TENTERPRICE :2932 
2023-05-10 22:30:12.087           BUYD:0 
2023-05-10 22:30:12.087           SELLCD:0 
2023-05-10 22:30:16.553           SJKC:0 
2023-05-10 22:30:16.553           CJJG:2932 
2023-05-10 22:30:16.554           KJJG:0 
2023-05-10 22:30:16.554           TENTERPRICE :2932 
2023-05-10 22:30:16.557           BUYD:0 
2023-05-10 22:30:16.557           SELLCD:0 
 
sjkc在最近一次平仓前是被赋值了的,满足条件平仓后变量值由2变成了0,之后就一直是0 ,收盘前平仓的条件也是不满足的,为什么还会平仓? 
 
3,没有共享一个全局变量,变量名也是不一样的 |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?  
 
 
 
x
 
 
 
 
 |