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年抄底,結果破產(chǎn)。
          (失敗原因:抄底)

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

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

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

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

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

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

           

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


          一.選股指標.

          次日漲停
          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);
          啟動:=IF(XL3,0,VAR7*3),COLORRED;
          XG:啟動>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. 金叉選股指標
          快線:=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.強勢股
          {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;
          {設計思路:
          1.3日均線角度大于45度;
          2:5日均線角度大于45度;
          3:10日均線角度大于60度;
          4.20日均線角度大于45度;
          5.MA250向上;};
          3。紫色沖關
          (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;
          {設計思路:
          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;
          {設計思路:
          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.財務突破選股
          {財務突破選股公式-創(chuàng)幻閑云孤鶴-通信達專用}
          年認同價:=MA(C,240);
          價格中樞:=(SUM(年認同價,0)/(BARSSINCE(年認同價>0)+239));
          箱頂:=價格中樞*1.2;
          箱底:=價格中樞*0.8;
          毛利潤率:=FINANCE(21)/FINANCE(20);
          成長價值:=年認同價*(1+毛利潤率);
          收益價值:=年認同價+FINANCE(33);
          回調(diào)認同:=EMA(EXPMA(C,20),13);
          多頭:=(回調(diào)認同>REF(回調(diào)認同,1))AND(成長價值>REF(成長價值,1))AND(收益價值>REF(收益價值,1))AND(DYNAINFO(7)>0);
          回調(diào)條件:=COUNT(C<回調(diào)認同,5)>=3;
          回調(diào)突破:=(REF(C,1)<=REF(回調(diào)認同,1))AND(C>回調(diào)認同)AND(回調(diào)條件)AND 多頭;
          成長條件:=COUNT(C<成長價值,5)>=3;
          成長突破:=(REF(C,1)<=REF(成長價值,1))AND(C>成長價值)AND(成長條件)AND 多頭;
          收益條件:=COUNT(C<收益價值,5)>=3;
          收益突破:=(REF(C,1)<=REF(收益價值,1))AND(C>收益價值)AND(收益條件)AND 多頭;
          箱底條件:=COUNT(C<箱底,5)>=3;
          箱底突破:=(REF(C,1)<=REF(箱底,1))AND(C>箱底)AND(箱底條件)AND 多頭;
          價格條件:=COUNT(C<價格中樞,5)>=3;
          價格突破:=(REF(C,1)<=REF(價格中樞,1))AND(C>價格中樞)AND(價格條件)AND 多頭;
          箱頂條件:=COUNT(C<箱頂,5)>=3;
          箱頂突破:=(REF(C,1)<=REF(箱頂,1))AND(C>箱頂)AND(箱頂條件)AND 多頭;
          突破買點:(回調(diào)突破+成長突破+收益突破+箱底突破+價格突破+箱頂突破);

          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);
          {“短線是銀”的使用說明:
          此組合選擇比較簡單,初學者易于掌握,短線有一定可操作性與準確性。但只適合于3天內(nèi)的短線炒作,不能確定長期趨勢。
          選股設置:
          2日內(nèi)KD金叉,5日內(nèi)MACD金叉,均線5日,10日,20日多頭排列,收盤價漲過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ù)起攀圖指標改編,這是精簡后的指標};
          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);
          {結合中短波主圖使用};
          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);
          二。主圖指標
          三。三線買賣
          快線: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);
          高點壓力: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);
          低點支撐:DRAWLINE(CURRBARSCOUNT=DDCS2,L,CURRBARSCOUNT=DDCS1,L,1) COLORRED,LINETHICK2;
          ZGSTAR:=(高點壓力+低點支撐)/2;
          ZGEND:=CONST((高點壓力+低點支撐)/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);{高點}
          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);{低點}
          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);{高點}
          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);{低點}
          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);
          三。副圖指標

          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;
          強: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;
          強: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文萃 閱讀(411) | 評論 (0)編輯 收藏

          ----start

              有點SQL基礎的人都會寫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');  

           

           

          那么后一種寫法有什么好處呢?有兩點好處:

          1、性能更好。

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

           

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

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

           

           

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

           

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

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

          ----last updated on 2009.11.5

          ----written by ShangBo on 2009.9.24

          ----end

          posted @ 2013-11-29 21:22 ZT文萃 閱讀(144) | 評論 (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 '已確認非VIP核心客戶數(shù)量'


          ALTER TABLE TBNAME DROPE COLUMN COLUMNNAME;

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

          1、如何向表中添加字段
          alter table 表名 add 字段名 數(shù)據(jù)類型 default 默認值
          說明:數(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
          如果一個列或表不存在返回的信息.
          描述
          ALTER TABLE 變更一個現(xiàn)存表的定義.ADD COLUMN 形式用與 CREATE TABLE一樣的語法向表中增加一

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

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

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

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


          4、對現(xiàn)存列改名:
          ALTER TABLE distributors RENAME COLUMN address TO city;
          5、對現(xiàn)存表改名:
          ALTER TABLE distributors RENAME TO suppliers;
          向表中增加一個外鍵約束:
          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文萃 閱讀(183) | 評論 (0)編輯 收藏

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

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

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

          因為你使用修訂功能,那么其所作的修改會一直打開,所有插入的批注一直是文檔的一部分,直到它們被接受或拒絕(對于批注來說是刪除)為止。因此,這方法不能有效去掉word文檔的標記。

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

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

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

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

          批注

          墨跡注釋

          插入和刪除

          正在格式化

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

          3,

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

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

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

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

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

          4, 保存文檔。

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

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

          2, 在“工具”菜單中,點開“選項”,在“安全性”頁面,“隱私選項”中,取消選擇“打開或保存時標記可見”,選擇“確定”,保存修改。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            再留下去,就真的是一個混子了。

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

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

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

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

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

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


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


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

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


          xml解析時遇到的編碼異常:

          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打開另存的時候把字符集改為UTF-8后保存

          3、在代碼解析的時候先把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讀取的時候用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文萃 閱讀(1148) | 評論 (0)編輯 收藏

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

          DOM4J

           

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

           

          先來看看dom4j中對應XML的DOM樹建立的繼承關系

            

          針對于XML標準定義,對應于圖2-1列出的內(nèi)容,dom4j提供了以下實現(xiàn):

            

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

           

          常用API

           

          class org.dom4j.io.SAXReader

           

          • read  提供多種讀取xml文件的方式,返回一個Domcument對象

           

          interface org.dom4j.Document

           

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

           

          interface org.dom4j.Node

           

          • getName  獲取node名字,例如獲取根節(jié)點名稱為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é)點值

           

          interface org.dom4j.CDATA

           

          • getText  獲取CDATA Section值

           

          interface org.dom4j.Comment

           

          • getText  獲取注釋 

           

           

          實例一:

          復制代碼
            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就是一個管道,用一個流的方式,把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é)點  34             System.out.println("根節(jié)點:" + rootElt.getName()); // 拿到根節(jié)點的名稱  35   36             Iterator iter = rootElt.elementIterator("head"); // 獲取根節(jié)點下的子節(jié)點head  37   38             // 遍歷head節(jié)點  39             while (iter.hasNext()) {  40   41                 Element recordEle = (Element) iter.next();  42                 String title = recordEle.elementTextTrim("title"); // 拿到head節(jié)點下的子節(jié)點title值  43                 System.out.println("title:" + title);  44   45                 Iterator iters = recordEle.elementIterator("script"); // 獲取子節(jié)點head下的子節(jié)點script  46   47                 // 遍歷Header節(jié)點下的Response節(jié)點  48                 while (iters.hasNext()) {  49   50                     Element itemEle = (Element) iters.next();  51   52                     String username = itemEle.elementTextTrim("username"); // 拿到head下的子節(jié)點script下的字節(jié)點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é)點下的子節(jié)點body  60             // 遍歷body節(jié)點  61             while (iterss.hasNext()) {  62   63                 Element recordEless = (Element) iterss.next();  64                 String result = recordEless.elementTextTrim("result"); // 拿到body節(jié)點下的子節(jié)點result值  65                 System.out.println("result:" + result);  66   67                 Iterator itersElIterator = recordEless.elementIterator("form"); // 獲取子節(jié)點body下的子節(jié)點form  68                 // 遍歷Header節(jié)點下的Response節(jié)點  69                 while (itersElIterator.hasNext()) {  70   71                     Element itemEle = (Element) itersElIterator.next();  72   73                     String banlce = itemEle.elementTextTrim("banlce"); // 拿到body下的子節(jié)點form下的字節(jié)點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é)點 101             Element rootElt = doc.getRootElement();  102             // 拿到根節(jié)點的名稱 103             System.out.println("根節(jié)點:" + rootElt.getName());  104  105             // 獲取根節(jié)點下的子節(jié)點head 106             Iterator iter = rootElt.elementIterator("head");  107             // 遍歷head節(jié)點 108             while (iter.hasNext()) { 109  110                 Element recordEle = (Element) iter.next(); 111                 // 拿到head節(jié)點下的子節(jié)點title值 112                 String title = recordEle.elementTextTrim("title");  113                 System.out.println("title:" + title); 114                 map.put("title", title); 115                 // 獲取子節(jié)點head下的子節(jié)點script 116                 Iterator iters = recordEle.elementIterator("script");  117                 // 遍歷Header節(jié)點下的Response節(jié)點 118                 while (iters.hasNext()) { 119                     Element itemEle = (Element) iters.next(); 120                     // 拿到head下的子節(jié)點script下的字節(jié)點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é)點下的子節(jié)點body 132             Iterator iterss = rootElt.elementIterator("body");  133             // 遍歷body節(jié)點 134             while (iterss.hasNext()) { 135                 Element recordEless = (Element) iterss.next(); 136                 // 拿到body節(jié)點下的子節(jié)點result值 137                 String result = recordEless.elementTextTrim("result");  138                 System.out.println("result:" + result); 139                 // 獲取子節(jié)點body下的子節(jié)點form 140                 Iterator itersElIterator = recordEless.elementIterator("form");  141                 // 遍歷Header節(jié)點下的Response節(jié)點 142                 while (itersElIterator.hasNext()) { 143                     Element itemEle = (Element) itersElIterator.next(); 144                     // 拿到body下的子節(jié)點form下的字節(jié)點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解析一個例子</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 }
          復制代碼

            

          實例二:

          復制代碼
           1 /**  2  * 解析包含有DB連接信息的XML文件  3  * 格式必須符合如下規(guī)范:  4  * 1. 最多三級,每級的node名稱自定義;  5  * 2. 二級節(jié)點支持節(jié)點屬性,屬性將被視作子節(jié)點;  6  * 3. CDATA必須包含在節(jié)點中,不能單獨出現(xiàn)。  7  *  8  * 示例1——三級顯示:  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é)點屬性: 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é)點屬性 57             connectionInfo.put(attributes.get(i).getName(), attributes.get(i).getValue()); 58         } 59         while (childIter.hasNext()) { // 添加子節(jié)點 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文萃 閱讀(245) | 評論 (0)編輯 收藏

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

          關鍵字: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é)點

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

          下面列出了最有用的路徑表達式:

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

          實例

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

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

          選取根元素 bookstore

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

          bookstore/book 選取所有屬于 bookstore 的子元素的 book 元素。
          //book 選取所有 book 子元素,而不管它們在文檔中的位置。
          bookstore//book 選擇所有屬于 bookstore 元素的后代的 book 元素,而不管它們位于 bookstore 之下的什么位置。
          //@lang 選取所有名為 lang 的屬性。

          謂語(Predicates)

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

          謂語被嵌在方括號中。

          實例

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

          路徑表達式 結果
          /bookstore/book[1] 選取屬于 bookstore 子元素的第一個 book 元素。
          /bookstore/book[last()] 選取屬于 bookstore 子元素的最后一個 book 元素。
          /bookstore/book[last()-1] 選取屬于 bookstore 子元素的倒數(shù)第二個 book 元素。
          /bookstore/book[position()<3] 選取最前面的兩個屬于 bookstore 元素的子元素的 book 元素。
          //title[@lang] 選取所有擁有名為 lang 的屬性的 title 元素。
          //title[@lang='eng'] 選取所有 title 元素,且這些元素擁有值為 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é)點

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

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

          實例

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

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

          選取若干路徑

          通過在路徑表達式中使用“|”運算符,您可以選取若干個路徑。

          實例

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

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


          XPath 軸

          軸可定義某個相對于當前節(jié)點的節(jié)點集。

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

          位置路徑表達式

          位置路徑可以是絕對的,也可以是相對的。

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

          絕對位置路徑:

          /step/step/...

          相對位置路徑:

          step/step/...

          每個步均根據(jù)當前節(jié)點集之中的節(jié)點來進行計算。

          步(step)包括:

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

          步的語法:

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

          實例

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

          XPath 運算符

          下面列出了可用在 XPath 表達式中的運算符:

          運算符 描述 實例 返回值
          | 計算兩個節(jié)點集 //book | //cd 返回所有帶有 book 和 ck 元素的節(jié)點集
          + 加法 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 計算除法的余數(shù) 5 mod 2 1
          參考:

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

          僅列出標題
          共8頁: 上一頁 1 2 3 4 5 6 7 8 下一頁 
          主站蜘蛛池模板: 库尔勒市| 浏阳市| 任丘市| 桦南县| 乌兰浩特市| 襄城县| 二手房| 东莞市| 大埔区| 拜泉县| 旌德县| 万年县| 乐至县| 彭山县| 伊宁县| 甘谷县| 汉源县| 兰考县| 嫩江县| 山东| 贵港市| 云梦县| 沽源县| 鄂伦春自治旗| 德清县| 房产| 鄂州市| 巴楚县| 宁都县| 库尔勒市| 安溪县| 定结县| 黑河市| 招远市| 万州区| 思南县| 乌苏市| 莎车县| 平塘县| 巫山县| 资源县|