以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]老师,请帮忙写个公式  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=161659)

--  作者:zpcatv
--  发布时间:2018/2/22 16:30:06
--  [求助]老师,请帮忙写个公式
老师,请帮忙写个预警公式。
预警编号1:30分钟k线图中,最近80根蜡烛线在60均线下方,并且最近的第三根蜡烛线被60均线穿过并且最近二根蜡烛线的最低价大于60均线。
预警编号2:30分钟k线图中,最近80根蜡烛线在60均线上方,并且最近的第三根蜡烛线被60均线穿过并且最近二根蜡烛线的最高价小于60均线。
预警编号3:2小时k线图中,最近40根蜡烛线在60均线下方,并且最近的第三根蜡烛线被60均线穿过并且最近二根蜡烛线的最低价大于60均线。
预警编号4:2小时k线图中,最近40根蜡烛线在60均线下方,并且最近的第三根蜡烛线被60均线穿过并且最近二根蜡烛线的最低价大于60均线。

符合以上任一条件预警并显示预警编号。

--  作者:FireScript
--  发布时间:2018/2/22 16:40:35
--  
“最近80根蜡烛线在60均线下方”最近80个K的收盘价都在60日均线下方?是这个意思对吧。
--  作者:zpcatv
--  发布时间:2018/2/22 16:42:55
--  [求助]老师,请帮忙写个公式
不是收盘价,是最高最低价,在下方就是80根蜡烛线每一根的最高价都小于60均线,在上方就是最低价大于60均线。
[此贴子已经被作者于2018/2/22 16:44:28编辑过]

--  作者:FireScript
--  发布时间:2018/2/22 17:15:40
--  

因为有多个周期的缘故,需要跨指标引用。被引用指标A代码如下

ma80:ma(c,80);
ma60:ma(c,60);

//计算的时候最近的K是包括当前K在内,如果不需要包括当前K,下面每个ref的第二个参数值加一即可。

cond1:count(h<ma60,80) and ref(cross(ma60,c),2) and ref(l>ma60,1);
cond2:count(l>ma60,80) and ref(cross(ma60,c),2) and ref(h<ma60,1);
cond3:count(h<ma60,40) and ref(cross(ma60,c),2) and ref(l>ma60,1);
cond4:count(l>ma60,40) and ref(cross(ma60,c),2) and ref(h<ma60,1);

 

 

当前指标

预警1:STKINDI(\'\',\'A.cond1\',0,4,0);//预警条件直接指定周期前提下引用指标a下的计算结果
预警2:STKINDI(\'\',\'A.cond2\',0,4,0);
预警3:STKINDI(\'\',\'A.cond3\',0,24,4);
预警4:STKINDI(\'\',\'A.cond4\',0,24,4);

if 预警1 then DRAWTEXT(1,l,\'预警1\');//显示预警K以及是哪一个预警,其他预警按照同样方式完成即可。


--  作者:zpcatv
--  发布时间:2018/2/22 17:18:57
--  [求助]老师,请帮忙写个公式
谢谢老师,我试试。