以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请帮助实现一个想法,非常感谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=12527)

--  作者:huifeng623
--  发布时间:2012/6/20 17:14:03
--  请帮助实现一个想法,非常感谢

1、周期20 的均线;

2、将最高价大于均线4个点和最低价小于均线4个点的K线做标记,在出现大于的时候,与前一个的大于K线之间,有若干个小于的标记,这之中的最低价格那根K线就是波谷;

3、将最高价大于均线4个点和最低价小于均线4个点的K线做标记,在出现小于的时候,与前一个的小于K线之间,有若干个大于的标记,这之中的最高价格那根K线就是波峰;

4、判断是否出现连续两个波峰上升,加上连续两个波谷上升。


--  作者:董小球
--  发布时间:2012/6/20 17:29:17
--  
这个有点复杂,要考虑一下看看怎么实现,明天给你答复!
--  作者:huifeng623
--  发布时间:2012/6/20 18:06:30
--  
好的,非常感谢
--  作者:董小球
--  发布时间:2012/6/21 9:22:04
--  
2 能否这么理解,其实就是  假设当前K线是大于4个点的,那么我就求当前K线 与  上一次大于4个点的那个K线 之间的最低价
--  作者:huifeng623
--  发布时间:2012/6/21 10:00:57
--  
是的
--  作者:董小球
--  发布时间:2012/6/21 11:29:59
--  
下面代码基本就是你要的意思,你运行看看

{

1、周期20 的均线;
2、将最高价大于均线4个点和最低价小于均线4个点的K线做标记,在出现大于的时候,与前一个的大于K线之间,有若干个小于的标记,这之中的最低价格那根K线就是波谷;
3、将最高价大于均线4个点和最低价小于均线4个点的K线做标记,在出现小于的时候,与前一个的小于K线之间,有若干个大于的标记,这之中的最高价格那根K线就是波峰;
4、判断是否出现连续两个波峰上升,加上连续两个波谷上升。

}
//大于
MA20:MA(CLOSE,20);
CONDH:=HIGH>MA20+4*MINDIFF;
RCONDH:=REF(HIGH,1)<=REF(MA20,1)+4*MINDIFF;
kk:=CONDH AND RCONDH,noaxis;
AA:=BARSLAST(CONDH AND RCONDH),noaxis;

BS:=LLV(L,AA+1);
REFBS:=REF(BS,REF(AA,AA+1));

BSCOND:=BS>REFBS;

//小于

CONDL:=LOW<MA20-4*MINDIFF;
RCONDL:=REF(LOW,1)>=REF(MA20,1)-4*MINDIFF;
AA2:=BARSLAST(CONDL AND RCONDL);

BS2:=HHV(H,AA2+1);
REFBS2:=REF(BS2,REF(AA2,AA2+1));

BSCOND2:=BS2>REFBS2;

BUY(BSCOND AND BSCOND2,1,MARKET);

--  作者:huifeng623
--  发布时间:2012/6/21 11:49:04
--  
能不能麻烦老师稍微写一下注释呢?
--  作者:董小球
--  发布时间:2012/6/21 14:06:53
--  
{

1、周期20 的均线;
2、将最高价大于均线4个点和最低价小于均线4个点的K线做标记,在出现大于的时候,与前一个的大于K线之间,有若干个小于的标记,这之中的最低价格那根K线就是波谷;
3、将最高价大于均线4个点和最低价小于均线4个点的K线做标记,在出现小于的时候,与前一个的小于K线之间,有若干个大于的标记,这之中的最高价格那根K线就是波峰;
4、判断是否出现连续两个波峰上升,加上连续两个波谷上升。

}
//大于
MA20:MA(CLOSE,20);
CONDH:=HIGH>MA20+4*MINDIFF;

//过滤掉如果连续两根K线都大于4个点的时候;
RCONDH:=REF(HIGH,1)<=REF(MA20,1)+4*MINDIFF;

//判断出满足大于4个点的K线,并且他的上一根K线不能大于四个点,否则两个K线之间就没有波峰波谷了;
kk:=CONDH AND RCONDH,noaxis;

//判断出满足KK条件的K线到当前K线的周期数
AA:=BARSLAST(CONDH AND RCONDH),noaxis;

//求最近一次满足KK的K线到当前周期之间的最低价;
BS:=LLV(L,AA+1);

//求倒数第二次满足KK的K线到倒数第一次满足KK的K线之间的最低价;
REFBS:=REF(BS,REF(AA,AA+1));

//最近一次最低价,也就是波谷,大于倒数第二次最低价,则认为符合连续两个波峰上升;
BSCOND:=BS>REFBS;

//小于,与上面类似,这里不再赘述;

CONDL:=LOW<MA20-4*MINDIFF;
RCONDL:=REF(LOW,1)>=REF(MA20,1)-4*MINDIFF;
AA2:=BARSLAST(CONDL AND RCONDL);

BS2:=HHV(H,AA2+1);
REFBS2:=REF(BS2,REF(AA2,AA2+1));

BSCOND2:=BS2>REFBS2;


//为了看条件,这里随便设置了个买入动作,方便我们观察信号成立的位置;满足连续两个波峰上升,加上连续两个波谷上升的时候买入;
BUY(BSCOND AND BSCOND2,1,MARKET);