我做了个跟踪大盘的模型,
想在平多的时候一次性清光所有600开头的股票,请问在TSELL中用什么语句?
加一个判断条件,这样写即可:
tesll(STRNCMP(STKLABEL ,'600' ,3 )=0 and 平仓条件,0,mkt);
不好意思,再问一下老师。
刚才触发卖了,但是没按照设想走,
是不是要把公式改成这样?
平多:tsell(B2,0,MKT,'STRNCMP(STKLABEL,'600',3 )=0');
还有请教一下老师,我的思路是在根据大盘买卖点,进行股票交易。
做法是在后台监控股票池,由于每天的监控品种会由股票池定时更新,造成卖的时候监控的品种会和持仓有不同。我的解决方案是股票池每天更新不管他,卖的时候把所有上证的持仓都清掉。这种情况下是不是不能在后台设置监控品种,而是要在TBUY和TSELL语句里面设置,如果要设置的话,怎么写语句?
还有个办法是买进后股票池就不更新了,这样监控的品种就不会变。但这个办法我目前还没有搞定,能否请老师帮忙想想办法。
你看下tsell的参数说明啊。 你把'STRNCMP(STKLABEL,'600',3 )=0' 放在哪个位置根本没有任何依据的。这个函数第一个参数就是条件判断的参数。
贴下你当前代码里写的平仓语句,我检查下。
你股票池是设置一直保持某个频率在选股?只有这样才会一直更新股票池里面的选股结果的。
B1:=STKINDIEX('SZ399102','斜率股票池.买入条件',0,3,0,100);
B2:=STKINDIEX('SZ399102','斜率股票池.卖出条件',0,3,0,100);
开多:tBUY(B1,100,MKT); //开多信号
平多:tsell(STRNCMP(STKLABEL,'300',3 )=0 and B2,0,MKT);
那我明白了,这样写是要求监控品种不能变化的,否则只能卖出监控品种和我持仓中都有的股票。
对,我股票池是设置一直执行,间隔1天,86400秒
你实际运行是出现什么情况,不是600开头的也平掉了还是怎么样的。 你代码里写的是“300”开头么。
300、600是因为我选4个市场,每个市场都是一样跟随大盘的策略.
实际运行中 ,比如:
我前天根据大盘买股票池选出的10个股票,由于股票池是每天变化的,昨天收盘股票池又选了一遍,其中只有6个股票和前天的相同,4个换掉了,今天出卖点时系统自动帮我卖了6个,4个没卖掉。
你的股票池是不是设置转移前清空状态池了啊。也就是每次选了新的,旧的状态池就清空了?因为你后台监控的是股票池的选股结果,股票A在你的账号下,但是不在你的股票池里面。那就不能平仓了。