以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  策略编写求助区  (http://weistock.com/bbs/list.asp?boardid=11)
----  我是菜鸟,能不能帮忙写个策略指标  (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=55773)

--  作者:helbin
--  发布时间:2013/8/27 10:43:17
--  我是菜鸟,能不能帮忙写个策略指标
品种:股指期货

K线:1分钟K线

止损:10个点

条件如下:

1.如是高开,今天的开盘价大于昨天的收盘价  大于10个点 开空;    小于昨天收盘价10个点后 平空。
2.反之,如是低开,今天的开盘价小于昨天的收盘价  小于10个点 开多;    大于昨天收盘价10个点后 平多。

3.盘中,高于昨天的收盘价  大于10个点 开空;    小于昨天收盘价10个点后 平空。
4.反之,盘中,低于昨天的收盘价  小于10个点 开多;    大于昨天收盘价10个点后 平多

5.盘中,连续3次创今日新高后并且创新高之间有跌破昨日收盘价  开空。 盈利15个点后,平空。 (平后 再次循环累计到3次开)
6.反之,盘中,连续3次创今日新低后并且创新低之间有涨破昨日收盘价  开多。 盈利15个点后,平多。(平后 再次循环累计到3次开)

7.单边上涨,连续4次创今日新高后并且创新高之间没有跌破昨日收盘价  开多。盈利20个点后,平多
8.反之单边下跌,连续4次创今日新低后并且创新低之间没有涨破昨日收盘价  开空。盈利20个点后,平空

--  作者:fly
--  发布时间:2013/9/3 9:08:26
--  

单边上涨/下跌

 

如何界定


--  作者:helbin
--  发布时间:2013/9/5 11:08:03
--  
单边上涨->一直未突破昨日的收盘价。 一直在昨日的收盘价之上。  如果创新高再回落(未突破昨日收盘价),连续4次这样的话,就开多。反之开空。

--  作者:helbin
--  发布时间:2013/9/6 10:47:37
--  
怎么都没人帮忙啊。。 这论坛相应速度真的会等死人啊。。。



--  作者:helbin
--  发布时间:2013/9/6 10:48:01
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=11&Id=55773  赶紧帮帮忙呀,先谢谢了
--  作者:jinzhe
--  发布时间:2013/9/6 15:46:50
--  

最后一个条件没写出,回落不给个固定值写不出

 

zs:=callstock(stklabel,vtclose,6,-1);//昨收
jk:=valuewhen(todaybar=1,open);//今开
variable:n=0,m=0;
variable:x=0,y=0;
variable:cishu1=0,cishu2=0;
variable:biaoji=0;
if jk>zs+10*mindiff then buyshort(holding=0,1,market);

if close<zs-10*mindiff then sellshort(holding<0,1,market);

if jk<zs-10*mindiff then buy(holding=0,1,market);

if close>zs+10*mindiff then sell(holding>0,1,market);

if close>zs+10*mindiff then buyshort(holding=0,1,market);

if close<zs-10*mindiff then sellshort(holding<0,0,market);

if close<zs-10*mindiff then buy(holding=0,1,market);

if close>zs+10*mindiff then sell(holding>0,0,market);


if h>ref(hhv(h,todaybar),1) then n:=n+1;
nn1:=ref(barslast(h>ref(hhv(h,todaybar),1))+1,1);
if h>ref(hhv(h,todaybar),1) and llv(l,nn1)>zs then x:=1;
if n=3 and h>ref(hhv(h,todaybar),1) and x=1  and biaoji=0 then begin
   buyshort(holding=0,1,market);
   biaoji:=1;
   n:=0;
   x:=0;
end
if biaoji=1 and enterprice-c>15*mindiff then begin
 sellshort(holding<0,0,market);
 biaoji:=0;
end


if l<ref(llv(l,todaybar),1) then m:=m+1;
nn2:=ref(barslast(l>ref(llv(l,todaybar),1))+1,1);
if  l<ref(llv(l,todaybar),1) and hhv(h,nn2)<zs then y:=1;
if m=3 and l<ref(llv(l,todaybar),1) and y=1  and biaoji=0 then begin
   buy(holding=0,1,market);
   biaoji:=1;
   m:=0;
   y:=0;
end
if biaoji:=1 and c-enterprice>15*mindiff then begin 
 sell(1,0,market);
 biaoji:=0;
end

{7.单边上涨,连续4次创今日新高后并且创新高之间没有跌破昨日收盘价  开多。盈利20个点后,平多
8.反之单边下跌,连续4次创今日新低后并且创新低之间没有涨破昨日收盘价  开空。盈利20个点后,平空
单边上涨->一直未突破昨日的收盘价。 一直在昨日的收盘价之上。 
如果创新高再回落(未突破昨日收盘价),连续4次这样的话,就开多。反之开空。}

dbsz:=llv(l,todaybar)>zs;
dbxd:=hhv(h,todaybar)<zs;
if dbsz and n=4 and x=0 then buy(holding=0,1,market);

if c-enterprice>20*mindiff then sell(holding>0,0,market);

if dbxd and m=4 and y=0 then buyshort(holding=0,1,market);

if enterprice-c>20*mindiff then sellshort(holding<0,0,market);

 


if c-enterprice>10*mindiff then sellshort(1,0,market);
if enterprice-c>10*mindiff then sell(1,0,market);


--  作者:helbin
--  发布时间:2013/9/6 23:52:11
--  
首先谢谢朋友的帮忙。

这个程序我试了下。好像有点问题,见图。




--  作者:helbin
--  发布时间:2013/9/6 23:58:43
--  
运行了 有问题 见图
--  作者:helbin
--  发布时间:2013/9/7 0:06:56
--  
图片点击可在新窗口打开查看

怎么会重复刷那么多的数据? 开太多的重复信号了

--  作者:helbin
--  发布时间:2013/9/7 15:01:04
--  期货五分钟数据是不是不会自动推送?
图片点击可在新窗口打开查看