等级: 免费版
- 注册:
- 2021-6-5
- 曾用名:
|
楼主 |
发表于 2023-2-2 08:58
|
显示全部楼层
技术009 发表于 2023-1-30 16:54
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
input:q(74,1,500,1);//sx点输出的均线参数 你可以调整 ...
重新做这么多信号
要的是背离点,哪来这么多信号。
ma10:=ma(c,10);
hx:="T1.showH",COLORRED;
lx:="T1.showL",COLORGREEN;
lzh:="T1.lzh";
hzl:="T1.hzl";
LEN1:=BARSLAST(lzh)+1;
LEN2:=BARSLAST(hzl)+1;
redV:=if(VALID(hx),hx,0),NODRAW;
redH_location:=HHVBARS(redV,len1);
greenV:=if(VALID(lx),lx,1000000),NODRAW;
greenL_location:=LLVBARS(greenV,LEN2);
S1:=BACKSET(hzl,redH_location+1);
S2:=BACKSET(lzh,greenL_location+1);
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
input:q(74,1,500,1);//sx点输出的均线参数 你可以调整这个参数
diff :=ema(close,s) - ema(close,p);
dea :=ema(diff,m);
macd1 :=2*(diff-dea), colorstick;
LENS2_1:=SUMBARS(cross(s2,0),1);
LENS2_2:=SUMBARS(cross(s2,0),2);
LENS1_1:=SUMBARS(cross(s1,0),1);
BL:REF(L,LENS2_1-1)<REF(L,LENS2_2-1) AND REF(LLV(MACD1,LENS1_1),LENS2_1-1)>REF(LLV(MACD1,LENS1_1),LENS2_2-1);//背离
drawicon(BL,L,2);//标记下背离位置
ma10:=ma(c,10),colorwhite;
maq:=ma(c,q);
red:if(c>ma10,ma10,drawnull),colorred;
majc:=cross(c,ma10);
len:=barslast(majc);
sx:=filterx(macd1>ref(macd1,1) and macd1>0 and c>ma10,len+1);//c>ma10 区间 macd值最大位置
//drawicon(sx,h,1);//标记下sx位置
lenx:=barslast(sx=1);
ma10_x:=if(lenx<len and c>ma10 AND BL,maq,drawnull),coloryellow;//从sx点到c>ma10 结束的区间 绘制黄色maq均线
//s1,s2是之前那部分代码里有过定义的。重点看下BL的定义是否满足。然后再看后续的均线输出。
|
|