以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=168920) |
-- 作者:一代天骄 -- 发布时间:2019/3/22 9:18:33 -- 限制加仓次数怎么写函数? 限制加仓次数怎么写函数? |
-- 作者:FireScript -- 发布时间:2019/3/22 9:34:47 -- 没有函数直接处理,需要使用全局变量来进行处理。 下面是用全局变量限制开仓的范例,同样的处理方式可以用来限制加仓次数。 variable:num=0;// 全局变量,来控制当天交易次数 cs:=5;//限定一天最多交易5次
ma5:=ma(close,5); ma20:=ma(close,20);
cond1:=cross(ma5,ma20); cond2:=cross(ma20,ma5);
if cond2 and holding>0 then sell(1,1,market); if cond1 and holding=0 and num<5 then begin buy(1,1,market); num:=num+1; end if time=closetime(0) then num:=0;// 商品期货,收盘的同时,num赋值为0 //收盘num不赋值为0,第二天就不再开仓了 你可以参考范例的思路先自行尝试下。 |
-- 作者:一代天骄 -- 发布时间:2019/3/22 10:28:15 -- 就是平仓后全局变量要赋值为0是吗? |
-- 作者:FireScript -- 发布时间:2019/3/22 10:31:47 -- 如果你的加仓限制是限制一次开仓之后的连续加仓次数,那你在平仓之后就要重置全局变量了。 |
-- 作者:一代天骄 -- 发布时间:2019/3/22 10:49:14 -- 如果我的平仓条件比较多,那么每个平仓条件后面都要吧这个全局变量都重置为0是吗? |
-- 作者:FireScript -- 发布时间:2019/3/22 10:50:03 -- 是的。这个没办法。 |