[求助]麻烦老师帮我分析一下

 麻烦老师帮我改一下代码,代码里面融合了3个标注分别是紫色,白色和红色的数值标注,紫色的标注有时候显示有时不显示,比如棕榈油2205合约21点02分的1分钟周期,和21点03分的1分钟周期。 单独用紫色算法的代码的话显示正常。请帮我分析一下融合后的代码为什么有时不显示紫色标注。 ​​​


1//

SHORT:=12;
LONG:=26;
M:=9;

DIFF : EMA(CLOSE,SHORT) – EMA(CLOSE,LONG);
DEA : EMA(DIFF,M);
MACD:2*(DIFF-DEA),COLORSTICK;

X:=IF(ISLASTBAR,REF(C,1),C);

DIFF 1: =EMA(X,SHORT) – EMA(X,LONG);
DEA 1: =EMA(DIFF,M);
MACD1:=2*(DIFF1-DEA1),COLORSTICK;

T1:BACKSET(ISLASTBAR,2),NODRAW;

Y:IF(T1,REF(C,1),C),NODRAW;

DIFF 2: =EMA(Y,SHORT) – EMA(Y,LONG);
DEA 2: =EMA(DIFF,M);
MACD2:=2*(DIFF2-DEA2),COLORSTICK,COLORYELLOW;

MACD2,NODRAW;

STICKLINE1(ISLASTBAR,MACD1,MACD1,3,0),COLORYELLOW;
//VERTLINE(DAYBARPOS=1,COLORWHITE),DOT;
P0:=ABS(MACD-REF(MACD,1))/ABS(REF(MACD,1)-REF(MACD,2)),NODRAW;
P:IF(ISNULL(P0)||P0=0,VALUEWHEN(NOT(ISNULL(P0)||P0=0),P0),P0),NODRAW;
AA:=IF(C<>REF(C,1),ABS(C-REF(C,1)),MINPRICE);
BB:=IF(REF(C,1)<>REF(C,2),ABS(REF(C,1)-REF(C,2)),MINPRICE);
P1:(AA/MINPRICE)/(BB/MINPRICE),NODRAW;

P3:P,NODRAW;
P4:=ABS(MACD-MACD1)/ABS(REF(MACD,1)-REF(MACD,2)),NODRAW;

DRAWSHIFTNUMBER(ISLASTBAR AND P4<=P1,MACD,P1/P4,2,COLORMAGENTA,0,4),ALIGN0,FONTSIZE20;

// DRAWTEXT(ISLASTBAR AND P>P1,MACD,'柱线比:'),ALIGN2,FONTSIZE20,COLORRED;
//DRAWTEXT(ISLASTBAR AND P<=P1,MACD,'柱线比:'),ALIGN2,FONTSIZE20,COLORWHITE ;

//DRAWSHIFTNUMBER(ISLASTBAR AND P>P1,MACD,P/P1,2,COLORRED,1,0),ALIGN0,FONTSIZE20;
DRAWSHIFTNUMBER(ISLASTBAR AND P<=P1,L,P1/P,2,COLORRED,0,0),ALIGN0,FONTSIZE20;

//DRAWSHIFTNUMBER(T1=1 AND REF(T1,1)=0 AND P3>P1,MACD,P3/P1,2,COLORWHITE,0,0),ALIGN2,FONTSIZE20;
DRAWSHIFTNUMBER(REFX(ISLASTBAR,1) AND P3<=P1,L,P1/P3,2,COLORWHITE,0,0),ALIGN2,FONTSIZE20;




2//

SHORT:=12;

LONG:=26;
M:=9;

DIFF : EMA(CLOSE,SHORT) – EMA(CLOSE,LONG);
DEA  : EMA(DIFF,M);
MACD:2*(DIFF-DEA),COLORSTICK;
X:=IF(ISLASTBAR,REF(C,1),C);
DIFF 1: =EMA(X,SHORT) – EMA(X,LONG);
DEA  1: =EMA(DIFF,M);
MACD1:=2*(DIFF1-DEA1),COLORSTICK;
T1:BACKSET(ISLASTBAR,2),NODRAW;
Y:IF(T1,REF(C,1),C),NODRAW;
DIFF 2: =EMA(Y,SHORT) – EMA(Y,LONG);
DEA  2: =EMA(DIFF,M);
MACD2:=2*(DIFF2-DEA2),COLORSTICK,COLORYELLOW;
MACD2,NODRAW;
STICKLINE1(ISLASTBAR,MACD1,MACD1,3,0),COLORYELLOW;
//VERTLINE(DAYBARPOS=1,COLORWHITE),DOT;
P:ABS(MACD-REF(MACD,1))/ABS(REF(MACD,1)-REF(MACD,2)),NODRAW; 
AA:=IF(C<>REF(C,1),ABS(C-REF(C,1)),MINPRICE);
BB:=IF(REF(C,1)<>REF(C,2),ABS(REF(C,1)-REF(C,2)),MINPRICE);
P1:(AA/MINPRICE)/(BB/MINPRICE),NODRAW; 
P4:=ABS(MACD-MACD1)/ABS(REF(MACD,1)-REF(MACD,2)),NODRAW;
P3:ABS(MACD-REF(MACD,1))/ABS(REF(MACD,1)-REF(MACD,2)),NODRAW; 
DRAWSHIFTNUMBER(ISLASTBAR AND P4>P1,MACD,P4/P1,2,COLORMAGENTA,0,4),ALIGN0,FONTSIZE20;
// DRAWTEXT(ISLASTBAR AND P>P1,MACD,'柱线比:'),ALIGN2,FONTSIZE20,COLORRED; 
//DRAWTEXT(ISLASTBAR AND P<=P1,MACD,'柱线比:'),ALIGN2,FONTSIZE20,COLORWHITE ;
DRAWSHIFTNUMBER(ISLASTBAR AND P>P1,MACD,P/P1,2,COLORRED,1,0),ALIGN0,FONTSIZE20;
//DRAWSHIFTNUMBER(ISLASTBAR AND P<=P1,MACD,P1/P,2,COLORWHITE,0,0),ALIGN0,FONTSIZE20;
DRAWSHIFTNUMBER(REFX(ISLASTBAR,1)  AND P3>P1,MACD,P3/P1,2,COLORWHITE,0,0),ALIGN2,FONTSIZE20;
//DRAWSHIFTNUMBER(T1=1 AND REF(T1,1)=0  AND P3<=P1,MACD,P1/P3,2,COLORWHITE,0,0),ALIGN2,FONTSIZE20;

 

[此问答已经被作者于2022/3/20 13:26:28编辑过]

(来源:文华财经)

领主 管理员

热门评论
:
该帖子评论已关闭
图片审查中...
编辑答案: 我的回答: 最多上传一张图片和一个附件
x
x
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索