以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教老师这个怎么编写!  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=97450)

--  作者:stardna
--  发布时间:2016/5/16 9:38:50
--  请教老师这个怎么编写!
MID :=  MA(CLOSE,M);
UPPER:= MID + 2*STD(CLOSE,M);
LOWER:= MID - 2*STD(CLOSE,M);

开多条件:最高价上穿upper,平仓条件:最低价下穿中轨,
现在有个不会写,如果完成一次完整的开平仓以后,必须停止完整的开平仓5次,然后以后符合条件再开仓。请老师帮忙,谢谢!

--  作者:pyd
--  发布时间:2016/5/16 9:57:51
--  

“如果完成一次完整的开平仓以后,必须停止完整的开平仓5次”

意思是第1次完整的开平仓出信号,第2,3,4,5,6次满足条件的忽略不计?第7次在出信号交易?


--  作者:stardna
--  发布时间:2016/5/16 9:59:08
--  
是的,就是要实现这个!
--  作者:stardna
--  发布时间:2016/5/16 10:29:33
--  
老师,这个该怎么写呢?
--  作者:wenarm
--  发布时间:2016/5/16 10:30:21
--  

通过全局变量处理类似下面(开仓条件是c>o)

VARIABLE:a=0;

if c>o and a=0 then begin
 BUY(1,1,MARKET);
end
if c>o then begin
 a:=a+1;
 if a=6 then begin
  a:=0;
 end
end


--  作者:stardna
--  发布时间:2016/5/16 10:33:10
--  
关键开仓条件会有多次满足,这么写,a会不停的累加的!
--  作者:stardna
--  发布时间:2016/5/16 10:51:31
--  
求教老师,这个该如何去实现呢?
--  作者:pyd
--  发布时间:2016/5/16 10:54:46
--  

VARIABLE:n=0,m=0;

if o<c and holding=0 then  n:=n+1;

if o>c and holding>0 then m:=m+1;

if n=1  then buy(holding=0,1,market);

if m=1  then sell(holding>0,1,market);

if n=7 then n:=0;
if m=7 then m:=0

[此贴子已经被作者于2016-5-16 10:56:29编辑过]

--  作者:wenarm
--  发布时间:2016/5/16 11:06:46
--  
a在累加到6时,会被重新置0.