以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 出现底背离,第三个底背离才开仓怎么表达 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=184268) |
-- 作者:妄言 -- 发布时间:2021/2/14 19:29:31 -- 出现底背离,第三个底背离才开仓怎么表达 我想底背离开仓,但是忽略前面两个,到第三个底背离才开仓怎么表达呢? |
-- 作者:FexTel -- 发布时间:2021/2/15 13:20:34 -- 公式编写示范请您等待工作人员节后处理,谢谢 |
-- 作者:FexTel -- 发布时间:2021/2/18 9:59:01 -- VARIABLE:BLCS=0; //使用全局变量记录背离的次数 // MACD指标 DIFF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIFF,9); MACD:=2*(DIFF-DEA),COLORSTICK; //上次金叉对应的指标高点与价格高点 N:=BARSLAST(CROSS(DIFF,DEA))+1; N1:=BARSLAST(CROSS(DEA,DIFF))+1; DIFF1:=REF(REF(DIFF,N-1),1); DIFF2:=REF(REF(DIFF,N1-1),1); C1:=REF(REF(C,N-1),1); C2:=REF(REF(C,N1-1),1); //顶底背离的表现 DBL1:DIFF>DIFF1 AND CROSS(DIFF,DEA) AND C<C1;//底背离 DBL:DIFF<DIFF2 AND CROSS(DEA,DIFF) AND C>C2;//顶背离 IF DBL1 THEN BLCS:=BLCS+1; IF BLCS=3 THEN BEGIN
BUY();
BLCS:=0; END |
-- 作者:vakoth -- 发布时间:2021/2/26 17:13:54 -- 请教,N:=BARSLAST(CROSS(DIFF,DEA))+1; 这句的+1是什么原理? |
-- 作者:FireScript -- 发布时间:2021/2/26 17:28:50 -- 你这里其实不用管的。这里+1去掉也是可以的,只要把后面的N-1改成N 也就一样了。 原本这种处理是为了传递有效参数的做法。比如hhv的第二个参数是另一个函数的返回值,但是这个函数返回值第一个位置是0.这个就会和需求的效果不一致。 hhv在第二个参数是0 时候是全部统计的意思。所以有时候会这样采取+1做法来纠正下。 |