以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 过滤连续信号 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=167944) |
-- 作者:zcl -- 发布时间:2019/1/25 1:39:06 -- 过滤连续信号 过滤连续信号,用了FILTER(KD,10)不起作用,不知为什么 |
-- 作者:FireScript -- 发布时间:2019/1/25 9:07:06 -- KD这个不是完整开仓条件把。 或者说可能是存在KD满足,但不开仓的某种情况,比如说还要满足holding=0。
|
-- 作者:zcl -- 发布时间:2019/1/25 23:54:58 -- 没有别的条件,KD就是一个上穿条件 |
-- 作者:zcl -- 发布时间:2019/1/26 14:01:57 -- 试了把下面的加入到系统自带的指标也不行。比如均线交易系统。 FILTER(kd2 ,20); FILTER(kk ,10 );
|
-- 作者:FireScript -- 发布时间:2019/1/28 9:12:39 -- 你完整代码怎么写的呢?我看下你代码吧。这个函数的效果我是试过的,是可用的。 |
-- 作者:zcl -- 发布时间:2019/1/28 15:05:13 -- 可我在金字塔软件里的均线系统加上该句也不起作用。在均线系统里试最简单的了,也不会有其他错误的干扰,如果用其他的自编指标还怀疑是编写错误 |
-- 作者:FireScript -- 发布时间:2019/1/28 15:22:53 -- 提供你的代码我直接看下你的操作方式。 |
-- 作者:zcl -- 发布时间:2019/1/29 10:48:20 -- m:14;ss:1; TR1 := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),M); HD := HIGH-REF(HIGH,1); LD := REF(LOW,1)-LOW; PDM:= SUM(IF(HD>0 AND HD>LD,HD,0),M); MDM:= SUM(IF(LD>0 AND LD>HD,LD,0),M); PDI:= PDM*100/TR1; MDI:= MDM*100/TR1; 手数:=ss; //交易条件 开多平空条件:=CROSS(PDI,MDI);//开多平空条件 开空平多条件:=CROSS(MDI,PDI);//开空平多条件 //交易系统 平空:SELLSHORT(开多平空条件,手数,MARKET); 平多:SELL(开空平多条件,手数,MARKET); 开多:BUY(开多平空条件,手数,MARKET); 开空:BUYSHORT(开空平多条件,手数,MARKET); 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY; //FILTER(CROSS(PDI,MDI) ,20); //FILTER(CROSS(MDI,PDI) ,10 ); //注意交易系统先开后平的原则 |
-- 作者:zcl -- 发布时间:2019/1/29 10:51:33 -- 测试加了FILTER(CROSS(PDI,MDI) ,20);//FILTER(CROSS(MDI,PDI) ,10 );与不加该句结果一样 |
-- 作者:FireScript -- 发布时间:2019/1/29 11:05:46 -- FILTER本身对信号根本不会有影响的,你必须加到条件里面去才行。如下: 平空:SELLSHORT(开多平空条件 and FILTER(开多平空条件,20),手数,MARKET); 平多:SELL(开空平多条件 and FILTER(开空平多条件,10 ),手数,MARKET);开多:BUY(开多平空条件 and and FILTER(开多平空条件,20),手数,MARKET); 开空:BUYSHORT(开空平多条件 and FILTER(开空平多条件,10 ),手数,MARKET); |