以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  
老师我会了,写好了,谢谢老师!!