以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  新手求助  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61831)

--  作者:wyswing
--  发布时间:2014/2/19 21:32:23
--  新手求助

正在学程序化,依葫芦画瓢编了交易程序,想设定当日交易次数不超过2次,可是始终未能实现,请帮忙看看哪里出了问题。怎样改。

VARIABLE: 交易次数=0;

最高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
最低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTOPEN,6,0);//申明变量
SS:=5;

开多条件:=CLOSE>最高 and
holding = 0 and
time <145000 and
交易次数<3;

if 开多条件 then begin
BUY(开多条件,SS,THISCLOSE);
交易次数=交易次数+1;
end

平多条件:=CLOSE>(ENTERPRICE+mindiff*20);
止损条件:=CLOSE<(ENTERPRICE-mindiff*20);


if 平多条件 and
holding >0 then begin
sell(1,ss,MARKET);
交易次数=交易次数+1;
end

if 止损条件 and holding >0 then begin
sell(1,ss,MARKET);
交易次数=交易次数+1;
ENd

if time>145000 and holding >0 then begin
sell(1,ss,MARKET);
交易次数=交易次数+1;
END


--  作者:jinzhe
--  发布时间:2014/2/20 9:07:40
--  

VARIABLE: 交易次数=0;

最高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
最低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTOPEN,6,0);//申明变量
SS:=5;

开多条件:=CLOSE>最高 and
holding = 0 and
time <145000 and
交易次数<3;

if 开多条件 then begin
BUY(开多条件,SS,THISCLOSE);
交易次数:=交易次数+1;
end

平多条件:=CLOSE>(ENTERPRICE+mindiff*20);
止损条件:=CLOSE<(ENTERPRICE-mindiff*20);


if 平多条件 and
holding >0 then begin
sell(1,ss,MARKET);
交易次数:=交易次数+1;
end

if 止损条件 and holding >0 then begin
sell(1,ss,MARKET);
交易次数:=交易次数+1;
ENd

if time>145000 and holding >0 then begin
sell(1,ss,MARKET);
交易次数:=交易次数+1;
END

if time>=145500 then 交易次数:=0;

 

 

有两个问题要修改

1:交易次数=交易次数+1;
这样的语句是判断,放在这里毫无作用,你需要多加一个冒号来进行赋值,也就是:交易次数:=交易次数+1;

2.收盘前重置全局变量,也就是最后多加的那一句


--  作者:wyswing
--  发布时间:2014/2/20 11:02:48
--  
好的。了解了。。十分感谢。