以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]老师,请把这个代码改一下用在金字塔中  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=161809)

--  作者:zpcatv
--  发布时间:2018/3/2 11:17:18
--  [求助]老师,请把这个代码改一下用在金字塔中
FSHORT:=30;
FLONG:=60;
乾坤线:EMA(CLOSE,FLONG),COLORYELLOW,LINETHICK2;
操盘线:=EMA(CLOSE,FSHORT),COLORWHITE,LINETHICK2;
多线:IFF(操盘线>乾坤线,操盘线 ,DRAWNULL),COLORRED,LINETHICK2;
空线:IFF(操盘线<=乾坤线,操盘线,DRAWNULL),COLORBLUE,LINETHICK2;
买信号:=REF(操盘线,1)<=REF(乾坤线,1) AND 操盘线>乾坤线;
卖信号:=REF(操盘线,1)>=REF(乾坤线,1) AND 操盘线<乾坤线;
分时震荡线:=100*(C-LLV(CLOSE,300))/(HHV(CLOSE,300)-LLV(CLOSE,300)),COLORWHITE;
{DRAWICON(买信号,乾坤线,90),ALIGN1;}
{DRAWICON(卖信号,操盘线,91),ALIGN2;}
信号长度:=BARSLAST(买信号 OR 卖信号)+1;
前期下跌长度:=BARSLAST(卖信号)+1;
前期上涨长度:=BARSLAST(买信号)+1;

价格超买:=EXIST(分时震荡线==100,前期上涨长度);
价格超卖:=EXIST(分时震荡线==0,前期下跌长度);
回涨初期:=COUNT(分时震荡线==100,前期下跌长度)<=2;
回跌初期:=COUNT(分时震荡线==0,前期上涨长度)<=2;

星级买点:=买信号 AND 价格超卖 AND 回涨初期;
星级卖点:=卖信号 AND 价格超买 AND 回跌初期;

五星B:=星级买点 AND 分时震荡线==100;
五星S:=星级卖点 AND 分时震荡线==0,NODRAW;
四星B:=星级买点 AND 分时震荡线>=90 AND 分时震荡线<100;
四星S:=星级卖点 AND 分时震荡线<=10 AND 分时震荡线>0;
三星B:=星级买点 AND 分时震荡线>=80 AND 分时震荡线<90;
三星S:=星级卖点 AND 分时震荡线<=20 AND 分时震荡线>10;

B5:=买信号 AND COUNT(五星B,10);
S5:=卖信号 AND COUNT(五星S,10);
B4:=买信号 AND COUNT(四星B,10);
S4:=卖信号 AND COUNT(四星S,10);
B3:=买信号 AND COUNT(三星B,10);
S3:=卖信号 AND COUNT(三星S,10);

DRAWTEXT(B5,乾坤线,\'★\'),COLOR0000FF;
DRAWTEXT(B4,乾坤线,\'★\'),COLOR8000FF;
DRAWTEXT(B3,乾坤线,\'★\'),COLORC080FF;
DRAWTEXT(S5,操盘线,\'☆\'), COLOR00FF00;
DRAWTEXT(S5,操盘线,\'☆\'), COLOR80FF80;
DRAWTEXT(S5,操盘线,\'☆\'), COLOR40FF00;


DRAWNUMBER(ISLASTBAR,C,C),COLORWHITE;

--  作者:FireScript
--  发布时间:2018/3/2 13:10:59
--  

只能让它可以通过编译。

大部分语法是通用的,少数函数不知道是否有差异,这个我也搞不清楚。

如果要显示某条线直接把:=换成:就可以了。比如

五星B:星级买点 AND 分时震荡线==100;”这样 去掉=号。我就不一一改了。

 

FSHORT:=30;
FLONG:=60;
乾坤线:EMA(CLOSE,FLONG),COLORYELLOW,LINETHICK2;
操盘线:=EMA(CLOSE,FSHORT),COLORWHITE,LINETHICK2;
多线:IFF(操盘线>乾坤线,操盘线 ,DRAWNULL),COLORRED,LINETHICK2;
空线:IFF(操盘线<=乾坤线,操盘线,DRAWNULL),COLORBLUE,LINETHICK2;
买信号:=REF(操盘线,1)<=REF(乾坤线,1) AND 操盘线>乾坤线;
卖信号:=REF(操盘线,1)>=REF(乾坤线,1) AND 操盘线<乾坤线;
分时震荡线:=100*(C-LLV(CLOSE,300))/(HHV(CLOSE,300)-LLV(CLOSE,300)),COLORWHITE;
{DRAWICON(买信号,乾坤线,90),ALIGN1;}
{DRAWICON(卖信号,操盘线,91),ALIGN2;}
信号长度:=BARSLAST(买信号 OR 卖信号)+1;
前期下跌长度:=BARSLAST(卖信号)+1;
前期上涨长度:=BARSLAST(买信号)+1;


价格超买:=EXIST(分时震荡线=100,前期上涨长度);
价格超卖:=EXIST(分时震荡线=0,前期下跌长度);
回涨初期:=COUNT(分时震荡线=100,前期下跌长度)<=2;
回跌初期:=COUNT(分时震荡线=0,前期上涨长度)<=2;


星级买点:=买信号 AND 价格超卖 AND 回涨初期;
星级卖点:=卖信号 AND 价格超买 AND 回跌初期;


五星B:=星级买点 AND 分时震荡线=100;
五星S:=星级卖点 AND 分时震荡线=0,NODRAW;
四星B:=星级买点 AND 分时震荡线>=90 AND 分时震荡线<100;
四星S:=星级卖点 AND 分时震荡线<=10 AND 分时震荡线>0;
三星B:=星级买点 AND 分时震荡线>=80 AND 分时震荡线<90;
三星S:=星级卖点 AND 分时震荡线<=20 AND 分时震荡线>10;


B5:=买信号 AND COUNT(五星B,10);
S5:=卖信号 AND COUNT(五星S,10);
B4:=买信号 AND COUNT(四星B,10);
S4:=卖信号 AND COUNT(四星S,10);
B3:=买信号 AND COUNT(三星B,10);
S3:=卖信号 AND COUNT(三星S,10);


DRAWTEXT(B5,乾坤线,\'★\'),COLOR0000FF;
DRAWTEXT(B4,乾坤线,\'★\'),COLOR8000FF;
DRAWTEXT(B3,乾坤线,\'★\'),COLORC080FF;
DRAWTEXT(S5,操盘线,\'☆\'), COLOR00FF00;
DRAWTEXT(S5,操盘线,\'☆\'), COLOR80FF80;
DRAWTEXT(S5,操盘线,\'☆\'), COLOR40FF00;

 


DRAWNUMBER(ISLASTBAR,C,C,7),COLORWHITE;