以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请老师帮我写个提示码 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=182460) |
-- 作者:liyuan0050 -- 发布时间:2020/10/9 11:06:28 -- 请老师帮我写个提示码 老师你好,我这个源码是K线变红或变绿看平仓不好用,我想加上一个BBI指标,诉求是:当K线变红后第一次碰到BBI线提示“平多”,当K线变绿后第一次碰到BBI线提示“平空”。下面是原码: HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0); LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH1>0,HH1); LL2:=VALUEWHEN(LL1>0,LL1); K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0)); K2:=VALUEWHEN(K1<>0,K1); G:=IFELSE(K2=1,HH2,LL2); G1:=VALUEWHEN(ISLASTBAR,G); DRAWNUMBER(L>0,G1,G1,0,COLORCYAN); W1:=K2; W2:=OPEN-CLOSE; HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE); LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE); STICKLINE(W1>0 ,OPEN,CLOSE,25,1,colorgreen); STICKLINE(W1<=0 ,OPEN,CLOSE,25,1,colorred); STICKLINE( W2>0&&W1<=0,OPEN,CLOSE,25,0,colorred); STICKLINE( W2>0&&W1>0 ,OPEN,CLOSE,25,0,colorgreen); 请老师帮我写一下,谢谢! |
-- 作者:FireScript -- 发布时间:2020/10/9 11:22:23 -- “第一次碰到BBI线” 这个怎么理解的。收盘价上穿BBI或下穿? [此贴子已经被作者于2020/10/9 11:22:46编辑过]
|
-- 作者:liyuan0050 -- 发布时间:2020/10/9 16:01:59 -- 老师好,K线变色后只要触及到BBI线就可以提示,无须是收盘价。K线变色后只要是触及到BBI线就提示文字和声音,请老师帮我写一下。谢谢! |
-- 作者:FireScript -- 发布时间:2020/10/9 16:03:58 -- 我强调的重点是需要明确下怎么才算是触及BBI线。最高价或者最低价和BBi有上下穿关系? 这个要说明清楚,否则没办法编写成代码的。
[此贴子已经被作者于2020/10/9 16:08:13编辑过]
|
-- 作者:liyuan0050 -- 发布时间:2020/10/9 16:52:12 -- 老师好,不好意思,我没表诉明白。 在我上面的原码使K线变色红绿的基础上, K线变红色之后最低价触及到BBI线或穿破BBI线就文字提示“平多”和声音提示;K线变绿色之后最高价触及到BBI线或穿破BBI线就文字提示“平空”和声音提示。 谢谢!! |
-- 作者:FireScript -- 发布时间:2020/10/9 17:07:41 -- M1:=3; M2:=6; M3:=12; M4:=24; BBI:(MA(CLOSE,M1)+MA(CLOSE,M2)+MA(CLOSE,M3)+MA(CLOSE,M4))/4; cd1:W1<=0;//变红的条件 cd2:W1>0;//变绿的条件 Len1:=BARSLAST(not(cd1));//红色持续周期 Len2:=BARSLAST(not(cd2));//绿色持续周期 BBIxc:=cross(BBI,l); BBIsc:=cross(h,BBI); SPEAK(count(BBIxc,Len1)=1 and BBIxc and cd1,\'平多\'); SPEAK( count(BBIsc,Len2)=1 and BBIsc and cd2,\'平空\'); 加上上面代码试下。
|
-- 作者:liyuan0050 -- 发布时间:2020/10/9 17:28:55 -- 老师,没有“平多”“平空”的文字提示! |
-- 作者:FireScript -- 发布时间:2020/10/10 8:36:03 -- 最后2行替换下试下。 DRAWTEXT(count(BBIxc,Len1)=1 and BBIxc and cd1,h,\'平多\',COLORRED);
DRAWTEXT( count(BBIsc,Len2)=1 and BBIsc and cd2,h,\'平空\',COLORGREEN); |
-- 作者:liyuan0050 -- 发布时间:2020/10/10 20:25:43 -- 老师好,在这个提示“平多”和“平空”的时候,怎么加入声音提示? |
-- 作者:liyuan0050 -- 发布时间:2020/10/11 21:19:02 -- 老师我会了,写好了,谢谢老师!! |