ZT文萃

          本博不原創(chuàng),轉(zhuǎn)帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
          posts - 93, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          下文來自:http://www.55188.com/thread-5518816-1-1.html,原文出自和訊。

          1、格雷厄姆1929年股市泡沫破滅后在1931年抄底,結(jié)果破產(chǎn)。
          (失敗原因:抄底)

          2、美國著名經(jīng)濟(jì)學(xué)家費(fèi)雪已經(jīng)預(yù)見1929年股市泡沫破滅,但是還是買入自認(rèn)為是便宜的股票,結(jié)果幾天之中損失了幾百萬美元,一貧如洗。
          (失敗原因:認(rèn)為優(yōu)秀企業(yè)可以穿越周期不計(jì)價(jià)格買入)

          3、索羅斯1987年前認(rèn)為日本股市泡沫巨大,放空日本股票,結(jié)果慘敗,日本股市牛到了1989年。索羅斯在華爾街評(píng)論上鼓吹美國股市會(huì)堅(jiān)挺,日本股市將會(huì)崩盤,而結(jié)果正好相反:美國股市崩盤了,日本股市卻堅(jiān)挺。索羅斯旗下的量子基金當(dāng)年損失了32%,與他唱反調(diào)的孔逸夫卻讓科爾基金贏利了70%,這是一個(gè)令人驚奇的數(shù)字,因?yàn)楫?dāng)年幾乎所有的對(duì)沖基金都虧損了。1999年曾不看好科技股,但2000年后卻用量子基金高位買入科技股,最后大虧。
          (失敗原因:投機(jī),對(duì)賭)
             
          4、上海一基金管理公司總經(jīng)理當(dāng)初是從中國臺(tái)灣地區(qū)股市1000多點(diǎn)開始進(jìn)入的,一直做到10000點(diǎn),入市50萬的資金滾到了8000萬,其實(shí)她在10000點(diǎn)的時(shí)候,就把股票全部拋了,手上握有的全是現(xiàn)金。因?yàn)閾?dān)心股市過于瘋狂,所以她還是相對(duì)比較理智的,最后臺(tái)灣股市上沖到12000點(diǎn)之上,三年多時(shí)間增值了160倍,但是最后的結(jié)局還是很慘,在臺(tái)灣股市由12000點(diǎn)跌到7000點(diǎn)時(shí),已經(jīng)跌去5000多點(diǎn)了,按道理該反彈了吧,她又進(jìn)去了,股指又跌掉了5000點(diǎn),她不得不全部認(rèn)賠清倉,三年的財(cái)富又都化為灰燼。
          (失敗原因:博反彈,做波段)

             歸其原因,我們客觀地說,她還是非常聰明的,但是為什么后來又進(jìn)場了,她當(dāng)時(shí)自己就以為自己是股神了,可以掌控股市,股市不過是她的超級(jí)提款機(jī)而已。在此,我勸告大家,現(xiàn)在股市好,可能未來股市更好,但是如何清醒的看待股市,如何看待自己是一個(gè)永恒的話題。
          (失敗原因:高估自己)

            5、香港有個(gè)知名股評(píng)曹仁超,1972年香港股災(zāi)前1200點(diǎn)看空,結(jié)果差點(diǎn)被公司解雇。1973年港股達(dá)到1773點(diǎn)后大幅下跌。到1974年跌至400點(diǎn),老曹躲過大熊,信心百倍。1974年7月港股跌至290點(diǎn)后認(rèn)為可以撈底,拿全部積蓄50萬港幣抄底和記洋行,該藍(lán)籌股從1973年股市泡沫的43塊一直跌到5.8。老曹全倉買入。結(jié)果后來5個(gè)月,港股再度跌至150點(diǎn)。和記洋行跌至1.1元。老曹最后斬倉,虧損80%以上。
          (失敗原因:全倉買賣)
            
            6、徐興博年近半百,是南京市一家藥材公司的普通職工。1992年,我國證券交易市場還剛剛起步,許多單位和個(gè)人在這片領(lǐng)域里淘一桶金。徐興博的確在這里面淘得了第一桶金,憑著豐富的投資經(jīng)驗(yàn),不管股市如何漲跌,他總是能及時(shí)嗅出大盤行情,事先作出調(diào)整,讓自己的投資穩(wěn)定增長。2001年10月,形勢急轉(zhuǎn),而他仍認(rèn)為能象以前那樣安然度過低谷,接受委托資金超過100萬元。2005年6月,滬指跌破1000點(diǎn)大關(guān),一夜間回到了13年前,徐興博和朋友委托給他炒股的財(cái)產(chǎn),在這次大跌中損失殆盡。
          (失敗原因:加杠桿,借錢投資)股

          posted @ 2013-12-08 21:27 ZT文萃 閱讀(161) | 評(píng)論 (0)編輯 收藏

          http://blog.sina.com.cn/s/blog_5ce347de0102eb8b.html

           

          我們小散戶做的是政策面大指標(biāo)里 的個(gè)股,不是整個(gè)政策面里的所有股。看業(yè)績,看基本面,看政策都不如看個(gè)股快要拉升的時(shí)機(jī)。好指標(biāo)里顯示個(gè)股拉升前的習(xí)慣和成交量的數(shù)據(jù),好指標(biāo)的確像溫 度計(jì)一樣記錄了39度是發(fā)燒,0度以下要結(jié)冰的事實(shí)。熊市里有漲的可以賺錢的個(gè)股,牛市里有跌的能套人的個(gè)股。能有一個(gè)更好的指標(biāo)讓大家在牛市里多賺一點(diǎn) 錢,在熊市里少賠一點(diǎn)錢,就值得了。


          一.選股指標(biāo).

          次日漲停
          W1:=C=HHV(C,20);
          W2:=BARSLAST(W1);
          W3:=IF(W2>0,REF(C,W2),REF(C,W2));
          W4:=CROSS(C,REF(W3,1));
          W4 AND COUNT(W4,5)=1;
          黃轉(zhuǎn)紫選股
          DIFF:=EMA(DCLOSE,12)-EMA(DCLOSE,26);
          DEA:=EMA(DIFF,9);
          MACD:=(DIFF-DEA)*2;
          紫柱:MACD<0 AND MACD>REF(MACD,1) AND REF(MACD,1)<REF(MACD,2);

          低位金叉選股
          DIFF:=EMA(DCLOSE,12)-EMA(DCLOSE,26);
          DEA:=EMA(DIFF,9);
          MACD:=(DIFF-DEA)*2;
          低位金叉:CROSS(DIFF,DEA) AND DIFF<-0.1;

          二次金叉選股
          DIFF:=EMA(DCLOSE,12)-EMA(DCLOSE,26);
          DEA:=EMA(DIFF,9);
          MACD:=(DIFF-DEA)*2;
          JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
          二次金叉:CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
          絕地反彈
          (1)
          VAR1:=REF(LOW,1);
          VAR2:=SMA(ABS(LOW-VAR1),13,1)/SMA(MAX(LOW-VAR1,0),13,1)*100;
          VAR3:=EMA(IF(CLOSE*1.2,VAR2*13,VAR2/13),13);
          VAR4:=LLV(LOW,34);
          VAR5:=HHV(VAR3,34);
          VAR6:=IF(LLV(LOW,55),1,0);
          VAR7:=EMA(IF(LOW<=VAR4,(VAR3+VAR5*2)/2,0),3)/618*VAR6;
          XL1:=MA(LOW,2)*0.96;
          XL2:=MA(LOW,26)*0.85;
          XL3:=REF(XL1,1)<XL2 AND REF(XL1,1)<XL1 AND REF(XL1,1)<REF(XL1,2);
          啟動(dòng):=IF(XL3,0,VAR7*3),COLORRED;
          XG:啟動(dòng)>25;

          (2)

          BACKSET( (REF(CLOSE,1)<REF(OPEN,1) AND
          CLOSE>OPEN AND ABS(CLOSE-REF(CLOSE,1))/CLOSE<0.002),2);
          A2:=FILTER(A1<=V3,10);
          ND CAPITAL<300000000
          REF(V,1) = LLV(V,4) AND V >=REF(V,1)
          HHV(V,3)=REF(V,1) AND HHV(V,5)=REF(V,1) AND HHV(V,21)=REF(V,1)
          AND V >=REF(V,1)
          01>0 AND T02>0;

          1.三線粘合
          M:=1;
          M5:=MA(CLOSE,5);
          M10:=MA(CLOSE,10);
          M20:=MA(CLOSE,20);
          K1:=MAX(MAX(M5,M10),MAX(M10,M20));
          K2:=MIN(MIN(M5,M10),MIN(M10,M20));
          A:=MAX(M5,MAX(M10,M20))/MIN(M5,MIN(M10,M20))<1+0.03*M;
          A1:=(K1/K2-1)<0.005;
          A2:=(K1/K2-1)<0.005;
          A3:=V>REF(V,1)*1.5 AND V>MA(V,5);
          XG:A AND A1 AND A2 AND A3 AND C>O AND V> REF(V,1) AND CAPITAL<=300000000;

          2.三條線粘合
          N1:=5;N2:=10;N3:=20;M:=1;
          MA1:=MA(C,N1);MA2:=MA(C,N2);MA3:=MA(C,N3);
          A3:=V>REF(V,1)*1.5 AND V>MA(V,5);
          MAX(MA1,MAX(MA2,MA3))/MIN(MA1,MIN(MA2,MA3))<1+0.01*M
          AND C>O AND V> REF(V,1) AND FINANCE(7)<=300000000
          AND A3 AND CAPITAL<=300000000;

          3.均線粘合
          M:=1;
          M5:=MA(CLOSE,5);
          M10:=MA(CLOSE,10);
          M20:=MA(CLOSE,20);
          K1:=MAX(MAX(M5,M10),MAX(M10,M20));
          K2:=MIN(MIN(M5,M10),MIN(M10,M20));
          A:=MAX(M5,MAX(M10,M20))/MIN(M5,MIN(M10,M20))<1+0.01*M;
          A1:=(K1/K2-1)<0.005;
          A2:=(K1/K2-1)<0.005;
          A3:=V>REF(V,1)*1.5 AND V>MA(V,5);
          XG:A AND A1 AND A2 AND A3 ;
          3. 金叉選股指標(biāo)
          快線:=EMA(EMA(EMA(EMA(CLOSE,2),2),2),2);
          慢線:=EMA(REF(快線,1),2);
          A3:=V>REF(V,1)*1.5 AND V>MA(V,5);
          XG:CROSS(快線,慢線) AND C>O AND
          V>=MA(V,21) AND V> REF(V,1) AND CAPITAL<=300000000 ;
          4.角度
          MA5:=MA(C,5);
          MA10:=MA(C,10);
          MA20:=MA(C,20);
          V0:CROSS(MA5,MA10) AND CROSS(MA10,MA20) AND
          CROSS(MA5,MA20) ;
          IF(角度MA3>45 AND 角度MA5>40 AND 角度MA10>10
          AND 角度MA20>20 AND MA(C,135)>REF(MA(C,135),1),
          1,0),COLOR00FF00
          1.聚寶盆

          DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
          DEA:=EMA(DIFF,M);
          MACD2:=2*(DIFF-DEA);
          HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF
          (MACD2,3);
          2.強(qiáng)勢股
          {SJXXG四均線選股}
          MA3:=MA(C,3);
          MA5:=MA(C,5);
          MA10:=MA(C,10);
          MA20:=MA(C,20);
          V0:=MA(C,3)>REF(MA(C,3),1) AND MA(C,5)>REF(MA(C,5),1) AND C>MA(C,3)
          AND MA(C,3)>MA(C,5) ; {均線C,MA3,MA5多頭排列并向上;}
          角度MA3:=ATAN((MA3/REF(MA3,1)-1)*100)*180/3.1416;
          角度MA5:=ATAN((MA5/REF(MA5,1)-1)*100)*180/3.1416;
          角度MA10:=ATAN((MA10/REF(MA10,1)-1)*100)*180/3.1416;
          角度MA20:=ATAN((MA20/REF(MA20,1)-1)*100)*180/3.1416;
          選股MA20:IF(角度MA3>45 AND 角度MA5>45 AND 角度MA10>60 AND 角度MA20>45 AND MA(C,250)>REF(MA(C,250),1),
          1,0),COLOR00FF00;
          {設(shè)計(jì)思路:
          1.3日均線角度大于45度;
          2:5日均線角度大于45度;
          3:10日均線角度大于60度;
          4.20日均線角度大于45度;
          5.MA250向上;};
          3。紫色沖關(guān)
          (1).
          CROSS( CLOSE,MA(C,30))
          AND CLOSE>MA(C,22) AND CLOSE>MA(C,30)AND
          COUNT(MA(CLOSE,13)>REF(MA(CLOSE,13),1),1)
          AND COUNT(MA(CLOSE,8)>REF(MA(CLOSE,8),1),1)
          AND COUNT(MA(CLOSE,20)>REF(MA(CLOSE,20),1),1)
          AND CLOSE/OPEN>1.015
          AND DYNAINFO(37)>0.2% COLORLIBLUE;

          (2).
          QSXS:=MA(CLOSE,8)>REF(MA(CLOSE,8),1) AND MA(CLOSE,3)>REF(MA(CLOSE,3),1) AND MA(CLOSE,5)>REF(MA(CLOSE,5),1);
          DXJC:=CROSS(CLOSE,MA(C,21)) AND CLOSE>MA(C,13) AND CLOSE/OPEN>1.015;
          HSL:=VOL/CAPITAL*100;
          選股:QSXS AND DXJC AND HSL>2;

          (3).
          {SJXXG四均線選股}
          MA3:=MA(C,1);
          MA5:=MA(C,3);
          MA10:=MA(C,5);
          MA20:=MA(C,10);
          V0:=MA(C,1)>REF(MA(C,1),0.5) AND MA(C,3)>REF(MA(C,3),0.5) AND C>MA(C,1)
          AND MA(C,1)>MA(C,1) ; {均線C,MA3,MA5,MA10,MA20多頭排列并向上;}
          角度MA3:=ATAN((MA3/REF(MA3,1)-1)*100)*180/3.1416;
          角度MA5:=ATAN((MA5/REF(MA5,1)-1)*100)*180/3.1416;
          角度MA10:=ATAN((MA10/REF(MA10,1)-1)*100)*180/3.1416;
          角度MA20:=ATAN((MA20/REF(MA20,1)-1)*100)*180/3.1416;
          選股MA20:IF(角度MA3>50 AND 角度MA5>40 AND 角度MA10>30
          AND 角度MA20>20 AND MA(C,250)>REF(MA(C,250),1),
          1,0),COLOR00FF00;
          {設(shè)計(jì)思路:
          1.1日均線角度大于40度;
          2:3日均線角度大于40度;
          3:5日均線角度大于50度;
          4.10日均線角度大于40度;
          5.MA135向上;};

          (4).
          {SJXXG四均線選股}
          MA3:=MA(C,5);
          MA5:=MA(C,10);
          MA10:=MA(C,15);
          MA20:=MA(C,20);
          V0:=MA(C,5)>REF(MA(C,10),1) AND MA(C,10)>REF(MA(C,15),1)
          AND MA(C,15)>MA(C,20) ; {均線C,MA3,MA5多頭排列并向上;}
          角度MA3:=ATAN((MA3/REF(MA3,1)-1)*100)*180/3.1416;
          角度MA5:=ATAN((MA5/REF(MA5,1)-1)*100)*180/3.1416;
          角度MA10:=ATAN((MA10/REF(MA3,1)-1)*100)*180/3.1416;
          角度MA20:=ATAN((MA20/REF(MA5,1)-1)*100)*180/3.1416;
          選股MA20:IF(角度MA3>42 AND 角度MA5>25 AND 角度MA10>15 AND 角度MA20>10
          AND MA(C,135)>REF(MA(C,135),1),
          1,0),COLOR00FF00;
          {設(shè)計(jì)思路:
          1.3日均線角度大于30度;
          2:5日均線角度大于40度;
          3:10日均線角度大于45度;
          4.20日均線角度大于40度;
          5.MA135向上;};

          (5).5日最底

          V5:=LLV(V,5);
          QSXS:=MA(CLOSE,5)>REF(MA(CLOSE,5),1) AND MA(CLOSE,8)>REF(MA(CLOSE,8),1)
          AND MA(CLOSE,21)>REF(MA(CLOSE,21),1);
          DXJC:=CROSS(CLOSE,MA(C,21)) AND CLOSE>MA(C,21) AND CLOSE/OPEN>1.015;
          HSL:=VOL/CAPITAL*100;
          選股:V5 AND QSXS AND DXJC AND HSL>2;
          1....{蓄勢待發(fā)}
          V0:=EMA(C,5);
          EMA10:=EMA(C,10);
          EMA20:=EMA(C,20);
          EMA30:=EMA(C,30);
          EMA60:=EMA(C,60);
          M1:=1000*EMA10/EMA60<=1015 AND 1000*EMA10/EMA60>=975;
          M2:=1000*EMA20/EMA60<=1020 AND 1000*EMA20/EMA60>=980;
          M3:=1000*EMA30/EMA60<=1015 AND 1000*EMA30/EMA60>=985;
          M4:=M1 AND M2 AND M3 AND CROSS(V0,EMA10);
          M5:=M1 AND M2 AND M3 AND CROSS(V0,EMA30);
          T1:=1000*EMA10/EMA30<=1010 AND 1000*EMA10/EMA30>=990;
          T2:=1000*EMA20/EMA30<=1010 AND 1000*EMA20/EMA30>=990;
          T3:=T1 AND T2 AND CROSS(V0,EMA10);
          T4:=T1 AND T2 AND CROSS(V0,EMA30);
          M4 OR M5 OR T3 OR T4;

          2.短線之王
          VAR1:=(-100)*(HHV(HIGH,3)-CLOSE)/(HHV(HIGH,3)-LLV(LOW,3));
          CROSS(VAR1,-87) AND OPEN<MA(CLOSE,5) AND CLOSE>=1.099*REF(CLOSE,1) AND INDEXC>0.98*REF(INDEXC,1) AND CLOSE<=1.47*LLV
          (CLOSE,58);

          3.槍挑小梁王
          W1:=C=HHV(C,20);
          W2:=BARSLAST(W1);
          W3:=IF(W2>0,REF(C,W2),REF(C,W2));
          W4:=CROSS(C,REF(W3,1));
          槍挑小梁王:W4 AND COUNT(W4,5)=1;

          4.短線之王
          VAR1:=(-100)*(HHV(HIGH,3)-CLOSE)/(HHV(HIGH,3)-LLV(LOW,3));
          CROSS(VAR1,-87) AND OPEN<MA(CLOSE,5) AND CLOSE>=1.099*REF(CLOSE,1) AND INDEXC>0.98*REF(INDEXC,1) AND CLOSE<=1.47*LLV
          (CLOSE,58);
          5.財(cái)務(wù)突破選股
          {財(cái)務(wù)突破選股公式-創(chuàng)幻閑云孤鶴-通信達(dá)專用}
          年認(rèn)同價(jià):=MA(C,240);
          價(jià)格中樞:=(SUM(年認(rèn)同價(jià),0)/(BARSSINCE(年認(rèn)同價(jià)>0)+239));
          箱頂:=價(jià)格中樞*1.2;
          箱底:=價(jià)格中樞*0.8;
          毛利潤率:=FINANCE(21)/FINANCE(20);
          成長價(jià)值:=年認(rèn)同價(jià)*(1+毛利潤率);
          收益價(jià)值:=年認(rèn)同價(jià)+FINANCE(33);
          回調(diào)認(rèn)同:=EMA(EXPMA(C,20),13);
          多頭:=(回調(diào)認(rèn)同>REF(回調(diào)認(rèn)同,1))AND(成長價(jià)值>REF(成長價(jià)值,1))AND(收益價(jià)值>REF(收益價(jià)值,1))AND(DYNAINFO(7)>0);
          回調(diào)條件:=COUNT(C<回調(diào)認(rèn)同,5)>=3;
          回調(diào)突破:=(REF(C,1)<=REF(回調(diào)認(rèn)同,1))AND(C>回調(diào)認(rèn)同)AND(回調(diào)條件)AND 多頭;
          成長條件:=COUNT(C<成長價(jià)值,5)>=3;
          成長突破:=(REF(C,1)<=REF(成長價(jià)值,1))AND(C>成長價(jià)值)AND(成長條件)AND 多頭;
          收益條件:=COUNT(C<收益價(jià)值,5)>=3;
          收益突破:=(REF(C,1)<=REF(收益價(jià)值,1))AND(C>收益價(jià)值)AND(收益條件)AND 多頭;
          箱底條件:=COUNT(C<箱底,5)>=3;
          箱底突破:=(REF(C,1)<=REF(箱底,1))AND(C>箱底)AND(箱底條件)AND 多頭;
          價(jià)格條件:=COUNT(C<價(jià)格中樞,5)>=3;
          價(jià)格突破:=(REF(C,1)<=REF(價(jià)格中樞,1))AND(C>價(jià)格中樞)AND(價(jià)格條件)AND 多頭;
          箱頂條件:=COUNT(C<箱頂,5)>=3;
          箱頂突破:=(REF(C,1)<=REF(箱頂,1))AND(C>箱頂)AND(箱頂條件)AND 多頭;
          突破買點(diǎn):(回調(diào)突破+成長突破+收益突破+箱底突破+價(jià)格突破+箱頂突破);

          6.橫盤是銀

          VAR1:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
          VAR2:=SMA(VAR1,3,1);
          VAR3:=SMA(VAR2,3,1);
          VAR4:=EMA(CLOSE,12)-EMA(CLOSE,26);
          VAR5:=EMA(VAR4,9);
          VAR6:=2*(VAR4-VAR5);
          COUNT(CROSS(VAR2,VAR3),2)>=1 AND COUNT(CROSS(VAR6,0),5)>=1 AND MA(CLOSE,5)>MA(CLOSE,10) AND MA(CLOSE,10)>MA(CLOSE,20) AND
          CLOSE>MA(CLOSE,5);
          {“短線是銀”的使用說明:
          此組合選擇比較簡單,初學(xué)者易于掌握,短線有一定可操作性與準(zhǔn)確性。但只適合于3天內(nèi)的短線炒作,不能確定長期趨勢。
          選股設(shè)置:
          2日內(nèi)KD金叉,5日內(nèi)MACD金叉,均線5日,10日,20日多頭排列,收盤價(jià)漲過5日均線。};
          7.黑馬起步選股1
          VAR5:=EMA(SMA((CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100))*100,8,1),3);
          選股:CROSS(VAR5,15) OR CROSS(VAR5,20) OR CROSS(VAR5,25);

          8.起攀選股
          {起攀選股}
          VAR6:=(2*C+H+L)/4;
          VAR7:=LLV(L,27);
          VAR8:=HHV(H,27);
          攀登:=EMA((VAR6-VAR7)/(VAR8-VAR7)*100,13)-50;
          金山:=EMA(0.618*REF(攀登,1)+0.382*攀登,3);
          起攀:CROSS(攀登,金山) AND C/REF(C,1)>1.02;
          {根據(jù)起攀圖指標(biāo)改編,這是精簡后的指標(biāo)};
          9.中短波選股
          {中短波選股}
          HZ:=EMA(CLOSE,13);
          短波:=EMA(HZ,1);
          中波:=EMA(HZ,26);
          均線148天:=EMA(C,148);
          成本:=SUM(AMOUNT,0)/SUM(VOL,0)/100;
          HZ2:=EMA(HZ,8);
          CROSS(短波,HZ2);
          {結(jié)合中短波主圖使用};
          10.黑馬搖籃之大
          {黑馬搖籃之大黑馬}
          SS1:=(LOW+HIGH+CLOSE*2)/4;
          SS2:= MA(SS1,4);
          SS3:=HHV(SS2,10);
          SS4:=MA(SS3,3);
          SS5:=1.25*SS4-0.25*SS3;
          XKKJ:=IF(SS5>SS3,SS3,SS5);
          FF1:=LLV(SS2,10);
          FF2:=MA(FF1,3);
          FF3:=1.25*FF2-0.25*FF1;
          DKKJ:=IF(FF3<FF1,FF1,FF3);
          MA13:=MA(C,13);
          ZDHM:=CROSS(C,DKKJ) AND CROSS(C,MA13) AND CROSS(C,XKKJ);
          ZHM:=CROSS(C,MA13) AND CROSS(C,XKKJ);
          大黑馬:ZDHM OR ZHM;
          11.黑馬搖籃之小
          {黑馬搖籃之小黑馬}
          A:=(3*CLOSE+LOW+OPEN+HIGH)/6;
          D1:=(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)
          +13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,11)+8*REF(A,12)
          +7*REF(A,13)+6*REF(A,14)+5*REF(A,15)+4*REF(A,16)+3*REF(A,17)+2*REF(A,18)+
          REF(A,20))/211;
          D2:=EMA(D1,2);
          D3:=EMA(D2,2);
          K1:=EMA(D3,2);
          小黑馬:CROSS(D1,K1);
          12.蓄勢待發(fā)
          {蓄勢待發(fā)}
          V0:=EMA(C,5);
          EMA10:=EMA(C,10);
          EMA20:=EMA(C,20);
          EMA30:=EMA(C,30);
          EMA60:=EMA(C,60);
          M1:=1000*EMA10/EMA60<=1015 AND 1000*EMA10/EMA60>=975;
          M2:=1000*EMA20/EMA60<=1020 AND 1000*EMA20/EMA60>=980;
          M3:=1000*EMA30/EMA60<=1015 AND 1000*EMA30/EMA60>=985;
          M4:=M1 AND M2 AND M3 AND CROSS(V0,EMA10);
          M5:=M1 AND M2 AND M3 AND CROSS(V0,EMA30);
          T1:=1000*EMA10/EMA30<=1010 AND 1000*EMA10/EMA30>=990;
          T2:=1000*EMA20/EMA30<=1010 AND 1000*EMA20/EMA30>=990;
          T3:=T1 AND T2 AND CROSS(V0,EMA10);
          T4:=T1 AND T2 AND CROSS(V0,EMA30);
          M4 OR M5 OR T3 OR T4;
          13.四線粘合
          {四線粘合}
          V0:=EMA(C,5);
          V1:=EMA(C,10);
          V2:=EMA(C,15);
          V3:=EMA(C,30);
          V4:=EMA(C,60);
          M1:=1000*V1/V4<=1015 AND 1000*V1/V4>=975;
          M2:=1000*V2/V4<=1020 AND 1000*V2/V4>=980;
          M3:=1000*V3/V4<=1015 AND 1000*V3/V4>=985;
          M4:=M1 AND M2 AND M3 AND CROSS(V0,V1);
          M5:=M1 AND M2 AND M3 AND CROSS(V0,V3);
          M4 OR M5;

          14.拉升在即
          {拉升在即}
          ABV:=MA(SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),-VOL,0)),0)/25000,2);
          M1:=EMA(ABV,12);
          M2:=EMA(ABV,26);
          MTM:=CLOSE-REF(CLOSE,1);
          MMS:=((100)*(EMA(EMA(MTM,6),6)))/(EMA(EMA(ABS(MTM),6),6));
          MMM:=((100)*(EMA(EMA(MTM,12),12)))/(EMA(EMA(ABS(MTM),12),12));
          MML:=((100)*(EMA(EMA(MTM,26),26)))/(EMA(EMA(ABS(MTM),26),26));
          A:=((VOL)/(CAPITAL))*(100);
          S:=((MA(A,30))/(MA(INDEXA,10)))*(MA(INDEXA,60));
          Y:=((MA(A,120))/(MA(INDEXA,10)))*(MA(INDEXA,60));
          X:=1;
          拉升在即:S<X AND Y<X AND MMS>MML AND ABV>M1 AND CROSS(S,Y);

          15.HMYZ黑馬易找

          VAR1:=MA(CLOSE,5);
          VAR2:=MA(CLOSE,10);
          VAR3:=MA(CLOSE,30);
          VAR4:=MA(CLOSE,60);
          VAR5:=EMA(COST(85),7);
          VAR6:=EMA(COST(15),7);
          VAR7:=SUM(CLOSE*VOL*100,4)/SUM(VOL*100,4);
          VAR8:=INTPART(VAR7*100)/100;
          VAR9:=SUM(CLOSE*VOL*100,7)/SUM(VOL*100,7);
          VARA:=INTPART(VAR9*100)/100;
          VARB:=SUM(CLOSE*VOL*100,28)/SUM(VOL*100,28);
          VARC:=INTPART(VARB*100)/100;
          VARD:=EMA(CLOSE,5)-EMA(CLOSE,10);
          VARE:=EMA(VARD,9);
          VARF:=(-100)*(HHV(CLOSE,5)-CLOSE)/(HHV(CLOSE,5)-LLV(LOW,5))+100;
          VAR10:=(-100)*(HHV(CLOSE,10)-CLOSE)/(HHV(CLOSE,10)-LLV(LOW,10))+100;
          VAR11:=(-100)*(HHV(CLOSE,20)-CLOSE)/(HHV(CLOSE,20)-LLV(LOW,20))+100;
          VAR12:=(-100)*(HHV(CLOSE,30)-CLOSE)/(HHV(CLOSE,30)-LLV(LOW,30))+100;
          VAR13:=REF(VARE,1);
          VAR14:=VARE;
          VAR15:=VAR14-VAR13;
          VAR16:=REF(VARD,1);
          VAR17:=VARD;
          VAR18:=VAR17-VAR16;
          VAR19:=OPEN;
          VAR1A:=CLOSE;
          黑馬易找選股: VAR19<=VAR1 AND VAR19<=VAR2 AND VAR19<=VAR3 AND VAR1A>=VAR1 AND VAR1A>=VARC AND VAR15>0 AND VAR18>0;
          16.黑馬起步選股2
          VAR5:=EMA(SMA((CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100))*100,8,1),3);
          選股:CROSS(VAR5,30) OR CROSS(VAR5,35) OR CROSS(VAR5,40);
          17.黑馬起步選股1
          VAR5:=EMA(SMA((CLOSE-LLV(LOW,100))/(HHV(HIGH,100)-LLV(LOW,100))*100,8,1),3);
          選股:CROSS(VAR5,15) OR CROSS(VAR5,20) OR CROSS(VAR5,25);
          二。主圖指標(biāo)
          三。三線買賣
          快線:EMA(EMA(EMA(EMA(CLOSE,2),2),2),2),LINETHICK2,COLOR0000FF;
          慢線:EMA(REF(快線,1),2),LINETHICK2,COLOR00FFFF;
          總趨勢:EMA(EMA(EMA(EMA(EMA(CLOSE,55),2),2),2),2),LINETHICK2,COLORFF00FF;
          HIGHN:=10;LOWN:=10;HIGHDISPLAY:=0;LOWDISPLAY:=0;ZGDISPLAY:=0;MADISPLAY:=0;
          AA:=REF(H,HIGHN)=HHV(H,2*HIGHN+1);
          QY:=BACKSET(AA,HIGHN+1);
          CC:=FILTER(QY,HIGHN) AND H=HHV(H,HIGHN+1);
          DRAWICON(CC,H*1.02,2);
          DDD:=BARSLAST(CC);
          GDTS:=IF(CC,CURRBARSCOUNT,0);
          DINGBU:=IF(DDD,REF(H,DDD),H);{頂部}
          DINGBUTS:=IF(DDD,REF(GDTS,DDD),GDTS);
          DINGBU1:=REF(DINGBU,DDD+1);
          GDCS1:=CONST(DINGBUTS);
          DINGBUTS1:=REF(DINGBUTS,DDD+1);
          GDCS2:=CONST(DINGBUTS1);
          DINGBU2:=REF(DINGBU1,DDD+1);
          MM:=IF(CURRBARSCOUNT>GDCS2,0,1);
          高點(diǎn)壓力:DRAWLINE(CURRBARSCOUNT=GDCS2,H,CURRBARSCOUNT=GDCS1,H,1) COLORGREEN,LINETHICK2;
          DRAWLINE(CURRBARSCOUNT=GDCS2,H,ISLASTBAR,REF(H,GDCS2-1),1),COLOR0055FF,POINTDOT;
          DRAWLINE(CURRBARSCOUNT=GDCS1,H,ISLASTBAR,REF(H,GDCS1-1),1),COLORYELLOW,POINTDOT;
          AA1:=REF(L,LOWN)=LLV(L,2*LOWN+1);
          QY1:=BACKSET(AA1,LOWN+1);
          CC1:=FILTER(QY1,LOWN) AND L=LLV(L,LOWN+1);
          DRAWICON(CC1,L*0.98,1);
          DD1:=BARSLAST(CC1);
          DDTS:=IF(CC1,CURRBARSCOUNT,0);
          YDB:=IF(DD1,REF(L,DD1),L);
          DDTS1:=IF(DD1,REF(DDTS,DD1),DDTS);
          DDCS1:=CONST(DDTS1);
          ZDB:=REF(YDB,DD1+1);
          DDTS2:=REF(DDTS1,DD1+1);
          DDCS2:=CONST(DDTS2);
          低點(diǎn)支撐:DRAWLINE(CURRBARSCOUNT=DDCS2,L,CURRBARSCOUNT=DDCS1,L,1) COLORRED,LINETHICK2;
          ZGSTAR:=(高點(diǎn)壓力+低點(diǎn)支撐)/2;
          ZGEND:=CONST((高點(diǎn)壓力+低點(diǎn)支撐)/2);
          STARDAY:=IF(DDCS2<GDCS2,DDCS2,GDCS2);
          中軌:DRAWLINE(CURRBARSCOUNT=STARDAY,ZGSTAR,ISLASTBAR,ZGEND,1),COLORFF55BB,LINETHICK2;
          DRAWLINE(CURRBARSCOUNT=DDCS1,L,ISLASTBAR,REF(L,DDCS1-1),1),COLORMAGENTA,POINTDOT,;
          DRAWLINE(CURRBARSCOUNT=DDCS2,L,ISLASTBAR,REF(L,DDCS2-1),1),COLORCYAN,POINTDOT;
          四。3線粘合
          MA3:EMA(C,3),linethick2; MA5:EMA(C,5),linethick2; MA7:EMA(C,7),linethick2; MA14:EMA(C,14),linethick1,STICK; MA114:EMA
          (C,14),linethick2; DRAWICON (cross(MA3,MA7),L*0.985,1);
          五.三線乾坤

          快線:EMA(EMA(EMA(EMA(CLOSE,2),2),2),2),LINETHICK2,COLOR0000FF;
          慢線:EMA(REF(快線,1),2),LINETHICK2,COLOR00FFFF;
          總趨勢:EMA(EMA(EMA(EMA(EMA(CLOSE,55),2),2),2),2),LINETHICK2,COLORFF00FF;
          A1:=REF(H,8)=HHV(H,2*8+1);
          B1:=FILTER(A1,8);
          C1:=BACKSET(B1,8+1);
          D1:=FILTER(C1,8);{高點(diǎn)}
          R11:=BACKSET(ISLASTBAR,BARSLAST(D1)+1); S11:=R11>REF(R11,1);
          DRAWLINE(D1,H,S11,H,1),COLORBLUE;
          A2:=REF(L,8)=LLV(L,2*8+1);
          B2:=FILTER(A2,8);
          C2:=BACKSET(B2,8+1);
          D2:=FILTER(C2,8);{低點(diǎn)}
          T11:=BACKSET(ISLASTBAR,BARSLAST(D2)+1); U11:=T11>REF(T11,1);
          DRAWLINE(D2,L,U11,L,1),COLORBLUE;
          M:=INTPART(3*8/5);
          A12:=REF(H,M)=HHV(H,2*M+1);
          B12:=FILTER(A12,M);
          C12:=BACKSET(B12,M+1);
          D12:=FILTER(C12,M);{高點(diǎn)}
          R112:=BACKSET(ISLASTBAR,BARSLAST(D12)+1); S112:=R112>REF(R112,1);
          DRAWLINE(D12,H,S112,H,1),COLORRED;
          A22:=REF(L,M)=LLV(L,2*M+1);
          B22:=FILTER(A22,M);
          C22:=BACKSET(B22,M+1);
          D22:=FILTER(C22,M);{低點(diǎn)}
          T112:=BACKSET(ISLASTBAR,BARSLAST(D22)+1); U112:=T112>REF(T112,1);
          DRAWLINE(D22,L,U112,L,1),COLORRED;
          VAR1111:=BACKSET(REF(HIGH,2)=HHV(HIGH,5),3);
          VAR2222:=CROSS(VAR1111,0.9);
          VAR3333:=BACKSET(REF(LOW,2)=LLV(LOW,5),3);
          VAR4444:=CROSS(VAR3333,0.9);
          壓力:= REF(HIGH,BARSLAST(VAR2222));
          STICKLINE(CLOSE,REF(HIGH,BARSLAST(VAR2222)),REF(HIGH,BARSLAST(VAR2222)),0.5,1),COLOREA91B5,LINETHICK3;
          支撐:= REF(LOW,BARSLAST(VAR4444));
          STICKLINE(CLOSE,REF(LOW,BARSLAST(VAR4444)),REF(LOW,BARSLAST(VAR4444)),0.5,1),COLOR00B4FF,LINETHICK3;
          下檔線:=(((CLOSE - LLV(LOW,13)) / (HHV(HIGH,13) - LLV(LOW,13))) * 100);
          RRRSV:=SMA(下檔線,3,1);
          KKK:=SMA(RRRSV,3,1);
          DDD:=((3 * RRRSV) - (2 * KKK));
          JJ12:=(((CLOSE - LLV(LOW,55)) / (HHV(HIGH,55) - LLV(LOW,55))) * 100);
          RSV24:=SMA(JJ12,3,1);
          K24:=SMA(RSV24,3,1);
          D24:=((3 * RSV24) - (2 * K24));
          壓力2:=IF(CROSS(D24,DDD),HIGH,REF(HIGH,BARSLAST(CROSS(D24,DDD)))),COLORFFFFFF;
          底部:=LLV(HIGH,30),COLOR00FF00;
          DRAWICON(L<=支撐 AND H>支撐,L,0);
          DRAWICON(H>=壓力 AND L<壓力,H,0);
          DRAWICON(CROSS(快線,慢線),L*0.95,5);
          DRAWICON(CROSS(慢線,快線),H*1.05,6);
          三。副圖指標(biāo)

          1。黃金坑
          DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
          DEA:=EMA(DIFF,M);
          MACD2:=2*(DIFF-DEA);
          (CLOSE<0 AND CROSS(DIFF,0),H*1.3),COLOR000080,NODRAW;
          (CLOSE<0 AND CROSS(MACD2,0),H*1.3),COLOR000080,NODRAW;
          (CLOSE<0 AND CROSS(0,DIFF),H*1.3),COLOR808080,NODRAW;
          (CLOSE<0 AND CROSS(0,MACD2),H*1.3),COLOR808080,NODRAW;
          DU0:=CROSS(DIFF,0);
          UD0:=CROSS(0,DIFF);
          TDU0:=BARSLAST(DU0);
          TUD0:=BARSLAST(UD0);
          DU3:=REF(DU0,1);
          UD3:=REF(UD0,1);
          TDU3:=BARSLAST(DU3);
          TUD3:=BARSLAST(UD3);
          UDGLINE:=IF(TDU3<TUD3,REF(HHV(HIGH,2),TDU3),REF(LLV(LOW,2),TUD3));
          JDU0:=REF(CLOSE,1)<=REF(UDGLINE,1) AND CLOSE>UDGLINE AND TDU0<TUD0;
          JUD0:=REF(CLOSE,1)>=REF(UDGLINE,1) AND CLOSE<UDGLINE AND TUD0<TDU0;
          JDU1:=JDU0 AND COUNT(JDU0,TDU0)=1;
          JUD1:=JUD0 AND COUNT(JUD0,TUD0)=1;
          JDU2:=JDU1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1);
          JUD2:=JUD1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1);
          JDU3:=JDU1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1);
          JUD3:=JUD1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1);
          BSLINE:=IF(BARSLAST(JDU2)<BARSLAST(JUD2),IF(REF(CROSS(0,MACD2),1),LLV(LOW,2),REF(LLV(LOW,2),BARSLAST(REF(CROSS
          (0,MACD2),1)))),IF(REF(CROSS(MACD2,0),1),HHV(HIGH,2),REF(HHV(HIGH,2),BARSLAST(REF(CROSS(MACD2,0),1)))));
          STICKLINE(MACD2>=0,0,MACD2,2,1),COLOR0000FF;
          STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,2,0),COLOR0000FF;
          STICKLINE(MACD2<0,0,MACD2,2,0),COLORFFFF00;
          STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,2,1),COLORFFFF00;
          DIF:DIFF,LINETHICK2,COLOR0000FF;
          MACD:DEA,COLORFF0000;
          DEF:MACD2,LINETHICK0,COLORFFFF00;
          STICKLINE(CLOSE>0,0,0,2,0),COLOR808080;
          DEFUT:=BARSLAST(CROSS(MACD2,0));
          DEFDT:=BARSLAST(CROSS(0,MACD2));
          DEFUL:=IF(MACD2>=0,HHV(MACD2,DEFUT+1),REF(HHV(MACD2,DEFUT+1),DEFDT+1));
          DEFDL:=IF(MACD2<0,LLV(MACD2,DEFDT+1),REF(LLV(MACD2,DEFDT+1),DEFUT+1));
          DEFU2L:=REF(DEFUL,DEFUT+1);
          DEFD2L:=REF(DEFDL,DEFDT+1);
          DRAWICON(LLV(MACD2,4)>0 AND MACD2<REF(MACD2,1) AND REF(MACD2,1)>REF(MACD2,2) AND REF(MACD2,2)>REF(MACD2,3),MACD2,2);
          DRAWICON(HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3),MACD2,1);
          DRAWICON((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND MACD2>=0 AND REF(MACD2,1)<REF(DEFU2L,1) AND MACD2>DEFU2L,MACD2,5);
          DRAWICON((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,MACD2,3);
          VAR111:=JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1);
          VAR112:=HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3);
          2.資金流向
          DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
          DEA:=EMA(DIFF,M);
          MACD2:=2*(DIFF-DEA);
          (CLOSE<0 AND CROSS(DIFF,0),H*1.3),COLOR000080,NODRAW;
          (CLOSE<0 AND CROSS(MACD2,0),H*1.3),COLOR000080,NODRAW;
          (CLOSE<0 AND CROSS(0,DIFF),H*1.3),COLOR808080,NODRAW;
          (CLOSE<0 AND CROSS(0,MACD2),H*1.3),COLOR808080,NODRAW;
          DU0:=CROSS(DIFF,0);
          UD0:=CROSS(0,DIFF);
          TDU0:=BARSLAST(DU0);
          TUD0:=BARSLAST(UD0);
          DU3:=REF(DU0,1);
          UD3:=REF(UD0,1);
          TDU3:=BARSLAST(DU3);
          TUD3:=BARSLAST(UD3);
          UDGLINE:=IF(TDU3<TUD3,REF(HHV(HIGH,2),TDU3),REF(LLV(LOW,2),TUD3));
          JDU0:=REF(CLOSE,1)<=REF(UDGLINE,1) AND CLOSE>UDGLINE AND TDU0<TUD0;
          JUD0:=REF(CLOSE,1)>=REF(UDGLINE,1) AND CLOSE<UDGLINE AND TUD0<TDU0;
          JDU1:=JDU0 AND COUNT(JDU0,TDU0)=1;
          JUD1:=JUD0 AND COUNT(JUD0,TUD0)=1;
          JDU2:=JDU1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1);
          JUD2:=JUD1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1);
          JDU3:=JDU1 AND REF(BARSLAST(JUD1),1)>REF(BARSLAST(JDU1),1);
          JUD3:=JUD1 AND REF(BARSLAST(JUD1),1)<REF(BARSLAST(JDU1),1);
          BSLINE:=IF(BARSLAST(JDU2)<BARSLAST(JUD2),IF(REF(CROSS(0,MACD2),1),LLV(LOW,2),REF(LLV(LOW,2),BARSLAST(REF(CROSS
          (0,MACD2),1)))),IF(REF(CROSS(MACD2,0),1),HHV(HIGH,2),REF(HHV(HIGH,2),BARSLAST(REF(CROSS(MACD2,0),1)))));
          STICKLINE(MACD2>=0,0,MACD2,2,1),COLOR0000FF;
          STICKLINE(MACD2>=0 AND MACD2<REF(MACD2,1),0,MACD2,2,0),COLOR0000FF;
          STICKLINE(MACD2<0,0,MACD2,2,0),COLORFFFF00;
          STICKLINE(MACD2<0 AND MACD2>REF(MACD2,1),0,MACD2,2,1),COLORFFFF00;
          DIF:DIFF,LINETHICK2,COLOR0000FF;
          MACD:DEA,COLORFF0000;
          DEF:MACD2,LINETHICK0,COLORFFFF00;
          STICKLINE(CLOSE>0,0,0,2,0),COLOR808080;
          DEFUT:=BARSLAST(CROSS(MACD2,0));
          DEFDT:=BARSLAST(CROSS(0,MACD2));
          DEFUL:=IF(MACD2>=0,HHV(MACD2,DEFUT+1),REF(HHV(MACD2,DEFUT+1),DEFDT+1));
          DEFDL:=IF(MACD2<0,LLV(MACD2,DEFDT+1),REF(LLV(MACD2,DEFDT+1),DEFUT+1));
          DEFU2L:=REF(DEFUL,DEFUT+1);
          DEFD2L:=REF(DEFDL,DEFDT+1);
          DRAWICON(LLV(MACD2,4)>0 AND MACD2<REF(MACD2,1) AND REF(MACD2,1)>REF(MACD2,2) AND REF(MACD2,2)>REF(MACD2,3),MACD2,2);
          DRAWICON(HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3),MACD2,1);
          DRAWICON((JUD1 OR BARSLAST(JDU1)>BARSLAST(JUD1)) AND MACD2>=0 AND REF(MACD2,1)<REF(DEFU2L,1) AND MACD2>DEFU2L,MACD2,5);
          DRAWICON((JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1)) AND MACD2<0 AND REF(MACD2,1)>REF(DEFD2L,1) AND MACD2<DEFD2L,MACD2,3);
          VAR111:=JDU1 OR BARSLAST(JDU1)<BARSLAST(JUD1);
          VAR112:=HHV(MACD2,4)<0 AND MACD2>REF(MACD2,1) AND REF(MACD2,1)<REF(MACD2,2) AND REF(MACD2,2)<REF(MACD2,3);

          3. 變色MACD
          (1)
          DIFIF1:=EMA(CLOSE,12) - EMA(CLOSE,26);
          DEAEA1:=EMA(DIFIF1,9);
          MACD1:=2*(DIFIF1-DEAEA1),STICK;
          MACD2:=EMA(MACD1,3);
          STICKLINE(MACD1>MACD2 AND MACD1>0,0,MACD1,1,0),COLORRED;
          STICKLINE(MACD1>MACD2 AND MACD1<0,0,MACD1,1,0),COLORGREEN;
          STICKLINE(MACD1<MACD2,0,MACD1,1,0),COLORCBCBC0;
          STICKLINE(MACD1>=0 OR MACD1<=0,0,0,50,1),COLORWHITE;
          DIFIF1,COLOR33FF33,LINETHICK2;
          DEAEA1,COLORYELLOW,LINETHICK2;
          MACD:MACD1,NODRAW,COLORMAGENTA;
          強(qiáng):IF(DIFIF1>=DEAEA1,DIFIF1,DRAWNULL),COLORRED,LINETHICK2;
          弱:IF(DEAEA1>=DIFIF1,DEAEA1,DRAWNULL),COLORFF9900,LINETHICK2;
          DRAWICON(CROSS(DIFIF1,DEAEA1),DIFIF1+0.1,1);
          DRAWICON(CROSS(DEAEA1,DIFIF1),-0.5,2);
          DRAWTEXT(CROSS(DIFIF1,DEAEA1),DIFIF1,'○'),LINETHICK2, COLORYELLOW;
          (2)
          DIFIF1:=EMA(CLOSE,12) - EMA(CLOSE,26);
          DEAEA1:=EMA(DIFIF1,9);
          MACD1:=2*(DIFIF1-DEAEA1),STICK;
          MACD2:=EMA(MACD1,3);
          STICKLINE(MACD1>MACD2 AND MACD1>0,0,MACD1,1,0),COLORRED;
          STICKLINE(MACD1>MACD2 AND MACD1<0,0,MACD1,1,0),COLORGREEN;
          STICKLINE(MACD1<MACD2,0,MACD1,1,0),COLORCBCBC0;
          STICKLINE(MACD1>=0 OR MACD1<=0,0,0,50,1),COLORWHITE;
          DIFIF1,COLOR33FF33,LINETHICK2;
          DEAEA1,COLORYELLOW,LINETHICK2;
          MACD:MACD1,NODRAW,COLORMAGENTA;
          強(qiáng):IF(DIFIF1>=DEAEA1,DIFIF1,DRAWNULL),COLORRED,LINETHICK2;
          弱:IF(DEAEA1>=DIFIF1,DEAEA1,DRAWNULL),COLORFF9900,LINETHICK2;
          DRAWICON(CROSS(DIFIF1,DEAEA1),DIFIF1+0.1,1);
          DRAWICON(CROSS(DEAEA1,DIFIF1),-0.5,2);
          DRAWTEXT(CROSS(DIFIF1,DEAEA1),DIFIF1,'○'),LINETHICK2, COLORYELLOW;

          4. 至尊MACD
          DIFF:EMA(DCLOSE,12)-EMA(DCLOSE,26);
          DEA:EMA(DIFF,9),COLORFFFF00;
          MACD:(DIFF-DEA)*2;
          STICKLINE(MACD>=0 AND MACD>=REF(MACD,1),0,MACD,1,0),COLORRED;
          STICKLINE(MACD>=0 AND MACD<=REF(MACD,1),0,MACD,1,0),COLORGREEN;
          STICKLINE(MACD<=0 AND MACD>=REF(MACD,1),0,MACD,1,0),COLORFF00FF;
          STICKLINE(MACD<=0 AND MACD<=REF(MACD,1),0,MACD,1,0),COLOR00FFFF;
          多轉(zhuǎn)空:=((((LLV(MACD,4)>0) AND (MACD<REF(MACD,1))) AND (REF(MACD,1)>REF(MACD,2))) AND (REF(MACD,2)>REF(MACD,3)));
          空轉(zhuǎn)多:=((((HHV(MACD,4)<0) AND (MACD>REF(MACD,1))) AND (REF(MACD,1)<REF(MACD,2))) AND (REF(MACD,2)<REF(MACD,3)));
          DRAWICON(多轉(zhuǎn)空,MACD,2);
          DRAWICON(空轉(zhuǎn)多,MACD,1);
          低位金叉:=CROSS(DIFF,DEA) AND DIFF<-0.1;
          DRAWTEXT(低位金叉,DEA,' 低位金叉'),COLORFF00FF;
          JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
          二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
          STICKLINE(二次金叉,0,0.2,2,0),COLORFF00FF;
          DRAWTEXT(二次金叉,DEA*1.06,'二次金叉'),COLORRED;
          A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
          底背離:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA);
          DRAWTEXT(底背離,-0.2-MACD,'底背離'),COLORWHITE;
          A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
          頂背離:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF);
          DRAWTEXT(頂背離,0.2+MACD,'頂背離'),COLORWHITE;

          posted @ 2013-12-08 21:25 ZT文萃 閱讀(414) | 評(píng)論 (0)編輯 收藏

          ----start

              有點(diǎn)SQL基礎(chǔ)的人都會(huì)寫INSERT語句,可是有很大一部分人不知道DB2的INSERT語句有三種格式,即:一次插入一行,一次插入多行和從SELECT語句中插入。考慮下面的情況:

           
          1. CREATE TABLE USER  
          2. (  
          3. NAME VARCHAR(20) NOT NULL,---姓名  
          4. BIRTHDAY DATE---生日  
          5. );  

           

           

          現(xiàn)在要求你插入一行數(shù)據(jù),我們這么寫:

           
          1. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('張三','2000-1-1');  

           

           

          現(xiàn)在要求你插入三行數(shù)據(jù),我們這么寫:

           
          1. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('張三','2000-1-1');  
          2. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('李四','2000-1-1');  
          3. INSERT INTO USER (NAME,BIRTHDAY) VALUES ('王五','2000-1-1');  

           

           

          除此之外,我們還可以這么寫:

           
          1. INSERT INTO USER (NAME,BIRTHDAY) VALUES  
          2. ('張三','2000-1-1'),  
          3. ('李四','2000-1-1'),  
          4. ('王五','2000-1-1');  

           

           

          那么后一種寫法有什么好處呢?有兩點(diǎn)好處:

          1、性能更好。

          2、由于一條語句,所以它們是一個(gè)處理單元,要么都插入,要么都不插入。

           

          除此之外,我們還可以從SELECT中插入,格式如下:

           
          1. INSERT INTO USER (NAME,BIRTHDAY)   
          2. SELECT <COLUMN1>,<COLUMN2> FROM <TABLE_NAME> WHERE ...  

           

           

          以上比較簡單,我就不舉例子了。

           

          ---更多參見:DB2 SQL 精萃

          ----聲明:轉(zhuǎn)載請(qǐng)注明出處。

          ----last updated on 2009.11.5

          ----written by ShangBo on 2009.9.24

          ----end

          posted @ 2013-11-29 21:22 ZT文萃 閱讀(150) | 評(píng)論 (0)編輯 收藏

          ALTER TABLE TBNAME ADD COLUMN COLUMNNAME COLUMNTYPE COLUMNDEFAULTVALUE VALUE;
          EG:

          ALTER TABLE CIBCMS. T_TOL_CUST_VALIDADDR ADD COLUMN NVIPCORE_CFM_CNT BIGINT DEFAULT 0;

          給表添加說明:

          COMMENT ON COLUMN CIBCMS.T_TOL_CUST_VALIDADDR.NVIPCORE_CFM_CNT IS '已確認(rèn)非VIP核心客戶數(shù)量'


          ALTER TABLE TBNAME DROPE COLUMN COLUMNNAME;

          posted @ 2013-11-29 21:21 ZT文萃 閱讀(266) | 評(píng)論 (0)編輯 收藏

          1、如何向表中添加字段
          alter table 表名 add 字段名 數(shù)據(jù)類型 default 默認(rèn)值
          說明:數(shù)據(jù)類型如,varchar(50)
          alter table BANK_SOKECT_INFO ADD COLUMN DEPTNO  varchar(8);

          2、如何刪除表中字段
          ALTER table 表名 DROP column 字段名

          3、ALTER TABLE — 更改表屬性
          語法
          ALTER TABLE table [ * ]
             ADD [ COLUMN ] column type
          ALTER TABLE table [ * ]
             ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }
          ALTER TABLE table [ * ]
             RENAME [ COLUMN ] column TO newcolumn
          ALTER TABLE table
             RENAME TO newtable
          ALTER TABLE table
             ADD table constraint definition
          Inputs
          table
          試圖更改的現(xiàn)存表的名稱.
          column
          現(xiàn)存或新的列名稱.
          type
          新列的類型.
          newcolumn
          現(xiàn)存列的新名稱.
          newtable
          表的新名稱.
          table constraint definition
          表的新的約束定義. New table constraint for the table輸出
          ALTER
          從被更名的列或表返回的信息.
          ERROR
          如果一個(gè)列或表不存在返回的信息.
          描述
          ALTER TABLE 變更一個(gè)現(xiàn)存表的定義.ADD COLUMN 形式用與 CREATE TABLE一樣的語法向表中增加一

          個(gè)新列/字段。ALTER COLUMN 形式允許你從列/字段中設(shè)置或者刪除缺省(值)。注意缺省(值)只

          對(duì)新插入的行有效。RENAME 子句可以在不影響相關(guān)表中任何數(shù)據(jù)的情況下更改一個(gè)表或者列/字段的

          名稱。因此,表或列/字段在此命令執(zhí)行后仍將是相同尺寸和類型。ADD table constraint

          definition 子句用與 CREATE TABLE一樣的語法向表中增加一個(gè)新的約束。


          4、對(duì)現(xiàn)存列改名:
          ALTER TABLE distributors RENAME COLUMN address TO city;
          5、對(duì)現(xiàn)存表改名:
          ALTER TABLE distributors RENAME TO suppliers;
          向表中增加一個(gè)外鍵約束:
          ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES

          addresses(address) MATCH FULL

           

          DB2取前十條記錄:
          DB2 => select istop from news where id =370 fetch first 10 rows only  DB2

          修改字段長度:
          alter table news alter AUTHOR set data type varchar(250)

          DB2 => describe table news  DB2

          posted @ 2013-11-29 21:20 ZT文萃 閱讀(191) | 評(píng)論 (0)編輯 收藏

          http://hi.baidu.com/hooplee/item/aabdcddde02515e2795daaae

          當(dāng)你想讓文檔的讀者看到的是文檔的最終狀態(tài),而不是充滿了刪除線、下劃線和邊上的批注框,又或是格式錯(cuò)亂,總顯示已刪除的內(nèi)容的文檔,那么就需要去掉word文檔的標(biāo)記(含修訂和批注)。

          注:為什么在“視圖”——“標(biāo)記”取消選中,保存后,下次打開還是出現(xiàn)同樣問題?

          因?yàn)槟闶褂眯抻喒δ埽敲雌渌鞯男薷臅?huì)一直打開,所有插入的批注一直是文檔的一部分,直到它們被接受或拒絕(對(duì)于批注來說是刪除)為止。因此,這方法不能有效去掉word文檔的標(biāo)記。

          要去掉文檔中的標(biāo)記(含修訂和批注),就需要接受或拒絕更改,以及刪除批注。我總結(jié)的方法如下:

          情況一:文檔已出現(xiàn)上述癥狀(文檔充滿了刪除線、下劃線和邊上的批注框,又或是格式亂了,總顯示已刪除的內(nèi)容,)

          1, 在“視圖”菜單上,指向“工具欄”,然后單擊“審閱”(即打開審閱工具欄)。

          2, 在“審閱”工具欄上,單擊“顯示”,然后選中下列項(xiàng)目:

          批注

          墨跡注釋

          插入和刪除

          正在格式化

          審閱者(指向“審閱者”,然后確保選中了“所有審閱者”。)

          3,

          (1)如果接受所有的修訂,單擊“接受修訂”旁邊的小箭頭,選中“接受對(duì)文檔所做的所有修訂”

          (2)如果您知道要拒絕所有更改,則單擊“拒絕修訂/刪 除批注”旁邊的箭頭,然后單擊“拒絕對(duì)文檔所做的所有修訂”。要除去所有批注,您必須刪除它們。單擊“拒絕修訂/刪除批注”旁邊的箭頭,然后單擊“刪除文 檔中的所有批注”。

          (3) 如果你需要確認(rèn)每一處修訂:

          A. 在“審閱”工具欄上,單擊“后一處修訂或批注”從一處修訂或批注前進(jìn)到下處

          B. 在“審閱”工具欄上,對(duì)每處修訂或批注單擊“接受修訂”或“拒絕修訂/刪除批注”。

          4, 保存文檔。

          情況二:希望以后不要出現(xiàn)類似問題,即不需要記錄我對(duì)文檔的修改過程。

          1, 在“工具”菜單中,取消選擇“修訂”,此步驟也可以通過快捷健實(shí)現(xiàn):shift+ctrl+E。

          2, 在“工具”菜單中,點(diǎn)開“選項(xiàng)”,在“安全性”頁面,“隱私選項(xiàng)”中,取消選擇“打開或保存時(shí)標(biāo)記可見”,選擇“確定”,保存修改。

          說明:本文的方法基于本人使用word的積累,不承擔(dān)因按此操作出現(xiàn)問題的責(zé)任,歡迎指正。

          posted @ 2013-11-28 14:11 ZT文萃 閱讀(269) | 評(píng)論 (0)編輯 收藏

          http://news.cnfol.com/131125/101,1587,16468268,00.shtml

          我為什么從網(wǎng)易離職?

            知乎是個(gè)好網(wǎng)站,但我不喜歡它的評(píng)論,關(guān)閉評(píng)論又很沒意思,因此把答案寫在自己博客里。

            首先,網(wǎng)易是一家好公司,直至現(xiàn)在,我對(duì)它仍有感激之情。我在網(wǎng)易待了5年多,最后3年在杭州研究院帶相冊(cè)產(chǎn)品部。“博客、相冊(cè)、印象派”,那時(shí)是杭研在游戲之外的三條產(chǎn)品線,三個(gè)部門都挺不容易的。

            網(wǎng)易相冊(cè)在2006-2008曾經(jīng)盛極一時(shí),我接手的2009年已經(jīng)走上了下坡路。全世界的獨(dú)立相冊(cè)都在走下坡路。時(shí)勢變遷,相片的社交價(jià)值和媒體價(jià) 值壓倒性地超過了存儲(chǔ)價(jià)值,既然有博客相冊(cè)與空間相冊(cè),多少人還需要一個(gè)獨(dú)立相冊(cè)呢?我發(fā)起的幾次改版只能延緩下滑,卻無法扭轉(zhuǎn)這趨勢。

            重新提升相冊(cè)的數(shù)據(jù),也并非不可能。可以加強(qiáng)原圖備份,提供更大的免費(fèi)空間容量——在丁老板那關(guān)想都不要想,網(wǎng)易云存儲(chǔ)的早夭就是前車之鑒。也可以加強(qiáng)產(chǎn)品設(shè)計(jì)感,吸引對(duì)展示效果敏感的視覺系用戶,然而掂量了一下UED配給的視覺資源,就死了這條心。

            其實(shí),我很能理解公司的政策與資源不向相冊(cè)傾斜。相片存儲(chǔ)與流量開銷大,用戶活躍度低,付費(fèi)意愿近乎于零,怎么看都是筆賠錢買賣。但作為相冊(cè)部門負(fù)責(zé)人,我不甘心坐冷板凳啊,在相冊(cè)之外又折騰了三個(gè)項(xiàng)目。首先是網(wǎng)易攝影。

            攝影社區(qū)是我從零創(chuàng)建的項(xiàng)目,當(dāng)初在偏媒體與偏社區(qū)之間搖擺過一陣子,心想社區(qū)的發(fā)展空間大,就向社區(qū)轉(zhuǎn)過去——這是個(gè)巨大的坑。門戶推廣位雖然能帶 來流量,用戶成分卻極雜亂,極難建立統(tǒng)一的價(jià)值觀與積極的互動(dòng)氛圍,也就做不大社區(qū)。當(dāng)我意識(shí)到這一點(diǎn)的時(shí)候已經(jīng)晚了,不上不下,產(chǎn)品并不差但也別想紅。

            然后做了為婚紗寫真交易定制的類淘寶平臺(tái)“愛拍”,被野心沖昏頭腦,進(jìn)入一個(gè)我完全不熟悉的O2O市場,以慘敗告終。門戶精準(zhǔn)導(dǎo)入目標(biāo)消費(fèi)者的成本高昂,推廣上壓根沒法跟地方論壇競爭,產(chǎn)品體驗(yàn)方面的優(yōu)勢略等于空氣。這也是我在網(wǎng)易最大的一次挫折。

            還有網(wǎng)易云相冊(cè),2011年第一次戰(zhàn)App,包括“云存儲(chǔ)”與“相片群”兩個(gè)功能。云存儲(chǔ)的口碑還不錯(cuò),數(shù)據(jù)卻做不大,用戶需求不強(qiáng)烈。相片群則再次挫敗,低頻次的群分享情景很難建立使用習(xí)慣(這個(gè)領(lǐng)域前仆后繼,不斷有新應(yīng)用發(fā)布以及仆街)。

            在這么多項(xiàng)目無功而返后,我完全不知道留在網(wǎng)易還能做什么。

            1、繼續(xù)做相冊(cè)?做什么,怎么做,腦子里一片空白。相冊(cè)部門能爭取到的設(shè)計(jì)資源匱乏,大多數(shù)時(shí)候就一個(gè)UI設(shè)計(jì)師,對(duì)應(yīng)20多人的研發(fā)策劃運(yùn)營;運(yùn)營資源也匱乏,除了四五個(gè)運(yùn)營編制之外啥都沒有。我就算有些想法也難以推動(dòng)。

            2、搭上2011年的移動(dòng)快車,嘗試一些創(chuàng)新的移動(dòng)項(xiàng)目?開玩笑,移動(dòng)項(xiàng)目得在移動(dòng)中心申請(qǐng)人員來開發(fā),哪里申請(qǐng)得到,能維持云相冊(cè)App都已經(jīng)謝天謝地。相冊(cè)自己雖然有十來個(gè)程序員,奈何公司不給配Mac,也不配Android測試機(jī)……怎么開發(fā)?開發(fā)個(gè)毛。

            3、那時(shí)美圖秀秀已經(jīng)很火了,這類相片處理應(yīng)用的空間固然很大,我這個(gè)70后老男人卻做不了90后女生用的產(chǎn)品,年齡代溝是個(gè)硬傷。

            4、丁老板跟我提過,愿不愿意加入到2011年新啟動(dòng)的云閱讀項(xiàng)目里去,可惜我對(duì)云閱讀沒什么感覺,不是它的目標(biāo)用戶,無法感同身受。

            除此之外,別無出路。隔壁的博客部門一開始也覺得自己沒出路,后來找到了lofter項(xiàng)目,終于緩了過來。我跟做lofter的哥們聊天,問他如果不 做lofter,整個(gè)網(wǎng)易的產(chǎn)品隨你挑喜歡的,會(huì)選什么?想了半天,回答“沒得選”。又問如果lofter沒做好,你怎么辦?想了半天,回答“不敢想”。

            由此可以看到大公司做產(chǎn)品的苦悶之處。是否能撞到一個(gè)有潛力又適合自己的項(xiàng)目,決定了你的命運(yùn)——這件事情的隨機(jī)性特別強(qiáng),主要靠祖上積德。尤其在部 門定位的束縛下,我掙扎了三年,除了給自己漲點(diǎn)exp之外無可斬獲。再說人多嘴雜效率低,磨平了產(chǎn)品的棱角,做出來的東西總是平平淡淡沒個(gè)性,中庸罷了。

            再留下去,就真的是一個(gè)混子了。

            2012年初,辭職創(chuàng)業(yè)。我創(chuàng)業(yè)的動(dòng)機(jī)很單純,就是想出一款代表作,證明自己除了寫好博客也能做好產(chǎn)品。一年后這個(gè)目標(biāo)實(shí)現(xiàn)了,6個(gè)人做出來的蟬游記 是我在網(wǎng)易帶30人團(tuán)隊(duì)也搞不掂的,我1個(gè)人全包策劃交互QA的產(chǎn)出,反倒勝于以前帶著5個(gè)策劃整天開會(huì)討論。總之,團(tuán)隊(duì)越小則效率越高,效果也越好。但 我另外設(shè)計(jì)的五款A(yù)pp就沒得進(jìn)展,全套PSD擱大半年了,實(shí)在擠不出時(shí)間來研發(fā),而我對(duì)其中兩款個(gè)性之作的得意并不輸給蟬游記……這算是創(chuàng)業(yè)的另一面 吧。

            唉,有時(shí)候會(huì)懷疑自己做產(chǎn)品經(jīng)理是個(gè)錯(cuò)誤。攥著厚厚一摞沒能研發(fā)上線的原型,PSD,像妄想家堂吉訶德。

            回顧在網(wǎng)易做產(chǎn)品的三年半,從入門到熟練,成長中確實(shí)做了很多蠢事,但即便時(shí)光穿梭,以現(xiàn)在的經(jīng)驗(yàn)與技能再回去打一遍,也不會(huì)有什么大動(dòng)靜——我能選 擇的項(xiàng)目沒一個(gè)“有得打”。在互聯(lián)網(wǎng)行業(yè),選項(xiàng)目是決定性的,其次是配資源,再次才是個(gè)人的才能施展。網(wǎng)易內(nèi)部已有的幾個(gè)好項(xiàng)目,團(tuán)隊(duì)不大,我過去只能 “從總監(jiān)到策劃”,接受不了。重新發(fā)起新項(xiàng)目的話,上級(jí)最關(guān)心的是能畫多大餅,否則立項(xiàng)就很困難。團(tuán)隊(duì)士氣也很低落,都盯著你,嗷嗷待哺地等著你找到一個(gè) 好項(xiàng)目回來,可臣妾實(shí)在做不到啊。我想做的旅行項(xiàng)目幾乎不可能立項(xiàng),就算立項(xiàng)也不可能為它攢夠量身定制的UI/運(yùn)營/移動(dòng)研發(fā)等配套資源,舊瓶裝新酒是沒 法玩轉(zhuǎn)的。

            所以在當(dāng)時(shí)的相冊(cè)部門環(huán)境下,我什么都做不了,每天茫然地上班,茫然地下班,人生短暫,我性子又急,沒耐心繼續(xù)等待與尋找適合自己的好項(xiàng)目,這就是為 什么從網(wǎng)易離職的原因。離開差不多兩年了,也沒看見網(wǎng)易新發(fā)起哪個(gè)讓我有得打的項(xiàng)目(別跟我說易信),所以一點(diǎn)都不后悔辭職。再坐兩年冷板凳,痔瘡都要擴(kuò) 散到全身了,而創(chuàng)業(yè)固然艱難,至少是為自己認(rèn)同的產(chǎn)品而戰(zhàn),是老去以后也會(huì)懷念的一段經(jīng)歷。

          posted @ 2013-11-25 18:30 ZT文萃 閱讀(217) | 評(píng)論 (0)編輯 收藏

          http://blog.csdn.net/chenyanbo/article/details/6866941


          xml讀取異常Invalid byte 1 of 1-byte UTF-8 sequence


          說簡單點(diǎn)當(dāng)你解析別人的xml格式出現(xiàn)這個(gè)錯(cuò)誤可能就是別人在生成xml時(shí)沒有保存為utf-8的字符編碼格式。

          在中文版的window下java的默認(rèn)的編碼為GBK,也就是所雖然我們標(biāo)識(shí)了要將xml保存為utf-8格式但實(shí)際上文件是以GBK格式來保存的,所以這也就是為什么能夠我們使用GBK、GB2312編碼來生成xml文件能正確的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因。


          xml解析時(shí)遇到的編碼異常:

          1. org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.  
          2.     at org.dom4j.io.SAXReader.read(SAXReader.java:484)  
          3.     at org.dom4j.io.SAXReader.read(SAXReader.java:321)  
          4.     at com.dataoperate.PaseXml.pXml(PaseXml.java:28)  
          5.     at com.dataoperate.JdbcOp.insertDb(JdbcOp.java:30)  
          6.     at com.dataoperate.JdbcOp.main(JdbcOp.java:89)  
          7. Nested exception:   
          8. com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.  
          9.     at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)  
          10.     at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:554)  
          11.     at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)  
          12.     at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XMLEntityScanner.java:487)  
          13.     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2687)  
          14.     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)  
          15.     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)  
          16.     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)  
          17.     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)  
          18.     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)  
          19.     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)  
          20.     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)  
          21.     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)  
          22.     at org.dom4j.io.SAXReader.read(SAXReader.java:465)  
          23.     at org.dom4j.io.SAXReader.read(SAXReader.java:321)  
          24.     at com.dataoperate.PaseXml.pXml(PaseXml.java:28)  
          25.     at com.dataoperate.JdbcOp.insertDb(JdbcOp.java:30)  
          26.     at com.dataoperate.JdbcOp.main(JdbcOp.java:89)  
          27. Nested exception: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.  
          28.     at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)  
          29.     at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:554)  
          30.     at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)  
          31.     at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XMLEntityScanner.java:487)  
          32.     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2687)  
          33.     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)  
          34.     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)  
          35.     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)  
          36.     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)  
          37.     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)  
          38.     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)  
          39.     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)  
          40.     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)  
          41.     at org.dom4j.io.SAXReader.read(SAXReader.java:465)  
          42.     at org.dom4j.io.SAXReader.read(SAXReader.java:321)  
          43.     at com.dataoperate.PaseXml.pXml(PaseXml.java:28)  
          44.     at com.dataoperate.JdbcOp.insertDb(JdbcOp.java:30)  
          45.     at com.dataoperate.JdbcOp.main(JdbcOp.java:89)  
          解決:

          1、最簡單就是把<?xml version="1.0" encoding="UTF-8"?>改成<?xml version="1.0" encoding="gbk"?>

          2、或者把xml打開另存的時(shí)候把字符集改為UTF-8后保存

          3、在代碼解析的時(shí)候先把xml重新寫一遍

          [javascript] view plaincopy
          1. SAXReader reader = new SAXReader();    
          2.  org.dom4j.Document document = reader.read("D:\\ha.xml");    
          3.  OutputFormat of = new OutputFormat();    
          4.  of.setEncoding("UTF-8"); //改變編碼方式    
          5.  XMLWriter writer = new XMLWriter(new FileWriter "d:\\dom4j.xml"), of);    

          4、直接dom4j讀取的時(shí)候用io來讀,修改字符編碼

          1. FileInputStream in = new FileInputStream(new File(fileName));  
          2. Reader read = new InputStreamReader(in,"gbk");  
          3. Document document = reader.read(read);

          posted @ 2013-11-25 16:52 ZT文萃 閱讀(1152) | 評(píng)論 (0)編輯 收藏

          來自:
          http://www.cnblogs.com/macula/archive/2011/07/27/2118003.html

          DOM4J

           

              與利用DOM、SAX、JAXP機(jī)制來解析xml相比,DOM4J 表現(xiàn)更優(yōu)秀,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),只要懂得DOM基本概念,就可以通過dom4j的api文檔來解析xml。dom4j是一套開 源的api。實(shí)際項(xiàng)目中,往往選擇dom4j來作為解析xml的利器。

           

          先來看看dom4j中對(duì)應(yīng)XML的DOM樹建立的繼承關(guān)系

            

          針對(duì)于XML標(biāo)準(zhǔn)定義,對(duì)應(yīng)于圖2-1列出的內(nèi)容,dom4j提供了以下實(shí)現(xiàn):

            

          同時(shí),dom4j的NodeType枚舉實(shí)現(xiàn)了XML規(guī)范中定義的node類型。如此可以在遍歷xml文檔的時(shí)候通過常量來判斷節(jié)點(diǎn)類型了。

           

          常用API

           

          class org.dom4j.io.SAXReader

           

          • read  提供多種讀取xml文件的方式,返回一個(gè)Domcument對(duì)象

           

          interface org.dom4j.Document

           

          • iterator  使用此法獲取node
          • getRootElement  獲取根節(jié)點(diǎn)

           

          interface org.dom4j.Node

           

          • getName  獲取node名字,例如獲取根節(jié)點(diǎn)名稱為bookstore
          • getNodeType  獲取node類型常量值,例如獲取到bookstore類型為1——Element
          • getNodeTypeName  獲取node類型名稱,例如獲取到的bookstore類型名稱為Element

           

          interface org.dom4j.Element

           

          • attributes  返回該元素的屬性列表
          • attributeValue  根據(jù)傳入的屬性名獲取屬性值
          • elementIterator  返回包含子元素的迭代器
          • elements  返回包含子元素的列表

           

          interface org.dom4j.Attribute

           

          • getName  獲取屬性名
          • getValue  獲取屬性值

           

          interface org.dom4j.Text

           

          • getText  獲取Text節(jié)點(diǎn)值

           

          interface org.dom4j.CDATA

           

          • getText  獲取CDATA Section值

           

          interface org.dom4j.Comment

           

          • getText  獲取注釋 

           

           

          實(shí)例一:

          復(fù)制代碼
            1 //先加入dom4j.jar包    2 import java.util.HashMap;   3 import java.util.Iterator;   4 import java.util.Map;   5    6 import org.dom4j.Document;   7 import org.dom4j.DocumentException;   8 import org.dom4j.DocumentHelper;   9 import org.dom4j.Element;  10   11 /**     12 * @Title: TestDom4j.java  13 * @Package   14 * @Description: 解析xml字符串  15 * @author 無處不在  16 * @date 2012-11-20 下午05:14:05  17 * @version V1.0     18 */  19 public class TestDom4j {  20   21     public void readStringXml(String xml) {  22         Document doc = null;  23         try {  24   25             // 讀取并解析XML文檔  26             // SAXReader就是一個(gè)管道,用一個(gè)流的方式,把xml文件讀出來  27             //   28             // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文檔  29             // Document document = reader.read(new File("User.hbm.xml"));  30             // 下面的是通過解析xml字符串的  31             doc = DocumentHelper.parseText(xml); // 將字符串轉(zhuǎn)為XML  32   33             Element rootElt = doc.getRootElement(); // 獲取根節(jié)點(diǎn)  34             System.out.println("根節(jié)點(diǎn):" + rootElt.getName()); // 拿到根節(jié)點(diǎn)的名稱  35   36             Iterator iter = rootElt.elementIterator("head"); // 獲取根節(jié)點(diǎn)下的子節(jié)點(diǎn)head  37   38             // 遍歷head節(jié)點(diǎn)  39             while (iter.hasNext()) {  40   41                 Element recordEle = (Element) iter.next();  42                 String title = recordEle.elementTextTrim("title"); // 拿到head節(jié)點(diǎn)下的子節(jié)點(diǎn)title值  43                 System.out.println("title:" + title);  44   45                 Iterator iters = recordEle.elementIterator("script"); // 獲取子節(jié)點(diǎn)head下的子節(jié)點(diǎn)script  46   47                 // 遍歷Header節(jié)點(diǎn)下的Response節(jié)點(diǎn)  48                 while (iters.hasNext()) {  49   50                     Element itemEle = (Element) iters.next();  51   52                     String username = itemEle.elementTextTrim("username"); // 拿到head下的子節(jié)點(diǎn)script下的字節(jié)點(diǎn)username的值  53                     String password = itemEle.elementTextTrim("password");  54   55                     System.out.println("username:" + username);  56                     System.out.println("password:" + password);  57                 }  58             }  59             Iterator iterss = rootElt.elementIterator("body"); ///獲取根節(jié)點(diǎn)下的子節(jié)點(diǎn)body  60             // 遍歷body節(jié)點(diǎn)  61             while (iterss.hasNext()) {  62   63                 Element recordEless = (Element) iterss.next();  64                 String result = recordEless.elementTextTrim("result"); // 拿到body節(jié)點(diǎn)下的子節(jié)點(diǎn)result值  65                 System.out.println("result:" + result);  66   67                 Iterator itersElIterator = recordEless.elementIterator("form"); // 獲取子節(jié)點(diǎn)body下的子節(jié)點(diǎn)form  68                 // 遍歷Header節(jié)點(diǎn)下的Response節(jié)點(diǎn)  69                 while (itersElIterator.hasNext()) {  70   71                     Element itemEle = (Element) itersElIterator.next();  72   73                     String banlce = itemEle.elementTextTrim("banlce"); // 拿到body下的子節(jié)點(diǎn)form下的字節(jié)點(diǎn)banlce的值  74                     String subID = itemEle.elementTextTrim("subID");  75   76                     System.out.println("banlce:" + banlce);  77                     System.out.println("subID:" + subID);  78                 }  79             }  80         } catch (DocumentException e) {  81             e.printStackTrace();  82   83         } catch (Exception e) {  84             e.printStackTrace();  85   86         }  87     }  88   89     /**  90      * @description 將xml字符串轉(zhuǎn)換成map  91      * @param xml  92      * @return Map  93      */  94     public static Map readStringXmlOut(String xml) {  95         Map map = new HashMap();  96         Document doc = null;  97         try {  98             // 將字符串轉(zhuǎn)為XML  99             doc = DocumentHelper.parseText(xml);  100             // 獲取根節(jié)點(diǎn) 101             Element rootElt = doc.getRootElement();  102             // 拿到根節(jié)點(diǎn)的名稱 103             System.out.println("根節(jié)點(diǎn):" + rootElt.getName());  104  105             // 獲取根節(jié)點(diǎn)下的子節(jié)點(diǎn)head 106             Iterator iter = rootElt.elementIterator("head");  107             // 遍歷head節(jié)點(diǎn) 108             while (iter.hasNext()) { 109  110                 Element recordEle = (Element) iter.next(); 111                 // 拿到head節(jié)點(diǎn)下的子節(jié)點(diǎn)title值 112                 String title = recordEle.elementTextTrim("title");  113                 System.out.println("title:" + title); 114                 map.put("title", title); 115                 // 獲取子節(jié)點(diǎn)head下的子節(jié)點(diǎn)script 116                 Iterator iters = recordEle.elementIterator("script");  117                 // 遍歷Header節(jié)點(diǎn)下的Response節(jié)點(diǎn) 118                 while (iters.hasNext()) { 119                     Element itemEle = (Element) iters.next(); 120                     // 拿到head下的子節(jié)點(diǎn)script下的字節(jié)點(diǎn)username的值 121                     String username = itemEle.elementTextTrim("username");  122                     String password = itemEle.elementTextTrim("password"); 123  124                     System.out.println("username:" + username); 125                     System.out.println("password:" + password); 126                     map.put("username", username); 127                     map.put("password", password); 128                 } 129             } 130  131             //獲取根節(jié)點(diǎn)下的子節(jié)點(diǎn)body 132             Iterator iterss = rootElt.elementIterator("body");  133             // 遍歷body節(jié)點(diǎn) 134             while (iterss.hasNext()) { 135                 Element recordEless = (Element) iterss.next(); 136                 // 拿到body節(jié)點(diǎn)下的子節(jié)點(diǎn)result值 137                 String result = recordEless.elementTextTrim("result");  138                 System.out.println("result:" + result); 139                 // 獲取子節(jié)點(diǎn)body下的子節(jié)點(diǎn)form 140                 Iterator itersElIterator = recordEless.elementIterator("form");  141                 // 遍歷Header節(jié)點(diǎn)下的Response節(jié)點(diǎn) 142                 while (itersElIterator.hasNext()) { 143                     Element itemEle = (Element) itersElIterator.next(); 144                     // 拿到body下的子節(jié)點(diǎn)form下的字節(jié)點(diǎn)banlce的值 145                     String banlce = itemEle.elementTextTrim("banlce");  146                     String subID = itemEle.elementTextTrim("subID"); 147  148                     System.out.println("banlce:" + banlce); 149                     System.out.println("subID:" + subID); 150                     map.put("result", result); 151                     map.put("banlce", banlce); 152                     map.put("subID", subID); 153                 } 154             } 155         } catch (DocumentException e) { 156             e.printStackTrace(); 157         } catch (Exception e) { 158             e.printStackTrace(); 159         } 160         return map; 161     } 162  163     public static void main(String[] args) { 164  165         // 下面是需要解析的xml字符串例子 166         String xmlString = "<html>" + "<head>" + "<title>dom4j解析一個(gè)例子</title>" 167                 + "<script>" + "<username>yangrong</username>" 168                 + "<password>123456</password>" + "</script>" + "</head>" 169                 + "<body>" + "<result>0</result>" + "<form>" 170                 + "<banlce>1000</banlce>" + "<subID>36242519880716</subID>" 171                 + "</form>" + "</body>" + "</html>"; 172  173         /* 174          * Test2 test = new Test2(); test.readStringXml(xmlString); 175          */ 176         Map map = readStringXmlOut(xmlString); 177         Iterator iters = map.keySet().iterator(); 178         while (iters.hasNext()) { 179             String key = iters.next().toString(); // 拿到鍵 180             String val = map.get(key).toString(); // 拿到值 181             System.out.println(key + "=" + val); 182         } 183     } 184  185 }
          復(fù)制代碼

            

          實(shí)例二:

          復(fù)制代碼
           1 /**  2  * 解析包含有DB連接信息的XML文件  3  * 格式必須符合如下規(guī)范:  4  * 1. 最多三級(jí),每級(jí)的node名稱自定義;  5  * 2. 二級(jí)節(jié)點(diǎn)支持節(jié)點(diǎn)屬性,屬性將被視作子節(jié)點(diǎn);  6  * 3. CDATA必須包含在節(jié)點(diǎn)中,不能單獨(dú)出現(xiàn)。  7  *  8  * 示例1——三級(jí)顯示:  9  * <db-connections> 10  *         <connection> 11  *            <name>DBTest</name> 12  *            <jndi></jndi> 13  *            <url> 14  *                <![CDATA[jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=UTF8]]> 15  *             </url> 16  *            <driver>org.gjt.mm.mysql.Driver</driver> 17  *             <user>test</user> 18  *            <password>test2012</password> 19  *            <max-active>10</max-active> 20  *            <max-idle>10</max-idle> 21  *            <min-idle>2</min-idle> 22  *            <max-wait>10</max-wait> 23  *            <validation-query>SELECT 1+1</validation-query> 24  *         </connection> 25  * </db-connections> 26  * 27  * 示例2——節(jié)點(diǎn)屬性: 28  * <bookstore> 29  *         <book category="cooking"> 30  *            <title lang="en">Everyday Italian</title> 31  *            <author>Giada De Laurentiis</author> 32  *            <year>2005</year> 33  *            <price>30.00</price> 34  *         </book> 35  * 36  *         <book category="children" title="Harry Potter" author="J K. Rowling" year="2005" price="$29.9"/> 37  * </bookstore> 38  * 39  * @param configFile 40  * @return 41  * @throws Exception 42  */ 43 public static List<Map<String, String>> parseDBXML(String configFile) throws Exception { 44     List<Map<String, String>> dbConnections = new ArrayList<Map<String, String>>(); 45     InputStream is = Parser.class.getResourceAsStream(configFile); 46     SAXReader saxReader = new SAXReader(); 47     Document document = saxReader.read(is); 48     Element connections = document.getRootElement(); 49  50     Iterator<Element> rootIter = connections.elementIterator(); 51     while (rootIter.hasNext()) { 52         Element connection = rootIter.next(); 53         Iterator<Element> childIter = connection.elementIterator(); 54         Map<String, String> connectionInfo = new HashMap<String, String>(); 55         List<Attribute> attributes = connection.attributes(); 56         for (int i = 0; i < attributes.size(); ++i) { // 添加節(jié)點(diǎn)屬性 57             connectionInfo.put(attributes.get(i).getName(), attributes.get(i).getValue()); 58         } 59         while (childIter.hasNext()) { // 添加子節(jié)點(diǎn) 60             Element attr = childIter.next(); 61             connectionInfo.put(attr.getName().trim(), attr.getText().trim()); 62         } 63         dbConnections.add(connectionInfo); 64     } 65  66     return dbConnections; 67 }

          posted @ 2013-11-22 21:00 ZT文萃 閱讀(252) | 評(píng)論 (0)編輯 收藏

          轉(zhuǎn)自:http://txy920.blog.163.com/blog/static/1494427820095922212262/

          關(guān)鍵字:dom4j xpath

          1. 獲取Document
            • SAXReader saxReader = new SAXReader();
            • Document document = saxReader.read(FileUtil.getFileInputStream(fileName));
          2. 查詢Element
            • String xpath ="/composites/composite[@type='onDelete']";//查詢屬性type='ondDelete'的composite
            • List<Element> composites = document.selectNodes(xpath);
          3. xpath語法

          選取節(jié)點(diǎn)

          XPath 使用路徑表達(dá)式在 XML 文檔中選取節(jié)點(diǎn)。節(jié)點(diǎn)是通過沿著路徑或者 step 來選取的。

          下面列出了最有用的路徑表達(dá)式:

          表達(dá)式 描述
          nodename 選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn)
          / 從根節(jié)點(diǎn)選取
          // 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置
          . 選取當(dāng)前節(jié)點(diǎn)
          .. 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)
          @ 選取屬性

          實(shí)例

          在下面的表格中,我們已列出了一些路徑表達(dá)式以及表達(dá)式的結(jié)果:

          路徑表達(dá)式 結(jié)果
          bookstore 選取 bookstore 元素的所有子節(jié)點(diǎn)
          /bookstore

          選取根元素 bookstore

          注釋:假如路徑起始于正斜杠( / ),則此路徑始終代表到某元素的絕對(duì)路徑!

          bookstore/book 選取所有屬于 bookstore 的子元素的 book 元素。
          //book 選取所有 book 子元素,而不管它們?cè)谖臋n中的位置。
          bookstore//book 選擇所有屬于 bookstore 元素的后代的 book 元素,而不管它們位于 bookstore 之下的什么位置。
          //@lang 選取所有名為 lang 的屬性。

          謂語(Predicates)

          謂語用來查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn)。

          謂語被嵌在方括號(hào)中。

          實(shí)例

          在下面的表格中,我們列出了帶有謂語的一些路徑表達(dá)式,以及表達(dá)式的結(jié)果:

          路徑表達(dá)式 結(jié)果
          /bookstore/book[1] 選取屬于 bookstore 子元素的第一個(gè) book 元素。
          /bookstore/book[last()] 選取屬于 bookstore 子元素的最后一個(gè) book 元素。
          /bookstore/book[last()-1] 選取屬于 bookstore 子元素的倒數(shù)第二個(gè) book 元素。
          /bookstore/book[position()<3] 選取最前面的兩個(gè)屬于 bookstore 元素的子元素的 book 元素。
          //title[@lang] 選取所有擁有名為 lang 的屬性的 title 元素。
          //title[@lang='eng'] 選取所有 title 元素,且這些元素?fù)碛兄禐?eng 的 lang 屬性。
          /bookstore/book[price>35.00] 選取所有 bookstore 元素的 book 元素,且其中的 price 元素的值須大于 35.00。
          /bookstore/book[price>35.00]/title 選取所有 bookstore 元素中的 book 元素的 title 元素,且其中的 price 元素的值須大于 35.00。

          選取未知節(jié)點(diǎn)

          XPath 通配符可用來選取未知的 XML 元素。

          通配符 描述
          * 匹配任何元素節(jié)點(diǎn)
          @* 匹配任何屬性節(jié)點(diǎn)
          node() 匹配任何類型的節(jié)點(diǎn)

          實(shí)例

          在下面的表格中,我們列出了一些路徑表達(dá)式,以及這些表達(dá)式的結(jié)果:

          路徑表達(dá)式 結(jié)果
          /bookstore/* 選取 bookstore 元素的所有子節(jié)點(diǎn)
          //* 選取文檔中的所有元素
          //title[@*] 選取所有帶有屬性的 title 元素。

          選取若干路徑

          通過在路徑表達(dá)式中使用“|”運(yùn)算符,您可以選取若干個(gè)路徑。

          實(shí)例

          在下面的表格中,我們列出了一些路徑表達(dá)式,以及這些表達(dá)式的結(jié)果:

          路徑表達(dá)式 結(jié)果
          //book/title | //book/price 選取所有 book 元素的 title 和 price 元素。
          //title | //price 選取所有文檔中的 title 和 price 元素。
          /bookstore/book/title | //price 選取所有屬于 bookstore 元素的 book 元素的 title 元素,以及文檔中所有的 price 元素。


          XPath 軸

          軸可定義某個(gè)相對(duì)于當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)集。

          軸名稱 結(jié)果
          ancestor 選取當(dāng)前節(jié)點(diǎn)的所有先輩(父、祖父等)
          ancestor-or-self 選取當(dāng)前節(jié)點(diǎn)的所有先輩(父、祖父等)以及當(dāng)前節(jié)點(diǎn)本身
          attribute 選取當(dāng)前節(jié)點(diǎn)的所有屬性
          child 選取當(dāng)前節(jié)點(diǎn)的所有子元素。
          descendant 選取當(dāng)前節(jié)點(diǎn)的所有后代元素(子、孫等)。
          descendant-or-self 選取當(dāng)前節(jié)點(diǎn)的所有后代元素(子、孫等)以及當(dāng)前節(jié)點(diǎn)本身。
          following 選取文檔中當(dāng)前節(jié)點(diǎn)的結(jié)束標(biāo)簽之后的所有節(jié)點(diǎn)。
          namespace 選取當(dāng)前節(jié)點(diǎn)的所有命名空間節(jié)點(diǎn)
          parent 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。
          preceding 選取文檔中當(dāng)前節(jié)點(diǎn)的開始標(biāo)簽之前的所有節(jié)點(diǎn)。
          preceding-sibling 選取當(dāng)前節(jié)點(diǎn)之前的所有同級(jí)節(jié)點(diǎn)。
          self 選取當(dāng)前節(jié)點(diǎn)。

          位置路徑表達(dá)式

          位置路徑可以是絕對(duì)的,也可以是相對(duì)的。

          絕對(duì)路徑起始于正斜杠( / ),而相對(duì)路徑不會(huì)這樣。在兩種情況中,位置路徑均包括一個(gè)或多個(gè)步,每個(gè)步均被斜杠分割:

          絕對(duì)位置路徑:

          /step/step/...

          相對(duì)位置路徑:

          step/step/...

          每個(gè)步均根據(jù)當(dāng)前節(jié)點(diǎn)集之中的節(jié)點(diǎn)來進(jìn)行計(jì)算。

          步(step)包括:

          軸(axis)
          定義所選節(jié)點(diǎn)與當(dāng)前節(jié)點(diǎn)之間的樹關(guān)系
          節(jié)點(diǎn)測試(node-test)
          識(shí)別某個(gè)軸內(nèi)部的節(jié)點(diǎn)
          零個(gè)或者更多謂語(predicate)
          更深入地提煉所選的節(jié)點(diǎn)集

          步的語法:

          軸名稱::節(jié)點(diǎn)測試[謂語]

          實(shí)例

          例子 結(jié)果
          child::book 選取所有屬于當(dāng)前節(jié)點(diǎn)的子元素的 book 節(jié)點(diǎn)
          attribute::lang 選取當(dāng)前節(jié)點(diǎn)的 lang 屬性
          child::* 選取當(dāng)前節(jié)點(diǎn)的所有子元素
          attribute::* 選取當(dāng)前節(jié)點(diǎn)的所有屬性
          child::text() 選取當(dāng)前節(jié)點(diǎn)的所有文本子節(jié)點(diǎn)
          child::node() 選取當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)
          descendant::book 選取當(dāng)前節(jié)點(diǎn)的所有 book 后代
          ancestor::book 選擇當(dāng)前節(jié)點(diǎn)的所有 book 先輩
          ancestor-or-self::book 選取當(dāng)前節(jié)點(diǎn)的所有book先輩以及當(dāng)前節(jié)點(diǎn)(假如此節(jié)點(diǎn)是book節(jié)點(diǎn)的話)
          child::*/child::price 選取當(dāng)前節(jié)點(diǎn)的所有 price 孫。

          XPath 運(yùn)算符

          下面列出了可用在 XPath 表達(dá)式中的運(yùn)算符:

          運(yùn)算符 描述 實(shí)例 返回值
          | 計(jì)算兩個(gè)節(jié)點(diǎn)集 //book | //cd 返回所有帶有 book 和 ck 元素的節(jié)點(diǎn)集
          + 加法 6 + 4 10
          - 減法 6 - 4 2
          * 乘法 6 * 4 24
          div 除法 8 div 4 2
          = 等于 price=9.80

          如果 price 是 9.80,則返回 true。

          如果 price 是 9.90,則返回 fasle。

          != 不等于 price!=9.80

          如果 price 是 9.90,則返回 true。

          如果 price 是 9.80,則返回 fasle。

          < 小于 price<9.80

          如果 price 是 9.00,則返回 true。

          如果 price 是 9.90,則返回 fasle。

          <= 小于或等于 price<=9.80

          如果 price 是 9.00,則返回 true。

          如果 price 是 9.90,則返回 fasle。

          > 大于 price>9.80

          如果 price 是 9.90,則返回 true。

          如果 price 是 9.80,則返回 fasle。

          >= 大于或等于 price>=9.80

          如果 price 是 9.90,則返回 true。

          如果 price 是 9.70,則返回 fasle。

          or price=9.80 or price=9.70

          如果 price 是 9.80,則返回 true。

          如果 price 是 9.50,則返回 fasle。

          and price>9.00 and price<9.90

          如果 price 是 9.80,則返回 true。

          如果 price 是 8.50,則返回 fasle。

          mod 計(jì)算除法的余數(shù) 5 mod 2 1
          參考:

          posted @ 2013-11-22 20:56 ZT文萃 閱讀(314) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共8頁: 上一頁 1 2 3 4 5 6 7 8 下一頁 
          主站蜘蛛池模板: 安徽省| 云和县| 长岭县| 德格县| 阿克苏市| 应城市| 梁河县| 新绛县| 满城县| 特克斯县| 牟定县| 个旧市| 华容县| 洞头县| 邵阳市| 内乡县| 上虞市| 常熟市| 河东区| 义乌市| 阳曲县| 泾阳县| 衡山县| 盘山县| 阿克| 安多县| 德庆县| 安国市| 文山县| 衡阳县| 乌苏市| 白朗县| 涿鹿县| 宁明县| 庆城县| 行唐县| 松阳县| 修武县| 普格县| 海晏县| 大埔区|