大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現在的位置:程序化交易>> 股票公式>> 通達信>> 通達信公式>>正文內容

通達信公式 指標代碼全周期凈量[通達信公式]

相關標簽: 麗君經典周期指標 、 時間黑洞指標公式 、 通達信時間窗主圖指標 、 股票大小周期公式 、 周期循環圖 、 時間周期線指標 、 通達信循環 、 量能強度指標公式 、 通達信累積強度指標 、 通達信 強度 公式 、 通達信量能飽和度公式 、 量能檢測指標公式 、

?

通達信公式全周期凈量

?

?

原理解析:

T00賦值:200
AF1賦值:300
FX賦值:如果收盤價>1日前的收盤價,返回1,否則返回如果收盤價<1日前的收盤價,返回-1,否則返回0
TT賦值:如果周期類型=0,返回上次小時=9ANDMINUTE=31距今天數+1,否則返回T00
最高價賦值:TT日內最高價的最高值的最后一日取值設為常數
最低價賦值:TT日內最低價的最低值的最后一日取值設為常數
單位賦值:(最高價-最低價)/40的最后一日取值設為常數
填充背景
輸出K線數目:到最后交易的周期,NODRAW
輸出采樣數:T00,NODRAW
M00賦值:最低價
M01賦值:最低價+01*單位
M02賦值:最低價+02*單位
M03賦值:最低價+03*單位
M04賦值:最低價+04*單位
M05賦值:最低價+05*單位
M06賦值:最低價+06*單位
M07賦值:最低價+07*單位
M08賦值:最低價+08*單位
M09賦值:最低價+09*單位
M10賦值:最低價+10*單位
M11賦值:最低價+11*單位
M12賦值:最低價+12*單位
M13賦值:最低價+13*單位
M14賦值:最低價+14*單位
M15賦值:最低價+15*單位
M16賦值:最低價+16*單位
M17賦值:最低價+17*單位
M18賦值:最低價+18*單位
M19賦值:最低價+19*單位
M20賦值:最低價+20*單位
M21賦值:最低價+21*單位
M22賦值:最低價+22*單位
M23賦值:最低價+23*單位
M24賦值:最低價+24*單位
M25賦值:最低價+25*單位
M26賦值:最低價+26*單位
M27賦值:最低價+27*單位
M28賦值:最低價+28*單位
M29賦值:最低價+29*單位
M30賦值:最低價+30*單位
M31賦值:最低價+31*單位
M32賦值:最低價+32*單位
M33賦值:最低價+33*單位
M34賦值:最低價+34*單位
M35賦值:最低價+35*單位
M36賦值:最低價+36*單位
M37賦值:最低價+37*單位
M38賦值:最低價+38*單位
M39賦值:最低價+39*單位
M40賦值:最低價+40*單位
B01賦值:如果收盤價位于-最小變動價位+M00的最后一日取值設為常數和M01的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B02賦值:如果收盤價位于-最小變動價位+M01的最后一日取值設為常數和M02的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B03賦值:如果收盤價位于-最小變動價位+M02的最后一日取值設為常數和M03的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B04賦值:如果收盤價位于-最小變動價位+M03的最后一日取值設為常數和M04的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B05賦值:如果收盤價位于-最小變動價位+M04的最后一日取值設為常數和M05的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B06賦值:如果收盤價位于-最小變動價位+M05的最后一日取值設為常數和M06的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B07賦值:如果收盤價位于-最小變動價位+M06的最后一日取值設為常數和M07的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B08賦值:如果收盤價位于-最小變動價位+M07的最后一日取值設為常數和M08的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B09賦值:如果收盤價位于-最小變動價位+M08的最后一日取值設為常數和M09的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B10賦值:如果收盤價位于-最小變動價位+M09的最后一日取值設為常數和M10的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B11賦值:如果收盤價位于-最小變動價位+M10的最后一日取值設為常數和M11的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B12賦值:如果收盤價位于-最小變動價位+M11的最后一日取值設為常數和M12的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B13賦值:如果收盤價位于-最小變動價位+M12的最后一日取值設為常數和M13的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B14賦值:如果收盤價位于-最小變動價位+M13的最后一日取值設為常數和M14的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B15賦值:如果收盤價位于-最小變動價位+M14的最后一日取值設為常數和M15的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B16賦值:如果收盤價位于-最小變動價位+M15的最后一日取值設為常數和M16的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B17賦值:如果收盤價位于-最小變動價位+M16的最后一日取值設為常數和M17的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B18賦值:如果收盤價位于-最小變動價位+M17的最后一日取值設為常數和M18的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B19賦值:如果收盤價位于-最小變動價位+M18的最后一日取值設為常數和M19的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B20賦值:如果收盤價位于-最小變動價位+M19的最后一日取值設為常數和M20的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B21賦值:如果收盤價位于-最小變動價位+M20的最后一日取值設為常數和M21的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B22賦值:如果收盤價位于-最小變動價位+M21的最后一日取值設為常數和M22的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B23賦值:如果收盤價位于-最小變動價位+M22的最后一日取值設為常數和M23的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B24賦值:如果收盤價位于-最小變動價位+M23的最后一日取值設為常數和M24的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B25賦值:如果收盤價位于-最小變動價位+M24的最后一日取值設為常數和M25的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B26賦值:如果收盤價位于-最小變動價位+M25的最后一日取值設為常數和M26的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B27賦值:如果收盤價位于-最小變動價位+M26的最后一日取值設為常數和M27的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B28賦值:如果收盤價位于-最小變動價位+M27的最后一日取值設為常數和M28的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B29賦值:如果收盤價位于-最小變動價位+M28的最后一日取值設為常數和M29的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B30賦值:如果收盤價位于-最小變動價位+M29的最后一日取值設為常數和M30的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B31賦值:如果收盤價位于-最小變動價位+M30的最后一日取值設為常數和M31的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B32賦值:如果收盤價位于-最小變動價位+M31的最后一日取值設為常數和M32的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
B33賦值:如果收盤價位于-最小變動價位+M32的最后一日取值設為常數和M33的最后一日取值設為常數之間,返回如果FX=1,返回0.9*成交量(手),否則返回如果FX=0,返回0.5*成交量(手),否則返回0.1*成交量(手),否則返回0的TT日累和的最后一日取值設為常數
?

源碼:

?

?


{成交方向----------------------------------------------------------------------------------}
T00:=200;
AF1:=300;
FX:=IF(C>REF(C,1),1,IF(C<REF(C,1),-1,0));
TT:=IF(PERIOD=0,BARSLAST(HOUR=9 AND MINUTE=31)+1,T00);
最高價:=CONST(HHV(H,TT));
最低價:=CONST(LLV(L,TT));
單位:=CONST((最高價-最低價)/40);
DRAWGBK(1,RGB(0,50,100),RGB(0,50,100),1,0,0);
K線數目:CURRBARSCOUNT,NODRAW;
采樣數:T00,NODRAW;
{價位分檔-----------------------------------------------------------------------------------}
M00:=最低價;{www.8-8-g-s.com}
M01:=最低價+01*單位;M02:=最低價+02*單位;M03:=最低價+03*單位;M04:=最低價+04*單位;M05:=最低價+05*單位;
M06:=最低價+06*單位;M07:=最低價+07*單位;M08:=最低價+08*單位;M09:=最低價+09*單位;M10:=最低價+10*單位;
M11:=最低價+11*單位;M12:=最低價+12*單位;M13:=最低價+13*單位;M14:=最低價+14*單位;M15:=最低價+15*單位;
M16:=最低價+16*單位;M17:=最低價+17*單位;M18:=最低價+18*單位;M19:=最低價+19*單位;M20:=最低價+20*單位;
M21:=最低價+21*單位;M22:=最低價+22*單位;M23:=最低價+23*單位;M24:=最低價+24*單位;M25:=最低價+25*單位;
M26:=最低價+26*單位;M27:=最低價+27*單位;M28:=最低價+28*單位;M29:=最低價+29*單位;M30:=最低價+30*單位;
M31:=最低價+31*單位;M32:=最低價+32*單位;M33:=最低價+33*單位;M34:=最低價+34*單位;M35:=最低價+35*單位;
M36:=最低價+36*單位;M37:=最低價+37*單位;M38:=最低價+38*單位;M39:=最低價+39*單位;M40:=最低價+40*單位;
{量位分檔--------------------------------------------------------------------------------------}
{買方}
B01:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M00),CONST(M01) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B02:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M01),CONST(M02) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B03:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M02),CONST(M03) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B04:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M03),CONST(M04) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B05:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M04),CONST(M05) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B06:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M05),CONST(M06) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B07:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M06),CONST(M07) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B08:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M07),CONST(M08) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B09:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M08),CONST(M09) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B10:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M09),CONST(M10) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B11:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M10),CONST(M11) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B12:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M11),CONST(M12) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B13:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M12),CONST(M13) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B14:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M13),CONST(M14) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B15:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M14),CONST(M15) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B16:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M15),CONST(M16) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B17:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M16),CONST(M17) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B18:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M17),CONST(M18) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B19:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M18),CONST(M19) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B20:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M19),CONST(M20) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B21:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M20),CONST(M21) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B22:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M21),CONST(M22) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B23:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M22),CONST(M23) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B24:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M23),CONST(M24) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B25:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M24),CONST(M25) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B26:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M25),CONST(M26) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B27:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M26),CONST(M27) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B28:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M27),CONST(M28) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B29:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M28),CONST(M29) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B30:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M29),CONST(M30) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B31:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M30),CONST(M31) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B32:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M31),CONST(M32) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));
B33:=CONST(SUM(IF(RANGE(C,-MINDIFF+CONST(M32),CONST(M33) ),IF( FX=1,0.9*V,IF(FX=0,0.5*V,0.1*V)),0),TT));

?

公式導入教程: 【通達信公式源碼導入方法教程】 【同花順公式源碼導入方法教程】 【大智慧新一代公式源碼導入方法教程

?

 

有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友

可聯系技術人員 QQ: 262069696  點擊在線交流或微信:cxhjy888 進行 有償收費 編寫!(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)

怎么收費,代編流程等詳情請點擊查閱!

(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)

 


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
  主站蜘蛛池模板: 国产精品视频ccav | 亚洲精品国产第一区二区多人 | 99热国产这里只有精品9九 | 国产小视频在线观看免费 | 日本伊人精品一区二区三区 | 东京干手机福利视频 | 在线91精品亚洲网站精品成人 | 成人免费网站视频www | 欧美高清69hd | 久久久久综合精品福利啪啪 | 国内精品自在自线视频香蕉 | 在线观看深夜视频 | 久久www香蕉免费人成 | 羞羞视频在线观看视频 | 视频综合网 | 久久性生活片 | 在线亚洲 欧美 日本专区 | 日韩欧美一级大片 | 看一级特黄a大片日本片黑人 | 97精品久久久久中文字幕 | 奇米影视在线视频8888 | 久草在线观看资源 | 亚洲 欧美 日韩在线综合福利 | 91精品久久久 | 久青草青综合在线视频 | 午夜欧美在线 | 国产在线精彩视频二区 | 十级毛片 | 天天射网站 | 久久国产精品麻豆映画 | 老妇激情毛片免费 | 欧美巨大video粗暴 | 在线成人爽a毛片免费软件 在线成人天天鲁夜啪视频 在线成人亚洲 | 欧美成人在线视频 | 综合网天天操天天射 | 91资源在线视频 | 亚洲免费精品视频 | 成人国产欧美精品一区二区 | 99久久免费看精品国产一区 | 草草草在线视频 | 爱爱网站在线观看免费 |