| |  | | 
	| ivancclai 資深會員
 
 
	註冊日期: Apr 2017來  自: New Taipei city
 文章數量: 252
 | 
	    | 求助 最後ˊ60分時 創新高或創新低  一分kl產生ˊ60分創新高後 產生第一項下缺口 版主你好
 求助修改下列程式
 
 邏輯是 在最後60分鐘中
 條件1:  1分k創60分新高
 條件2:  有向下缺口產生
 反之
 
 條件1:  1分k創ˊ60分新低
 條件2:  有向上缺口產生
 
 條件1 我會寫 但是條件二 我不會 所以求助版主  謝謝
 
 
 
 
 //==========================================================================
 //=============================== 缺口 =================================
 HH:=HIGH; LL:=LOW; UH:=MAX(OPEN,CLOSE); UL:=MIN(OPEN,CLOSE);
 ZA:=CLOSE*0;
 UT1:=ZA; UT2:=ZA; UP1:=ZA; UP2:=ZA; UD1:=ZA; UD2:=ZA;
 DT1:=ZA; DT2:=ZA; DP1:=ZA; DP2:=ZA; DD1:=ZA; DD2:=ZA;
 for i=DATACOUNT downto 2 do begin
 IF UL[i]>UH[i-1] then begin  //跳上
 IF LL[i]<HH[i-1] then begin
 UT1[i]:=1;  UT2[i-1]:=1; UP1[i]:=UL[i]; UP2[i-1]:=UH[i-1];
 end else begin
 UT1[i]:=2;  UT2[i-1]:=2; UP1[i]:=LL[i]; UP2[i-1]:=HH[i-1];
 end;
 for j=i+1 to DATACOUNT do IF LL[j]<UP1[i] then break;
 j:=j-(j>DATACOUNT); UD1[i]:=j-i;
 for j=i to DATACOUNT do IF LL[j]<UP2[i-1] then break;
 j:=j-(j>DATACOUNT); UD2[i-1]:=j-i+1;
 end else IF UH[i]<UL[i-1] then begin //跳下
 IF HH[i]>LL[i-1] then begin
 DT1[i]:=1; DT2[i-1]:=1; DP1[i]:=UH[i]; DP2[i-1]:=UL[i-1];
 end else begin
 DT1[i]:=2; DT2[i-1]:=2; DP1[i]:=HH[i]; DP2[i-1]:=LL[i-1];
 end;
 for j=i+1 to DATACOUNT do IF HH[j]>DP1[i] then break;
 j:=j-(j>DATACOUNT); DD1[i]:=j-i;
 for j=i to DATACOUNT do IF HH[j]>DP2[i-1] then break;
 j:=j-(j>DATACOUNT); DD2[i-1]:=j-i+1;
 end;
 end;
 
 DRAWSL(UT2=1 and UD2>0,UP2,0,UD2,0) color66FF pxdn0 LINETHICK2 LINEDASH;//=============== 向上缺口低==
 DRAWSL(UT2=2 and UD2>0,UP2,0,UD2,0) color66FF pxdn0 LINETHICK2 LINEDASH;
 DRAWSL(DT2=1 and DD2>0,DP2,0,DD2,0) colorFFFF pxdn0 LINETHICK2 LINEDASH;//=============== 向下缺口高==
 DRAWSL(DT2=2 and DD2>0,DP2,0,DD2,0) colOrFFFF pxdn0 LINETHICK2 LINEDASH;
 
 DRAWICON(UT2=1 AND UD2>0,MAX(C,O)-3,'$BA_BS_5B.gif') pxdn10;//紅 多
 DRAWICON(UT2=2 AND UD2>0,MAX(C,O)-3,'$BA_BS_5B.gif') pxdn10;//紅 多
 DRAWICON(DT2=1 and DD2>0,MIN(C,O)+3,'$BA_BS_5S.gif') pxUP90;//綠 空
 DRAWICON(DT2=2 and DD2>0,MIN(C,O)+3,'$BA_BS_5S.gif') pxUP90;//綠 空
 
 DRAWSL(UT1=1 and UD1>0,UP1,0,UD1,0) coloR66FF pxdn0 LINETHICK1 LINEDASH;
 DRAWSL(UT1=2 and UD1>0,UP1,0,UD1,0) color66FF pxdn0 LINETHICK1 LINEDASH;
 DRAWSL(DT1=1 and DD1>0,DP1,0,DD1,0) colORFFFF pxdn0 LINETHICK1 LINEDASH;
 DRAWSL(DT1=2 and DD1>0,DP1,0,DD1,0) colorFFFF pxdn0 LINETHICK1 LINEDASH;
 //======================================================================
 
 //=========================================================================================================================================
 //=============================M60 創新高低後 缺口 見高與落底k判讀==========================================================================
 // =================================================================
 //DRAWICON(THAA,HIGH+10,'$SO_BS_2S.gif') pxup450;
 //SP1:=BARSLAST(條件1);
 //條件2:=CLOSE>REF(HIGH,SP1);
 //條件2:=條件2 and SUM(條件2,SP1+1)=1;
 //========================================================================
 //MA20:MA(CLOSE,20), linethick0 colorFF3FF; // 小藍 MA20
 //MA20DOWN:=MA20<REF(MA20,1);
 //PARTLINE(MA20,MA20) colorFF33FF,linethick3;
 //PARTLINE(MA20DOWN,MA20) colorFFFF00,linethick3;
 
 //DRAWSL(ISLASTBAR ,MA20,0,0,3) pxdn0  coloRFFF00 LINETHICK1 LINEDOT;
 //DRAWNUMBER(ISLASTBAR,MA20,MA20,PN) SHIFT3,colorFFFF00 PXUP60;
 //DRAWTEXT(ISLASTBAR,MA20,'MA20') SHIFT1,colorFFFF00 PXUP60;
 //==========================================================================================
 IF DATATYPE <4 THEN BEGIN
 //==============第一=================================================================
 MH60X:=  HIGH = MH60  LINETHICK0 COLORFFFFFF;
 //STICKLINE(MH60X,LOW,LOW,8,0),COLOR00FF00   LINETHICK5  LINEDOT ;
 //DRAWICON(MH60x ,(CLOSE+OPEN)/2,'$SO_N1_S1.gif') PXUP20 ALIGN20;//1 綠
 //DRAWNUMBER(MH60A,H,HH3,PPN) ALIGN0 ,colorFF PXUP60;//========
 //DRAWNUMBER(MH60A,L,LL3,PPN) ALIGN0 ,colorFF00 PXDN60;//========
 //DRAWTEXT(MH60A,HIGH+1,'M60創新高') ALIGN0,coloRFF00 PXUP127;
 
 ML60X:= LOW = ML60  LINETHICK0 COLORFFFFFF;
 //STICKLINE(ML60X,HIGH,HIGH,8,0),COLOR00BBFF  LINETHICK5 LINEDOT ;
 //DRAWICON(ML60x,(CLOSE+OPEN)/2,'$SO_N1_B1.gif') PXDN20 ALIGN0;//1 紅
 //DRAWNUMBER(ML60A,H,HH3,PPN) ALIGN0 colorFF PXUp60;//======
 //DRAWNUMBER(ML60A,L,LL3,PPN) ALIGN0 colorFF00 PXDN60;//======
 //DRAWTEXT(ML60A,LOW-1,'M60創新低') ALIGN0,coloR00FF00 PXDN127 SHIFT;
 //==================================================================================
 //===============第二===========================================================
 // ==================================================================
 //DRAWICON(THAA,HIGH+10,'$SO_BS_2S.gif') pxup450;
 //SP1:=BARSLAST(條件1);
 //條件2:=CLOSE>REF(HIGH,SP1);
 //條件2:=條件2 and SUM(條件2,SP1+1)=1;
 //========================================================================
 SP1X:=BARSLAST(MH60X);
 條件2X := CLOS< REF(LOW,SP1X);
 條件2X:=條件2X and SUM(條件2X,SP1X+1)=1;
 //DRAWICON(條件2X,(C+O)/2,'$SO_N1_S2.gif') pxDN20 ALIGN0;//2 綠
 SP2X:=BARSLAST(ML60X);
 條件3X := CLOSE> REF(HIGH,SP2X);
 條件3X:=條件3X and SUM(條件3X,SP2X+1)=1;
 //DRAWICON(條件3X,(CLOSE+OPEN)/2,'$SO_N1_B2.gif') pxDN0 ALIGN0;//2 紅
 //================================================================================
 |  
	      |  | 向版主報告此篇 |  |  |  
	|  2024-11-22 06:17 |  |  | 
 |  | 
 |  | | 
	| cgjj 總版主
 
  
	註冊日期: Oct 2003來  自:
 文章數量: 18210
 | 
	    | 回覆: 求助 最後ˊ60分時 創新高或創新低  一分kl產生ˊ60分創新高後 產生第一項下缺口 引用:最初由 ivancclai 發表
 版主你好
 
 求助修改下列程式
 
 邏輯是 在最後60分鐘中
 條件1:  1分k創60分新高
 條件2:  有向下缺口產生
 反之
 
 條件1:  1分k創ˊ60分新低
 條件2:  有向上缺口產生
 
 條件1 我會寫 但是條件二 我不會 所以求助版主  謝謝
 
 
 
 
 //==========================================================================
 //=============================== 缺口 =================================
 HH:=HIGH; LL:=LOW; UH:=MAX(OPEN,CLOSE); UL:=MIN(OPEN,CLOSE);
 ZA:=CLOSE*0;
 UT1:=ZA; UT2:=ZA; UP1:=ZA; UP2:=ZA; UD1:=ZA; UD2:=ZA;
 DT1:=ZA; DT2:=ZA; DP1:=ZA; DP2:=ZA; DD1:=ZA; DD2:=ZA;
 for i=DATACOUNT downto 2 do begin
 IF UL[i]>UH[i-1] then begin  //跳上
 IF LL[i]<HH[i-1] then begin
 UT1[i]:=1;  UT2[i-1]:=1; UP1[i]:=UL[i]; UP2[i-1]:=UH[i-1];
 end else begin
 UT1[i]:=2;  UT2[i-1]:=2; UP1[i]:=LL[i]; UP2[i-1]:=HH[i-1];
 end;
 for j=i+1 to DATACOUNT do IF LL[j]<UP1[i] then break;
 j:=j-(j>DATACOUNT); UD1[i]:=j-i;
 for j=i to DATACOUNT do IF LL[j]<UP2[i-1] then break;
 j:=j-(j>DATACOUNT); UD2[i-1]:=j-i+1;
 end else IF UH[i]<UL[i-1] then begin //跳下
 IF HH[i]>LL[i-1] then begin
 DT1[i]:=1; DT2[i-1]:=1; DP1[i]:=UH[i]; DP2[i-1]:=UL[i-1];
 end else begin
 DT1[i]:=2; DT2[i-1]:=2; DP1[i]:=HH[i]; DP2[i-1]:=LL[i-1];
 end;
 for j=i+1 to DATACOUNT do IF HH[j]>DP1[i] then break;
 j:=j-(j>DATACOUNT); DD1[i]:=j-i;
 for j=i to DATACOUNT do IF HH[j]>DP2[i-1] then break;
 j:=j-(j>DATACOUNT); DD2[i-1]:=j-i+1;
 end;
 end;
 
 DRAWSL(UT2=1 and UD2>0,UP2,0,UD2,0) color66FF pxdn0 LINETHICK2 LINEDASH;//=============== 向上缺口低==
 DRAWSL(UT2=2 and UD2>0,UP2,0,UD2,0) color66FF pxdn0 LINETHICK2 LINEDASH;
 DRAWSL(DT2=1 and DD2>0,DP2,0,DD2,0) colorFFFF pxdn0 LINETHICK2 LINEDASH;//=============== 向下缺口高==
 DRAWSL(DT2=2 and DD2>0,DP2,0,DD2,0) colOrFFFF pxdn0 LINETHICK2 LINEDASH;
 
 DRAWICON(UT2=1 AND UD2>0,MAX(C,O)-3,'$BA_BS_5B.gif') pxdn10;//紅 多
 DRAWICON(UT2=2 AND UD2>0,MAX(C,O)-3,'$BA_BS_5B.gif') pxdn10;//紅 多
 DRAWICON(DT2=1 and DD2>0,MIN(C,O)+3,'$BA_BS_5S.gif') pxUP90;//綠 空
 DRAWICON(DT2=2 and DD2>0,MIN(C,O)+3,'$BA_BS_5S.gif') pxUP90;//綠 空
 
 DRAWSL(UT1=1 and UD1>0,UP1,0,UD1,0) coloR66FF pxdn0 LINETHICK1 LINEDASH;
 DRAWSL(UT1=2 and UD1>0,UP1,0,UD1,0) color66FF pxdn0 LINETHICK1 LINEDASH;
 DRAWSL(DT1=1 and DD1>0,DP1,0,DD1,0) colORFFFF pxdn0 LINETHICK1 LINEDASH;
 DRAWSL(DT1=2 and DD1>0,DP1,0,DD1,0) colorFFFF pxdn0 LINETHICK1 LINEDASH;
 //======================================================================
 
 //=========================================================================================================================================
 //=============================M60 創新高低後 缺口 見高與落底k判讀==========================================================================
 // =================================================================
 //DRAWICON(THAA,HIGH+10,'$SO_BS_2S.gif') pxup450;
 //SP1:=BARSLAST(條件1);
 //條件2:=CLOSE>REF(HIGH,SP1);
 //條件2:=條件2 and SUM(條件2,SP1+1)=1;
 //========================================================================
 //MA20:MA(CLOSE,20), linethick0 colorFF3FF; // 小藍 MA20
 //MA20DOWN:=MA20<REF(MA20,1);
 //PARTLINE(MA20,MA20) colorFF33FF,linethick3;
 //PARTLINE(MA20DOWN,MA20) colorFFFF00,linethick3;
 
 //DRAWSL(ISLASTBAR ,MA20,0,0,3) pxdn0  coloRFFF00 LINETHICK1 LINEDOT;
 //DRAWNUMBER(ISLASTBAR,MA20,MA20,PN) SHIFT3,colorFFFF00 PXUP60;
 //DRAWTEXT(ISLASTBAR,MA20,'MA20') SHIFT1,colorFFFF00 PXUP60;
 //==========================================================================================
 IF DATATYPE <4 THEN BEGIN
 //==============第一=================================================================
 MH60X:=  HIGH = MH60  LINETHICK0 COLORFFFFFF;
 //STICKLINE(MH60X,LOW,LOW,8,0),COLOR00FF00   LINETHICK5  LINEDOT ;
 //DRAWICON(MH60x ,(CLOSE+OPEN)/2,'$SO_N1_S1.gif') PXUP20 ALIGN20;//1 綠
 //DRAWNUMBER(MH60A,H,HH3,PPN) ALIGN0 ,colorFF PXUP60;//========
 //DRAWNUMBER(MH60A,L,LL3,PPN) ALIGN0 ,colorFF00 PXDN60;//========
 //DRAWTEXT(MH60A,HIGH+1,'M60創新高') ALIGN0,coloRFF00 PXUP127;
 
 ML60X:= LOW = ML60  LINETHICK0 COLORFFFFFF;
 //STICKLINE(ML60X,HIGH,HIGH,8,0),COLOR00BBFF  LINETHICK5 LINEDOT ;
 //DRAWICON(ML60x,(CLOSE+OPEN)/2,'$SO_N1_B1.gif') PXDN20 ALIGN0;//1 紅
 //DRAWNUMBER(ML60A,H,HH3,PPN) ALIGN0 colorFF PXUp60;//======
 //DRAWNUMBER(ML60A,L,LL3,PPN) ALIGN0 colorFF00 PXDN60;//======
 //DRAWTEXT(ML60A,LOW-1,'M60創新低') ALIGN0,coloR00FF00 PXDN127 SHIFT;
 //==================================================================================
 //===============第二===========================================================
 // ==================================================================
 //DRAWICON(THAA,HIGH+10,'$SO_BS_2S.gif') pxup450;
 //SP1:=BARSLAST(條件1);
 //條件2:=CLOSE>REF(HIGH,SP1);
 //條件2:=條件2 and SUM(條件2,SP1+1)=1;
 //========================================================================
 SP1X:=BARSLAST(MH60X);
 條件2X := CLOS< REF(LOW,SP1X);
 條件2X:=條件2X and SUM(條件2X,SP1X+1)=1;
 //DRAWICON(條件2X,(C+O)/2,'$SO_N1_S2.gif') pxDN20 ALIGN0;//2 綠
 SP2X:=BARSLAST(ML60X);
 條件3X := CLOSE> REF(HIGH,SP2X);
 條件3X:=條件3X and SUM(條件3X,SP2X+1)=1;
 //DRAWICON(條件3X,(CLOSE+OPEN)/2,'$SO_N1_B2.gif') pxDN0 ALIGN0;//2 紅
 //================================================================================
 
 
 有點看不懂您在寫什麼!!
 
 在最後60分鐘中
 條件1:  1分k創60分新高
 條件2:  有向下缺口產生
 反之
 條件1:  1分k創ˊ60分新低
 條件2:  有向上缺口產生
 
 
 問題是
 既然是創新高,怎會是產生"向下缺口"
 這很矛盾,是否寫反了!!!!
 
 還是
 "條件2" 在60分鐘內發生過都算???
 
 如果只是要判斷有無向上或向下缺口產生
 不需要添加這一堆複雜的程式碼!!!
 |  
	      |  | 向版主報告此篇 |  |  |  
	|  2024-11-22 09:21 |  |  | 
 |  | 
 |  | | 
	| ivancclai 資深會員
 
 
	註冊日期: Apr 2017來  自: New Taipei city
 文章數量: 252
 | 
	    | 這樣解釋是否可以幫我解釋給版主
 我希望再創新高綠1 創新低 紅1
 之 後產生第一個缺口 劃黃橘線 開始位置標示
 |  
	      | 最後由 ivancclai 在 2024-11-22 13:26 編輯 | 向版主報告此篇 |  |  |  
	|  2024-11-22 13:23 |  |  | 
 |  | 
 
    | 
 
 
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
 
 |  
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行
  製作 Copyright 2003-. All Rights Reserved.  聯絡我們 |