如果有做空信号,先撤掉相反方向的平空和开多未成交的委托单,代码如下
TCANCELEX(1,4,AC1,PZ);
TCANCELEX(1,1,AC1,PZ);
而且,如有没有平仓的多单,止损50个点,
IF (TREMAINQTY(2,AC1,PZ)>0 AND (TAVGENTERPRICEEX2(AC1,PZ,0)-DYNAINFO(7)>=ZSDS))then BEGIN
TSELL(1,TBUYHOLDINGEX(AC1,PZ,1),MKT,0,0,AC1,PZ);
END
。。。。。。
可最终的结果,是把做空的单都撤销了,为啥呢?
1、首先你的策略逻辑有问题
2、建议客户先从图表基础的熟悉过后再转后台,如果直接转后台,一定要学会基本的调试debugfile。具体的问题不是看这几行代码就能找出原因。
你可以自己把各个条件自己输出看看,是哪个导致的。
求教 这个策略逻辑问题在哪里?
我图表已经比较熟悉了,一直在debugfile输出中间变量
TCANCELEX(1,1,AC1,PZ);
前面的这个是撤销“开多”单
TREMAINQTY(2,AC1,PZ)>0
说明你现在有未成交的 ”平多“单
TSELL(1,TBUYHOLDINGEX(AC1,PZ,1),MKT,0,0,AC1,PZ);
而你在执行平多 指令
你不觉得你开多、平多这两个指令的条件组合有问题吗?