以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  每天只开一次仓,这个在程序中怎么实现?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=55893)

--  作者:qq代人发帖
--  发布时间:2013/8/29 8:55:32
--  每天只开一次仓,这个在程序中怎么实现?
请教
每天只开一次仓,这个在程序中怎么实现?

--  作者:lichenghu
--  发布时间:2013/8/29 9:01:23
--  

 您好,论坛里有关限制每天开仓手数问题一大堆,希望用户能够自行搜索。

 

以下为实例

 

variable:num=0;// 全局变量,来控制当天交易次数

cs:=5;//限定一天最多交易5次

 

ma5:=ma(5,close);//5日均线

ma20:=ma(20,close);

con1:=cross(ma5,ma20);//5日均线金叉20日均线

con2:=cross(ma20,ma5);//死叉

sell(con2 and holding>0,1,market);//死叉平多

//金叉,且交易次数小于5,开多

if cond1 and holding=0 and lossnum<5 then

  begin

  buy(1,1,market);

  num:=num+1;

  end

 

if time=closetime(0) then num:=0;// 收盘的同时,num赋值为0

//收盘num不赋值为0,第二天就不再开仓了


--  作者:90也玩期货
--  发布时间:2013/8/29 11:17:33
--  
ma2:=ma(c,10);
开仓条件:=cross(ma1,ma2);
VARIABLE:a=0;

if time>090000 and time <150000 and 开仓条件 then begin
if holding=0 and a<2 then begin
buy(1,1,MARKET);
a:=a+1;
end
end
不知道这样可以吗,客服,也是每天限制开仓一次

--  作者:lichenghu
--  发布时间:2013/8/29 11:19:47
--  
您好,可以的。最好后面收盘后给a重新赋值到0,确保明天能正常开仓。
--  作者:90也玩期货
--  发布时间:2013/8/29 13:31:07
--  
懂了,谢谢