以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 开仓数量 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173480) |
-- 作者:tyx0063 -- 发布时间:2019/12/11 9:52:23 -- 开仓数量 请问如何控制开创股票品种数量?即,我用序列、日线、固定60秒、后台交易,在一篮子符合条件的股票里,只购买其中不超过5支票(我实际持仓有2支,还需要购买3支),如何写? 因我这样写: TBUY(kd and THOLDCOUNT(\'\')<5,ss,mkt); 但是实际开仓时,自动给我买了5、6支。我不需要再排序了,只需要控制开仓品种数量,如果处理?
|
-- 作者:FireScript -- 发布时间:2019/12/11 10:52:51 -- 用全局变量去控制。这个你之前好像问过吧。 我当时也给的代码里面其实就有用全局变量限制的部分。 单纯用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 |
-- 作者:tyx0063 -- 发布时间:2019/12/11 11:25:03 -- 用此法,就是每隔一个固定间隔(如60秒)就买一支,再下一个60秒再买一支,直到达到控制数吧? |
-- 作者:FireScript -- 发布时间:2019/12/11 13:17:57 -- 满足时间间隔且满足买入条件就会买入,总个数不会超过五个。 |
-- 作者:tyx0063 -- 发布时间:2019/12/11 14:26:21 -- 能否一次性买到位,即判断还需买3支,就一次性买3支,而不是一个时间间隔买一支 |
-- 作者:FireScript -- 发布时间:2019/12/11 14:49:31 -- 你肯定是监控多个品种 的对吧,如果同时满足买入条件 会一次性买入的。并非说是一个时间间隔限制你买一个,不是这样的。你如果不限制条件 只看品种数量的话 那么第一个时间间隔就会根据当前缺的数量,直接买满的。你就用我给你的范例代码,监控超过五个品种试下就大概明确了。 |