通达信坡度几何副图公式 源码
HJ_1:=BACKSET(LOWRANGE(LOW)>=5,4);
HJ_2:=BACKSET(HJ_1=0 AND REF(HJ_1,1)=1,2);
HJ_3:=IF(HJ_2=1 AND REF(HJ_2,1)=0,(-1),0);
HJ_4:=BACKSET(TOPRANGE(HIGH)>=5,4);
HJ_5:=BACKSET(HJ_4=0 AND REF(HJ_4,1)=1,2);
HJ_6:=IF(HJ_5=1 AND REF(HJ_5,1)=0,1,0);
HJ_7:=REF(BARSLAST(HJ_6=1),1)+1;
HJ_8:=REF(BARSLAST(HJ_3=(-1)),1)+1;
HJ_9:=LOWRANGE(LOW);
HJ_10:=TOPRANGE(HIGH);
HJ_11:=IF(HJ_3=(-1) AND NOT(HJ_6=1),(-1),IF(NOT(HJ_3=(-1)) AND HJ_6=1,1,IF(HJ_3=(-1) AND HJ_6=1,IF(HJ_7>HJ_8,1,(-1)),0)));
HJ_12:=IF(HJ_3=(-1) AND REF(HJ_7,1)>REF(HJ_8,1) AND LLV(LOW,HJ_7+1)<REF(LLV(LOW,HJ_7+1),1),(-1),0);
HJ_13:=IF(HJ_3=(-1) AND REF(HJ_7,1)<REF(HJ_8,1) AND HJ_7>=4,(-1),0);
HJ_14:=HJ_7<4;{股票指标网}
HJ_15:=HJ_3=(-1) AND REF(HJ_7,1)<REF(HJ_8,1);
HJ_16:=LOW<REF(LOW,HJ_8) OR HJ_9>REF(HJ_10,HJ_7);
HJ_17:=HJ_14 AND HJ_15 AND HJ_16;
HJ_18:=IF(HJ_12=(-1) OR HJ_13=(-1) OR HJ_17 AND HJ_11=(-1),(-1),0);
HJ_19:=IF(HJ_6=1 AND REF(HJ_8,1)>REF(HJ_7,1) AND HHV(HIGH,HJ_8+1)>REF(HHV(HIGH,HJ_8+1),1),1,0);
HJ_20:=IF(HJ_6=1 AND REF(HJ_8,1)<REF(HJ_7,1) AND HJ_8>=4,1,0);
HJ_21:=HJ_8<4 OR REF(HJ_18,HJ_8)=0;
HJ_22:=HJ_6=1 AND REF(HJ_8,1)<REF(HJ_7,1);
HJ_23:=HIGH>REF(HIGH,HJ_7) OR HJ_10>REF(HJ_9,HJ_8);
HJ_24:=HJ_21 AND HJ_22 AND HJ_23;
HJ_25:=IF(HJ_19=1 OR HJ_20=1 OR HJ_24 AND HJ_11=1,1,0);
HJ_26:=REF(BARSLAST(HJ_25=1),1)+1;
HJ_27:=REF(BARSLAST(HJ_18=(-1)),1)+1;
HJ_28:=IF(HJ_18=(-1) AND REF(HJ_26,1)>REF(HJ_27,1) AND LLV(LOW,HJ_26+1)<REF(LLV(LOW,HJ_26+1),1),(-1),0);
HJ_29:=IF(HJ_18=(-1) AND REF(HJ_26,1)<REF(HJ_27,1) AND HJ_26>=4,(-1),0);
HJ_30:=HJ_26<4 OR REF(HJ_25,HJ_26)=0;
HJ_31:=HJ_18=(-1) AND REF(HJ_26,1)<REF(HJ_27,1);
HJ_32:=LOW<REF(LOW,HJ_27) OR HJ_9>REF(HJ_10,HJ_26);
HJ_33:=HJ_30 AND HJ_31 AND HJ_32;
HJ_34:=IF(HJ_28=(-1) OR HJ_29=(-1) OR HJ_33,(-1),0);
HJ_35:=IF(HJ_25=1 AND REF(HJ_27,1)>REF(HJ_26,1) AND HHV(HIGH,HJ_27+1)>REF(HHV(HIGH,HJ_27+1),1),1,0);
HJ_36:=IF(HJ_25=1 AND REF(HJ_27,1)<REF(HJ_26,1) AND HJ_27>=4,1,0);
HJ_37:=HJ_27<4 OR REF(HJ_18,HJ_27)=0;
HJ_38:=HJ_25=1 AND REF(HJ_27,1)<REF(HJ_26,1);
HJ_39:=HIGH>REF(HIGH,HJ_26) OR HJ_10>REF(HJ_9,HJ_27);
HJ_40:=HJ_37 AND HJ_38 AND HJ_39;
HJ_41:=IF(HJ_35=1 OR HJ_36=1 OR HJ_40,1,0);
HJ_42:=REF(BARSLAST(HJ_41=1),1)+1;
HJ_43:=REF(BARSLAST(HJ_34=(-1)),1)+1;
HJ_44:=IF(HJ_34=(-1) AND REF(HJ_42,1)>REF(HJ_43,1) AND LLV(LOW,HJ_42+1)<REF(LLV(LOW,HJ_42+1),1),(-1),0);
HJ_45:=IF(HJ_34=(-1) AND REF(HJ_42,1)<REF(HJ_43,1) AND HJ_42>=4,(-1),0);
HJ_46:=HJ_42<4 OR REF(HJ_41,HJ_42)=0;
HJ_47:=HJ_34=(-1) AND REF(HJ_42,1)<REF(HJ_43,1);
HJ_48:=LOW<REF(LOW,HJ_43) OR HJ_9>REF(HJ_10,HJ_42);
HJ_49:=HJ_46 AND HJ_47 AND HJ_48;
HJ_50:=IF(HJ_44=(-1) OR HJ_45=(-1) OR HJ_49,(-1),0);
HJ_51:=IF(HJ_41=1 AND REF(HJ_43,1)>REF(HJ_42,1) AND HHV(HIGH,HJ_43+1)>REF(HHV(HIGH,HJ_43+1),1),1,0);
HJ_52:=IF(HJ_41=1 AND REF(HJ_43,1)<REF(HJ_42,1) AND HJ_43>=4,1,0);
HJ_53:=HJ_43<4 OR REF(HJ_34,HJ_43)=0;
HJ_54:=HJ_41=1 AND REF(HJ_43,1)<REF(HJ_42,1);
HJ_55:=HIGH>REF(HIGH,HJ_42) OR HJ_10>REF(HJ_9,HJ_43);
HJ_56:=HJ_53 AND HJ_54 AND HJ_55;
HJ_57:=IF(HJ_51=1 OR HJ_52=1 OR HJ_56,1,0);
HJ_58:=REF(BARSLAST(HJ_57=1),1)+1;
HJ_59:=REF(BARSLAST(HJ_50=(-1)),1)+1;
HJ_60:=REF(BARSLAST(HJ_57=1),BARSLAST(HJ_57=1)+1)+BARSLAST(HJ_57=1)+1;
HJ_61:=REF(BARSLAST(HJ_50=(-1)),BARSLAST(HJ_50=(-1))+1)+BARSLAST(HJ_50=(-1))+1;
HJ_62:=BACKSET(HJ_50=(-1) AND HJ_58<HJ_59,HJ_58+1);
HJ_63:=BACKSET(HJ_50=(-1) AND HJ_58>HJ_59,HJ_61+1);
HJ_64:=BACKSET(HJ_57=1 AND HJ_58>HJ_59,HJ_59+1);
HJ_65:=BACKSET(HJ_57=1 AND HJ_58<HJ_59,HJ_60+1);
HJ_66:=BACKSET(HJ_58>HJ_59 AND HJ_59>=4 AND HIGH>=HHV(HIGH,HJ_59) AND LOW>LLV(LOW,HJ_59+1) AND TOPRANGE(HIGH)>=5,HJ_59+1);
HJ_67:=BACKSET(HJ_58<HJ_59 AND HJ_58>=4 AND LOW<=LLV(LOW,HJ_58) AND HIGH<HHV(HIGH,HJ_58+1) AND LOWRANGE(LOW)>=5,HJ_58+1);
HJ_68:=IF(HJ_50=(-1) AND (HJ_62+HJ_64=2 OR HJ_63+HJ_64=2 OR HJ_62+HJ_65=2 OR HJ_62+HJ_66=2 OR HJ_63+HJ_66=2),(-1),0);
HJ_69:=IF(HJ_57=1 AND (HJ_62+HJ_64=2 OR HJ_63+HJ_64=2 OR HJ_62+HJ_65=2 OR HJ_64+HJ_67=2 OR HJ_65+HJ_67=2),1,0);
HJ_70:=REF(BARSLAST(HJ_68=(-1)),1)+1;
HJ_71:=REF(BARSLAST(HJ_68=(-1)),HJ_70+1)+HJ_70+1;
HJ_72:=REF(BARSLAST(HJ_69=1),1)+1;
HJ_73:=REF(BARSLAST(HJ_69=1),HJ_72+1)+HJ_72+1;
高到低:IF(HJ_68=(-1),ATAN((LOW-REF(HIGH,HJ_72))/REF(HIGH,HJ_72)/HJ_72*100)/3.141593*180,DRAWNULL),CIRCLEDOT,COLORYELLOW;
低到高:IF(HJ_69=1,ATAN((HIGH-REF(LOW,HJ_70))/REF(LOW,HJ_70)/HJ_70*100)/3.141593*180,DRAWNULL),CIRCLEDOT,COLORMAGENTA;
NOTEXT1:DRAWLINE(HJ_69=1,低到高,HJ_68=(-1),高到低,0),COLOR99CCFF;
NOTEXT2:DRAWLINE(HJ_68=(-1),高到低,HJ_69=1,低到高,0),COLOR000066;
NOTEXT涨:PLOYLINE(HJ_69=1,低到高),COLORRED;
NOTEXT跌:PLOYLINE(HJ_68=(-1),高到低),COLORGREEN;
跌坡度:DRAWNUMBER(HJ_68=(-1),高到低*1.3,高到低),COLORYELLOW;
涨坡度:DRAWNUMBER(HJ_69=1,低到高*1.3,低到高),COLORMAGENTA;
HJ_74:=HJ_69=1 AND HIGH>REF(HIGH,HJ_72) AND 低到高<REF(低到高,HJ_72);
HJ_75:=HJ_68=(-1) AND LOW<REF(LOW,HJ_70) AND 高到低>REF(高到低,HJ_70);
DRAWICON(HJ_74,低到高,2);{股票指标网}
DRAWICON(HJ_75,高到低,1);
HJ_76:=IF(NOT(HJ_69=1) AND HJ_72>HJ_70 AND HIGH>=HHV(HIGH,HJ_70) AND BACKSET(ISLASTBAR,HJ_72+1) AND BACKSET(ISLASTBAR,HJ_70+1) AND BACKSET(ISLASTBAR,BARSLAST(HIGH>=HHV(HIGH,HJ_70))+1),1,0);
HJ_77:=IF(NOT(HJ_68=(-1)) AND HJ_72<HJ_70 AND LOW<=LLV(LOW,HJ_72) AND BACKSET(ISLASTBAR,HJ_72+1) AND BACKSET(ISLASTBAR,HJ_70+1) AND BACKSET(ISLASTBAR,BARSLAST(LOW<=LLV(LOW,HJ_72))+1),1,0);
临时高点坡度:IF(HJ_76,ATAN((HIGH-REF(LOW,HJ_70))/REF(LOW,HJ_70)/HJ_70*100)/3.141593*180,DRAWNULL),CIRCLEDOT,COLORMAGENTA;
临时低点坡度:IF(HJ_77,ATAN((LOW-REF(HIGH,HJ_72))/REF(HIGH,HJ_72)/HJ_72*100)/3.141593*180,DRAWNULL),CIRCLEDOT,COLORBLUE;
NOTEXT3:DRAWLINE(HJ_69=1,低到高,HJ_77,临时低点坡度,0),DOTLINE,COLOR99CCFF;
NOTEXT4:DRAWLINE(HJ_68=(-1),高到低,HJ_76,临时高点坡度,0),DOTLINE,COLOR000066;
NOTEXT5:DRAWLINE(HJ_69=1 AND BACKSET(ISLASTBAR,HJ_72+1),低到高,HJ_76,临时高点坡度,0),DOTLINE,COLORRED;
NOTEXT6:DRAWLINE(HJ_68=(-1) AND BACKSET(ISLASTBAR,HJ_70+1),高到低,HJ_77,临时低点坡度,0),DOTLINE,COLORGREEN;
DRAWNUMBER(HJ_77,临时低点坡度*1.3,临时低点坡度),COLORYELLOW;
DRAWNUMBER(HJ_76,临时高点坡度*1.3,临时高点坡度),COLORMAGENTA;
HJ_78:=HJ_76 AND HIGH>REF(HIGH,HJ_72) AND 临时高点坡度<REF(低到高,HJ_72);
HJ_79:=HJ_77 AND LOW<REF(LOW,HJ_70) AND 临时低点坡度>REF(高到低,HJ_70);
DRAWICON(HJ_78,临时高点坡度,2);
DRAWICON(HJ_79,临时低点坡度,1);
{---------------- -------------------}
未来函数检测结果如下:
该公式包含未来函数:BACKSET
解密、编写股票、期货策略请联系QQ或微信同号:88652583
相关股票指标公式
原理解析:
HJ_1赋值:BACKSET(最低价RANGE(最低价)>=5,4)
HJ_2赋值:BACKSET(HJ_1=0 AND 1日前的HJ_1=1,2)
HJ_3赋值:IF(HJ_2=1 AND 1日前的HJ_2=0,(-1),0)
HJ_4赋值:BACKSET(TOPRANGE(最高价)>=5,4)
HJ_5赋值:BACKSET(HJ_4=0 AND 1日前的HJ_4=1,2)
HJ_6赋值:IF(HJ_5=1 AND 1日前的HJ_5=0,1,0)
HJ_7赋值:REF(上次HJ_6=1距今天数,1)+1
HJ_8赋值:REF(上次HJ_3=(-1距今天数),1)+1
HJ_9赋值:最低价RANGE(最低价)
HJ_10:=TOPRANGE(最高价)
HJ_11:=IF(HJ_3=(-1) AND NOT(HJ_6=1),(-1),IF(NOT(HJ_3=(-1)) AND HJ_6=1,1,IF(HJ_3=(-1) AND HJ_6=1,IF(HJ_7>HJ_8,1,(-1)),0)))
HJ_12:=IF(HJ_3=(-1) AND 1日前的HJ_7>1日前的HJ_8 AND HJ_7+1日内最低价最低值
HJ_13:=IF(HJ_3=(-1) AND 1日前的HJ_7<1日前的HJ_8 AND HJ_7>=4,(-1),0)
HJ_14:=HJ_7<4
{股票指标网}
HJ_15:=HJ_3=(-1) AND 1日前的HJ_7<1日前的HJ_8
HJ_16:=最低价HJ_7日前的HJ_10
HJ_17:=HJ_14 AND HJ_15 AND HJ_16
HJ_18:=IF(HJ_12=(-1) OR HJ_13=(-1) OR HJ_17 AND HJ_11=(-1),(-1),0)
HJ_19:=IF(HJ_6=1 AND 1日前的HJ_8>1日前的HJ_7 AND HJ_8+1日内最高价最高值>REF(HJ_8+1日内最高价最高值,1),1,0)
HJ_20:=IF(HJ_6=1 AND 1日前的HJ_8<1日前的HJ_7 AND HJ_8>=4,1,0)
HJ_21:=HJ_8<4 OR HJ_8日前的HJ_18=0
HJ_22:=HJ_6=1 AND 1日前的HJ_8<1日前的HJ_7
HJ_23:=最高价>HJ_7日前的最高价 OR HJ_10>HJ_8日前的HJ_9
HJ_24:=HJ_21 AND HJ_22 AND HJ_23
如果HJ_19=1 OR HJ_20=1 OR HJ_24 AND HJ_11=1返回1否则返回0
HJ_26:=REF(上次HJ_25=1距今天数,1)+1
HJ_27:=REF(上次HJ_18=(-1距今天数),1)+1
HJ_28:=IF(HJ_18=(-1) AND 1日前的HJ_26>1日前的HJ_27 AND HJ_26+1日内最低价最低值
HJ_29:=IF(HJ_18=(-1) AND 1日前的HJ_26<1日前的HJ_27 AND HJ_26>=4,(-1),0)
HJ_30:=HJ_26<4 OR HJ_26日前的HJ_25=0
HJ_31:=HJ_18=(-1) AND 1日前的HJ_26<1日前的HJ_27
HJ_32:=最低价HJ_26日前的HJ_10
HJ_33:=HJ_30 AND HJ_31 AND HJ_32
HJ_34:=IF(HJ_28=(-1) OR HJ_29=(-1) OR HJ_33,(-1),0)
HJ_35:=IF(HJ_25=1 AND 1日前的HJ_27>1日前的HJ_26 AND HJ_27+1日内最高价最高值>REF(HJ_27+1日内最高价最高值,1),1,0)
HJ_36:=IF(HJ_25=1 AND 1日前的HJ_27<1日前的HJ_26 AND HJ_27>=4,1,0)
HJ_37:=HJ_27<4 OR HJ_27日前的HJ_18=0
HJ_38:=HJ_25=1 AND 1日前的HJ_27<1日前的HJ_26
HJ_39:=最高价>HJ_26日前的最高价 OR HJ_10>HJ_27日前的HJ_9
HJ_40:=HJ_37 AND HJ_38 AND HJ_39
如果HJ_35=1 OR HJ_36=1 OR HJ_40返回1否则返回0
HJ_42:=REF(上次HJ_41=1距今天数,1)+1
HJ_43:=REF(上次HJ_34=(-1距今天数),1)+1
HJ_44:=IF(HJ_34=(-1) AND 1日前的HJ_42>1日前的HJ_43 AND HJ_42+1日内最低价最低值
HJ_45:=IF(HJ_34=(-1) AND 1日前的HJ_42<1日前的HJ_43 AND HJ_42>=4,(-1),0)
HJ_46:=HJ_42<4 OR HJ_42日前的HJ_41=0
HJ_47:=HJ_34=(-1) AND 1日前的HJ_42<1日前的HJ_43
HJ_48:=最低价HJ_42日前的HJ_10
HJ_49:=HJ_46 AND HJ_47 AND HJ_48
HJ_50:=IF(HJ_44=(-1) OR HJ_45=(-1) OR HJ_49,(-1),0)
HJ_51:=IF(HJ_41=1 AND 1日前的HJ_43>1日前的HJ_42 AND HJ_43+1日内最高价最高值>REF(HJ_43+1日内最高价最高值,1),1,0)
HJ_52:=IF(HJ_41=1 AND 1日前的HJ_43<1日前的HJ_42 AND HJ_43>=4,1,0)
HJ_53:=HJ_43<4 OR HJ_43日前的HJ_34=0
HJ_54:=HJ_41=1 AND 1日前的HJ_43<1日前的HJ_42
HJ_55:=最高价>HJ_42日前的最高价 OR HJ_10>HJ_43日前的HJ_9
HJ_56:=HJ_53 AND HJ_54 AND HJ_55
如果HJ_51=1 OR HJ_52=1 OR HJ_56返回1否则返回0
HJ_58:=REF(上次HJ_57=1距今天数,1)+1
HJ_59:=REF(上次HJ_50=(-1距今天数),1)+1
HJ_60:=REF(上次HJ_57=1距今天数,上次HJ_57=1距今天数+1)+上次HJ_57=1距今天数+1
HJ_61:=REF(上次HJ_50=(-1距今天数),上次HJ_50=(-1距今天数)+1)+上次HJ_50=(-1距今天数)+1
HJ_62:=BACKSET(HJ_50=(-1) AND HJ_58
HJ_63:=BACKSET(HJ_50=(-1) AND HJ_58>HJ_59,HJ_61+1)
HJ_64:=BACKSET(HJ_57=1 AND HJ_58>HJ_59,HJ_59+1)
HJ_65:=BACKSET(HJ_57=1 AND HJ_58
HJ_66:=BACKSET(HJ_58>HJ_59 AND HJ_59>=4 AND 最高价>=HJ_59日内最高价最高值 AND 最低价>HJ_59+1日内最低价最低值 AND TOPRANGE(最高价)>=5,HJ_59+1)
HJ_67:=BACKSET(HJ_58=4 AND 最低价<=HJ_58日内最低价最低值 AND 最高价=5,HJ_58+1)
HJ_68:=IF(HJ_50=(-1) AND (HJ_62+HJ_64=2 OR HJ_63+HJ_64=2 OR HJ_62+HJ_65=2 OR HJ_62+HJ_66=2 OR HJ_63+HJ_66=2),(-1),0)
HJ_69:=IF(HJ_57=1 AND (HJ_62+HJ_64=2 OR HJ_63+HJ_64=2 OR HJ_62+HJ_65=2 OR HJ_64+HJ_67=2 OR HJ_65+HJ_67=2),1,0)
HJ_70:=REF(上次HJ_68=(-1距今天数),1)+1
HJ_71:=REF(上次HJ_68=(-1距今天数),HJ_70+1)+HJ_70+1
HJ_72:=REF(上次HJ_69=1距今天数,1)+1
HJ_73:=REF(上次HJ_69=1距今天数,HJ_72+1)+HJ_72+1
输出
高到低:IF(HJ_68=(-1),ATAN((最低价-HJ_72日前的最高价)/HJ_72日前的最高价/HJ_72*100)/3.141593*180,DRAWNULL),CIRCLEDOT,画黄色
输出
低到高:IF(HJ_69=1,ATAN((最高价-HJ_70日前的最低价)/HJ_70日前的最低价/HJ_70*100)/3.141593*180,DRAWNULL),CIRCLEDOT,画洋红色
输出
NOTEXT1:DRAWLINE(HJ_69=1,低到高,HJ_68=(-1),高到低,0),COLOR99CCFF
输出
NOTEXT2:DRAWLINE(HJ_68=(-1),高到低,HJ_69=1,低到高,0),COLOR000066
输出
NOTEXT涨:PLOYLINE(HJ_69=1,低到高),画红色
输出
NOTEXT跌:PLOYLINE(HJ_68=(-1),高到低),画绿色
输出
跌坡度:DRAWNUMBER(HJ_68=(-1),高到低*1.3,高到低),画黄色
输出
涨坡度:DRAWNUMBER(HJ_69=1,低到高*1.3,低到高),画洋红色
HJ_74:=HJ_69=1 AND 最高价>HJ_72日前的最高价 AND 低到高
HJ_75:=HJ_68=(-1) AND 最低价HJ_70日前的高到低
当满足条件HJ_74时,在低到高和2之间画图标
当满足条件HJ_75时,在高到低和1之间画图标
HJ_76:=IF(NOT(HJ_69=1) AND HJ_72>HJ_70 AND 最高价>=HJ_70日内最高价最高值 AND BACKSET(ISLASTBAR,HJ_72+1) AND BACKSET(ISLASTBAR,HJ_70+1) AND BACKSET(ISLASTBAR,上次最高价>=HJ_70日内最高价最高值距今天数+1),1,0)
HJ_77:=IF(NOT(HJ_68=(-1)) AND HJ_72输出
临时高点坡度:IF(HJ_76,ATAN((最高价-HJ_70日前的最低价)/HJ_70日前的最低价/HJ_70*100)/3.141593*180,DRAWNULL),CIRCLEDOT,画洋红色
输出
临时低点坡度:IF(HJ_77,ATAN((最低价-HJ_72日前的最高价)/HJ_72日前的最高价/HJ_72*100)/3.141593*180,DRAWNULL),CIRCLEDOT, 画蓝色
输出
NOTEXT3:DRAWLINE(HJ_69=1,低到高,HJ_77,临时低点坡度,0),DOTLINE,COLOR99CCFF
输出
NOTEXT4:DRAWLINE(HJ_68=(-1),高到低,HJ_76,临时高点坡度,0),DOTLINE,COLOR000066
输出
NOTEXT5:DRAWLINE(HJ_69=1 AND BACKSET(ISLASTBAR,HJ_72+1),低到高,HJ_76,临时高点坡度,0),DOTLINE,画红色
输出
NOTEXT6:DRAWLINE(HJ_68=(-1) AND BACKSET(ISLASTBAR,HJ_70+1),高到低,HJ_77,临时低点坡度,0),DOTLINE,画绿色
DRAWNUMBER(HJ_77,临时低点坡度*1.3,临时低点坡度),画黄色
DRAWNUMBER(HJ_76,临时高点坡度*1.3,临时高点坡度),画洋红色
HJ_78:=HJ_76 AND 最高价>HJ_72日前的最高价 AND 临时高点坡度
HJ_79:=HJ_77 AND 最低价HJ_70日前的高到低
当满足条件HJ_78时,在临时高点坡度和2之间画图标
当满足条件HJ_79时,在临时低点坡度和1之间画图标
{---------------- -------------------}