
等级: 专业版
- 注册:
- 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,没有共享一个全局变量,变量名也是不一样的 |
-
|