以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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);
|