-- 作者:llz1124
-- 发布时间:2020/12/6 17:05:48
-- 烦请老师帮忙修改一下
以下含有未来函数的画线代码在金字塔中编译可以通过,但是显示结果不对,烦请老师帮忙修改一下。另外请在高低点处 加上数值显示。比如数值20处,显示高点值3728.
E1:=REF(HIGH,5)=HHV(HIGH,11);
E2:=FILTER(E1,5); E3:=BACKSET(E2,6); E4:=FILTER(E3,5); E5:=MA(CLOSE,5); E6:=MA(CLOSE,10); E7:=REF(HIGH,5)=HHV(HIGH,11); E8:=REF(LOW,5)=LLV(LOW,11); E9:=BACKSET(E7,6)>BACKSET(E7,5); E10:=BACKSET(E8,6)>BACKSET(E8,5); E11:=IF(BARSLAST(E9)=BARSLAST(E10) AND E5>E6,E9,IF(BARSLAST(E10)>BARSLAST(E9),E9,0)); E12:=IF(BARSLAST(E9)=BARSLAST(E10) AND E6>E5,E10,IF(BARSLAST(E9)>BARSLAST(E10),E10,0)); E13:=E11 AND HIGH=HHV(HIGH,BARSLAST(E12)); E14:=E12 AND LOW=LLV(LOW,BARSLAST(E11)); E15:=IF(E13,HIGH,DRAWNULL); E16:=IF(E14,LOW,DRAWNULL); E17:=LOW>REF(HIGH,1) AND DAY!=REF(DAY,1); E18:=HIGH<REF(LOW,1) AND DAY!=REF(DAY,1); E19:=REF(LOW,BARSLAST(E17)); E20:=REF(HIGH,BARSLAST(E18)); E21:=REF(HIGH,BARSLAST(E13)); E22:=REF(LOW,BARSLAST(E13)); E23:=REF(HIGH,BARSLAST(E13)+1); E24:=REF(LOW,BARSLAST(E13)+1); E25:=REF(HIGH,BARSLAST(E13)+2); E26:=REF(LOW,BARSLAST(E13)+2); E27:=REF(HIGH,BARSLAST(E14)); E28:=REF(LOW,BARSLAST(E14)); E29:=REF(HIGH,BARSLAST(E14)+1); E30:=REF(LOW,BARSLAST(E14)+1); E31:=REF(HIGH,BARSLAST(E14)+2); E32:=REF(LOW,BARSLAST(E14)+2); E33:=IF(E22<=E24,E25,E23); E34:=IF(E23<E22,E22,IF(E22<=E24,E26,E24)); E35:=IF(E30>E27,E27,IF(E27>=E29,E31,E29)); E36:=IF(E27>=E29,E32,E30); E37:=E21>E35 AND E13; E38:=E28<E34 AND E14; E39:=E37 AND E21>E27 AND E22>E28 AND E24>E28; E40:=E38 AND E28<E22 AND E27<E21 AND E29<E21; E41:=HIGH<=REF(HIGH,1) AND LOW>=REF(LOW,1) OR (HIGH>=REF(HIGH,1) AND LOW<=REF(LOW,1)); E42:=COUNT(E41,BARSLAST(E14)); E43:=COUNT(E41,BARSLAST(E13)); E44:=COUNT(E17,BARSLAST(E14)); E45:=COUNT(E18,BARSLAST(E13)); E46:=IF(E42>0,E42+2,IF(E43,E43+2,3)); E47:=IF(E44,E46-E44,IF(E45,E46-E45,E46)); E48:=E39 AND BARSLAST(E40)>E47; E49:=E40 AND BARSLAST(E39)>E47; E50:=E13 AND REF(HIGH,BARSLAST(E13))>=REF(HIGH,BARSLAST(E48)) AND BARSLAST(E49)>BARSLAST(E48) OR (E37 AND COUNT(E17,BARSLAST(E38))>0 AND REF(HIGH,BARSLAST(E37))>REF(HIGH,BARSLAST(E48))); E51:=E14 AND REF(LOW,BARSLAST(E14))<=REF(LOW,BARSLAST(E49)) AND BARSLAST(E48)>BARSLAST(E49) OR (E38 AND COUNT(E18,BARSLAST(E37))>0 AND REF(LOW,BARSLAST(E38))<REF(HIGH,BARSLAST(E49))); E52:=IF(BARSLAST(E51)>BARSLAST(E50),REF(HIGH,BARSLAST(E50)),REF(HIGH,BARSLAST(E51))); E53:=IF(BARSLAST(E50)>BARSLAST(E51),REF(LOW,BARSLAST(E51)),REF(LOW,BARSLAST(E50))); E54:=E50 AND HIGH=HHV(E52,BARSLAST(E51)+1) AND HIGH>REF(HIGH,1) AND BARSLAST(E51)>BARSLAST(E50); E55:=E4 AND LOW=LLV(E53,BARSLAST(E50)+1) AND LOW<REF(LOW,1) AND BARSLAST(E50)>BARSLAST(E51); E56:=E54 OR (E13 AND REF(HIGH,BARSLAST(E13))>REF(HIGH,BARSLAST(E54)) AND BARSLAST(E55)>BARSLAST(E54)); E57:=E55 OR (E14 AND REF(LOW,BARSLAST(E14))<REF(LOW,BARSLAST(E55)) AND BARSLAST(E54)>BARSLAST(E55)); 高点:IF(E48,HIGH,DRAWNULL),POINTDOT,COLORGREEN,LINETHICK4; 低点:IF(E49,LOW,DRAWNULL),POINTDOT,COLORYELLOW,LINETHICK4; 上:DRAWLINE(E49,LOW,E48,HIGH,0),COLORGRAY,LINETHICK2;
此主题相关图片如下:1.png

此主题相关图片如下:2.png

下:DRAWLINE(E48,HIGH,E49,LOW,0),COLORGRAY,LINETHICK2; E58:=BARSLAST(E48); E59:=BARSLAST(E49); DRAWNUMBER(E49,LOW,E58,0),COLORYELLOW; DRAWNUMBER(E48,HIGH*1.005,E59,0),COLORGREEN;
DRAWNUMBER(ISLASTBAR,IF(BARSLAST(E48)>BARSLAST(E49),LOW,HIGH*1.005),MIN(E58,E59),0),COLORMAGENTA; //----------------------------------------------------------------------------------------------------------------------------------- E1赋值:5日前的最高价=11日内最高价的最高值 E2赋值:E1的5日过滤 E3赋值:若E2则将最近6周期置为1 E4赋值:E3的5日过滤 E5赋值:收盘价的5日简单移动平均 E6赋值:收盘价的10日简单移动平均 E7赋值:5日前的最高价=11日内最高价的最高值 E8赋值:5日前的最低价=11日内最低价的最低值 E9赋值:若E7则将最近6周期置为1>若E7则将最近5周期置为1 E10赋值:若E8则将最近6周期置为1>若E8则将最近5周期置为1 E11赋值:如果上次E9距今天数=上次E10距今天数ANDE5>E6,返回E9,否则返回如果上次E10距今天数>上次E9距今天数,返回E9,否则返回0 E12赋值:如果上次E9距今天数=上次E10距今天数ANDE6>E5,返回E10,否则返回如果上次E9距今天数>上次E10距今天数,返回E10,否则返回0 E13赋值:E11 AND 最高价=上次E12距今天数日内最高价的最高值 E14赋值:E12 AND 最低价=上次E11距今天数日内最低价的最低值 E15赋值:如果E13,返回最高价,否则返回无效数 E16赋值:如果E14,返回最低价,否则返回无效数 E17赋值:最低价>1日前的最高价 AND 日不等于1日前的日 E18赋值:最高价<1日前的最低价 AND 日不等于1日前的日 E19赋值:上次E17距今天数日前的最低价 E20赋值:上次E18距今天数日前的最高价 E21赋值:上次E13距今天数日前的最高价 E22赋值:上次E13距今天数日前的最低价 E23赋值:上次E13距今天数+1日前的最高价 E24赋值:上次E13距今天数+1日前的最低价 E25赋值:上次E13距今天数+2日前的最高价 E26赋值:上次E13距今天数+2日前的最低价 E27赋值:上次E14距今天数日前的最高价 E28赋值:上次E14距今天数日前的最低价 E29赋值:上次E14距今天数+1日前的最高价 E30赋值:上次E14距今天数+1日前的最低价 E31赋值:上次E14距今天数+2日前的最高价 E32赋值:上次E14距今天数+2日前的最低价 E33赋值:如果E22<=E24,返回E25,否则返回E23 E34赋值:如果E23<E22,返回E22,否则返回如果E22<=E24,返回E26,否则返回E24 E35赋值:如果E30>E27,返回E27,否则返回如果E27>=E29,返回E31,否则返回E29 E36赋值:如果E27>=E29,返回E32,否则返回E30 E37赋值:E21>E35 AND E13 E38赋值:E28<E34 AND E14 E39赋值:E37 AND E21>E27 AND E22>E28 AND E24>E28 E40赋值:E38 AND E28<E22 AND E27<E21 AND E29<E21 E41赋值:最高价<=1日前的最高价 AND 最低价>=1日前的最低价 OR (最高价>=1日前的最高价 AND 最低价<=1日前的最低价) E42赋值:统计上次E14距今天数日中满足E41的天数 E43赋值:统计上次E13距今天数日中满足E41的天数 E44赋值:统计上次E14距今天数日中满足E17的天数 E45赋值:统计上次E13距今天数日中满足E18的天数 E46赋值:如果E42>0,返回E42+2,否则返回如果E43,返回E43+2,否则返回3 E47赋值:如果E44,返回E46-E44,否则返回如果E45,返回E46-E45,否则返回E46 E48赋值:E39 AND 上次E40距今天数>E47 E49赋值:E40 AND 上次E39距今天数>E47 E50赋值:E13 AND 上次E13距今天数日前的最高价>=上次E48距今天数日前的最高价 AND 上次E49距今天数>上次E48距今天数 OR (E37 AND 统计上次E38距今天数日中满足E17的天数>0 AND 上次E37距今天数日前的最高价>上次E48距今天数日前的最高价) E51赋值:E14 AND 上次E14距今天数日前的最低价<=上次E49距今天数日前的最低价 AND 上次E48距今天数>上次E49距今天数 OR (E38 AND 统计上次E37距今天数日中满足E18的天数>0 AND 上次E38距今天数日前的最低价<上次E49距今天数日前的最高价) E52赋值:如果上次E51距今天数>上次E50距今天数,返回上次E50距今天数日前的最高价,否则返回上次E51距今天数日前的最高价 E53赋值:如果上次E50距今天数>上次E51距今天数,返回上次E51距今天数日前的最低价,否则返回上次E50距今天数日前的最低价 E54赋值:E50 AND 最高价=上次E51距今天数+1日内E52的最高值 AND 最高价>1日前的最高价 AND 上次E51距今天数>上次E50距今天数 E55赋值:E4 AND 最低价=上次E50距今天数+1日内E53的最低值 AND 最低价<1日前的最低价 AND 上次E50距今天数>上次E51距今天数 E56赋值:E54 OR (E13 AND 上次E13距今天数日前的最高价>上次E54距今天数日前的最高价 AND 上次E55距今天数>上次E54距今天数) E57赋值:E55 OR (E14 AND 上次E14距今天数日前的最低价<上次E55距今天数日前的最低价 AND 上次E54距今天数>上次E55距今天数) 输出高点:如果E48,返回最高价,否则返回无效数,POINTDOT,画绿色,线宽为4 输出低点:如果E49,返回最低价,否则返回无效数,POINTDOT,画黄色,线宽为4 输出上:当满足条件E49时,在最低价位置画直线起点,当满足条件E48时,在最高价位置画直线终点,0表示是否延长.,画深灰色,线宽为2 输出下:当满足条件E48时,在最高价位置画直线起点,当满足条件E49时,在最低价位置画直线终点,0表示是否延长.,画深灰色,线宽为2 E58赋值:上次E48距今天数 E59赋值:上次E49距今天数 当满足条件E49时,在最低价位置书写数字,画黄色 当满足条件E48时,在最高价*1.005位置书写数字,画绿色 当满足条件是否最后一个周期时,在如果上次E48距今天数>上次E49距今天数,返回最低价,否则返回最高价*1.005位置书写数字,画洋红色
|