先说明下:只有上期所才有今老仓概念,其他交易所是没有的。也就是说如果不是上期所,程序里面对持仓无法进行今仓老仓的区别的。
你可以想下如果手工平仓能区分今天开的仓和昨天开的仓的情况下,程序才可能实现。如果手工都不能区分,程序化更不行了。
假如是上期所情况下:目前可以判断持仓的今仓老仓情况,但是无法在代码中指定平老仓不平今仓。需要在软件中设置平老仓优先,并且还需要你代码里面配合。
交易-下单设置 这里先设置下

此主题相关图片如下:temp.png

然后因为只是老仓优先,如果只平老仓的话,你需要读取老仓数量,然后设置平仓量,否则还是会可能平到今仓的。
利用这个代码判断老仓量:TBUYHOLDINGEX('' ,'' ,2)-TBUYHOLDINGEX('' ,'' ,0 )
平仓时候设置平仓量和老仓量对齐即可。并且如果没有老仓就不平仓,否则会把今仓平掉。
大致步骤就是这样的:
1.设置平老仓优先
2.读取老仓数量
3.如果有老仓,平老仓数量的仓位,如果没有老仓,不平仓,否则会平到今仓。
如果我今天刚开仓,今天不平,平仓必须是以前的仓位。请问代码怎么写?我没讲明白吗?
4楼已经表述了这个问题的解决方案,是有不清楚的地方吗?
你意思是,另外两个交易所实现不了吗?就是如果我今天开了仓,当天出现平仓信号的话,不执行;只有到了第二天以后,再出现平仓信号,才会平仓。
我其实是要读取开仓时间,如果开仓时间是当日,则不平仓。读取开仓日期,这能做到吗?
如果你只是要求当日开过仓,当日允许触发平仓的话,那可以这样子:
TOPENBAR 函数是返回开仓历时,也是上次开仓距离现在的K线距离,因为你是日线。所以这个函数返回值能直接判断最近一次开仓是否是昨天还是今天。
“当天开的仓不平”和“当天开了仓不平” 还是有点差异的.....