以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  老师好,请教问题,均线交叉  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=184336)

--  作者:fhxfhxfhx
--  发布时间:2021/2/22 16:58:30
--  老师好,请教问题,均线交叉
ma均线上穿boll布林线,ma取值ma(c,1/2/3暂定)
要求:均线上穿下轨后,第一次上穿上轨,计数1次,求整个周期上穿上轨的次数,谢谢老师。

具体些:
1.均线金叉下轨没有金叉上轨不计数
2.均线金叉下轨后,再死叉下轨,反复折腾,直到均线第一金叉上轨,计数1次。
3.均线金叉下轨后,反复折腾下轨后,第一次金叉上轨计数1次后,反复金死叉上轨,都不计数。
简单说,就是均线必须先金叉下轨,再第一次金叉上轨,才计数1次。

[此贴子已经被作者于2021/2/22 17:00:20编辑过]

--  作者:FireScript
--  发布时间:2021/2/22 17:27:33
--  
 这样试下:


VARIABLE:CT:=0,mark:=0;//全局变量一个记录次数,一个判断之前是否只金叉了下轨
M:=26;
K:=2;
N:=3;
MAN:MA(C,N);
MID:=  MA(CLOSE,M);//布林中轨
UPPER: MID + K*STD(CLOSE,M);//布林上轨
LOWER: MID - K*STD(CLOSE,M);//布林下轨

JC1:=CROSS(MAN,UPPER);
SC1:=CROSS(UPPER,MAN);
JC2:=CROSS(MAN,LOWER);
SC2:=CROSS(LOWER,MAN);

if JC2 then mark:=1;
if SC2 then mark:=0;

if jc1 and mark then
begin
mark:=0;
ct:=ct+1;   
end




showCT:CT;//显示次数

--  作者:FireScript
--  发布时间:2021/2/22 17:29:30
--  
测试效果:


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

--  作者:fhxfhxfhx
--  发布时间:2021/2/22 17:29:42
--  
谢谢老师,我试试
--  作者:fhxfhxfhx
--  发布时间:2021/2/22 17:38:45
--  
试了,是这意思,多谢老师