请问如何控制开创股票品种数量?即,我用序列、日线、固定60秒、后台交易,在一篮子符合条件的股票里,只购买其中不超过5支票(我实际持仓有2支,还需要购买3支),如何写?
因我这样写: TBUY(kd and THOLDCOUNT('')<5,ss,mkt); 但是实际开仓时,自动给我买了5、6支。我不需要再排序了,只需要控制开仓品种数量,如果处理?
用全局变量去控制。这个你之前好像问过吧。 我当时也给的代码里面其实就有用全局变量限制的部分。
单纯用THOLDCOUNT 不行 这个函数我试了 刷新不及时。
x:THOLDCOUNT('');
ct:EXTGBDATA('ct');//用全局变量下单进行计算和限制
if x<>0 and ct=0 then //要先判断下当前持仓的数量情况
begin
ct:=x;
end
DEBUGOUT('当前持仓品种数量为:%.2f',x);
if ct+1<=5 and TBUYHOLDINGEX('','',2)=0 then
begin
TBUY(1,1,mkt);
EXTGBDATASET('ct',ct+1);//全局变量值递增1
end
用此法,就是每隔一个固定间隔(如60秒)就买一支,再下一个60秒再买一支,直到达到控制数吧?
满足时间间隔且满足买入条件就会买入,总个数不会超过五个。
能否一次性买到位,即判断还需买3支,就一次性买3支,而不是一个时间间隔买一支
你肯定是监控多个品种 的对吧,如果同时满足买入条件 会一次性买入的。并非说是一个时间间隔限制你买一个,不是这样的。你如果不限制条件 只看品种数量的话 那么第一个时间间隔就会根据当前缺的数量,直接买满的。你就用我给你的范例代码,监控超过五个品种试下就大概明确了。