奇狐社區論壇
在這個頁面顯示本主題全部的 13 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- [求救]感恩過去的指導,或許以此內容,想得知過去某一時間中的三個最高點或三個最低點 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24223)


由 a13923707868 在 2025-04-13 13:08 發表:

[求救]感恩過去的指導,或許以此內容,想得知過去某一時間中的三個最高點或三個最低點

相鄰兩高點或兩低點比較標示

引用:
最初由 a13923707868 發表
轉貼論壇資深會員的內容(程式碼做小幅修改):
資深會員 ivancclai
發表主題:求救 前高前低上做標記
程式碼如下:
//====================================前高低畫線===========================================================
//N 請自行帶入參數

//Input : N(5,2,100);
N:=5;

H01a:=H=HHV(H,N); H01:=FILTERX(H01a,N); H01b:=BARSLAST(H01); H01c:=SETVAL(REFX(H01,1),H01b+1,-H01b,H01b+1);
H01H:=REF(H,H01b);
STICKLINE(H01b>=0,H01H,H01H,10,0),COLORRED,LINEDOT;
STICKLINE(H01b>=0,H01H,H01H,10,0),COLORRED,LINEDOT,SHIFT6;
DRAWNUMBER(H01,H,H,0),COLOR800080,PXUP50,ALIGN0;

H02:=LLV(L,H01c); H02L:=SETVAL(REFX(H01,1) OR ISLASTBAR,H02,-H01b,H02);
H03:=L=H02L AND L<REFX(L,1); H03b:=BARSLAST(H03);
H04L:=REF(L,H03b);// H04L:=SETVAL(REFX(H03,1) OR ISLASTBAR,H04La,-H03b,H04La);
STICKLINE(H03b>=0,H04L,H04L,10,0),COLORGREEN,LINEDOT;
STICKLINE(H03b>=0,H04L,H04L,10,0),COLORGREEN,LINEDOT,SHIFT6;
DRAWNUMBER(H03,L,L,0),COLORblack,PXDN35,ALIGN0;

H05:=SUM(H01,0); H06:=SUM(H03,0);
STICKLINE(H05=H05[DATACOUNT] AND H01b>=0,H01H,H01H,10,0),COLORRED;
STICKLINE(H06=H06[DATACOUNT] AND H03b>=0,H04L,H04L,10,0),COLORGREEN;
//=======================================================
想求助:
1. 相鄰兩高點(紫色字)比較,當右邊的高點低於左邊高點時,想在右邊高點的當根K棒低點下方標示符號'$MA_BS_2S.GIF'。
1. 相鄰兩低點(黑色字)比較,當右邊的低點高於左邊低點時,想在右邊低點的當根K棒高點上方標示符號'$MA_BS_2B.GIF'。

不勝感激,謝謝。


drawicon(H01 and H<ref(H,ref(H01b,1)+1),L,'$MA_BS_2S.GIF') pxdn5;
drawicon(H03 and L>ref(L,ref(H03b,1)+1),H,'$MA_BS_2B.GIF') pxup52;

///////////////////////////////////////////////////////
或許以此內容,想得知過去某一時間中的三個最高點及三個最低點。
例如:從2024/07/01(可以以參數來變動開始的時間點) ~ 到收盤日,想在K棒主圖上標示,
1. 這段期間"相對高點"中,最高的三個值上方標示符號及日期。
2. 這段期間"相對低點"中,最低的三個值下方標示符號及日期。
感恩。

__________________
Stephen


由 cgjj 在 2025-04-14 09:42 發表:

回覆: [求救]感恩過去的指導,或許以此內容,想得知過去某一時間中的三個最高點或三個最低點

引用:
最初由 a13923707868 發表
相鄰兩高點或兩低點比較標示

引用:
最初由 a13923707868 發表
轉貼論壇資深會員的內容(程式碼做小幅修改):
資深會員 ivancclai
發表主題:求救 前高前低上做標記
程式碼如下:
//====================================前高低畫線===========================================================
//N 請自行帶入參數

//Input : N(5,2,100);
N:=5;

H01a:=H=HHV(H,N); H01:=FILTERX(H01a,N); H01b:=BARSLAST(H01); H01c:=SETVAL(REFX(H01,1),H01b+1,-H01b,H01b+1);
H01H:=REF(H,H01b);
STICKLINE(H01b>=0,H01H,H01H,10,0),COLORRED,LINEDOT;
STICKLINE(H01b>=0,H01H,H01H,10,0),COLORRED,LINEDOT,SHIFT6;
DRAWNUMBER(H01,H,H,0),COLOR800080,PXUP50,ALIGN0;

H02:=LLV(L,H01c); H02L:=SETVAL(REFX(H01,1) OR ISLASTBAR,H02,-H01b,H02);
H03:=L=H02L AND L<REFX(L,1); H03b:=BARSLAST(H03);
H04L:=REF(L,H03b);// H04L:=SETVAL(REFX(H03,1) OR ISLASTBAR,H04La,-H03b,H04La);
STICKLINE(H03b>=0,H04L,H04L,10,0),COLORGREEN,LINEDOT;
STICKLINE(H03b>=0,H04L,H04L,10,0),COLORGREEN,LINEDOT,SHIFT6;
DRAWNUMBER(H03,L,L,0),COLORblack,PXDN35,ALIGN0;

H05:=SUM(H01,0); H06:=SUM(H03,0);
STICKLINE(H05=H05[DATACOUNT] AND H01b>=0,H01H,H01H,10,0),COLORRED;
STICKLINE(H06=H06[DATACOUNT] AND H03b>=0,H04L,H04L,10,0),COLORGREEN;
//=======================================================
想求助:
1. 相鄰兩高點(紫色字)比較,當右邊的高點低於左邊高點時,想在右邊高點的當根K棒低點下方標示符號'$MA_BS_2S.GIF'。
1. 相鄰兩低點(黑色字)比較,當右邊的低點高於左邊低點時,想在右邊低點的當根K棒高點上方標示符號'$MA_BS_2B.GIF'。

不勝感激,謝謝。


drawicon(H01 and H<ref(H,ref(H01b,1)+1),L,'$MA_BS_2S.GIF') pxdn5;
drawicon(H03 and L>ref(L,ref(H03b,1)+1),H,'$MA_BS_2B.GIF') pxup52;

///////////////////////////////////////////////////////
或許以此內容,想得知過去某一時間中的三個最高點及三個最低點。
例如:從2024/07/01(可以以參數來變動開始的時間點) ~ 到收盤日,想在K棒主圖上標示,
1. 這段期間"相對高點"中,最高的三個值上方標示符號及日期。
2. 這段期間"相對低點"中,最低的三個值下方標示符號及日期。
感恩。



於未端加入
原碼:
StDate:=1130701; //設定起點(民國年月日) StKNo:=lbound(BARSSINCE(tradedate>=StDate+110000)); MH:=H01 or barpos=0; ML:=H03 or barpos=0; HH:=H; LL:=L; VARIABLE:HP[3]=0,LP[3]=0; for i=StKNo to datacount do begin if MH[i] then begin if HP[1]=0 then HP[1]:=i; if HH[i]>HH[HP[1]] then begin HP[3]:=HP[2]; HP[2]:=HP[1]; HP[1]:=i; end; end; if ML[i] then begin if LP[1]=0 then LP[1]:=i; if LL[i]<LL[LP[1]] then begin LP[3]:=LP[2]; LP[2]:=LP[1]; LP[1]:=i; end; end; end; SDATE:=tradedate-110000; DRAWICON(barpos=HP[1],H,10); DRAWICON(barpos=HP[2],H,10); DRAWICON(barpos=HP[3],H,10); DRAWICON(barpos=LP[1],L,11); DRAWICON(barpos=LP[2],L,11); DRAWICON(barpos=LP[3],L,11); DRAWNUMBER(barpos=HP[1],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=HP[2],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=HP[3],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=LP[1],L,SDATE,0) align0 pxdn18 colorFFFF00; DRAWNUMBER(barpos=LP[2],L,SDATE,0) align0 pxdn18 colorFFFF00; DRAWNUMBER(barpos=LP[3],L,SDATE,0) align0 pxdn18 colorFFFF00;


由 a13923707868 在 2025-04-14 11:53 發表:

加權指數,我把區間改成113/03/01為起點:
StDate:=1130301; //設定起點(民國年月日)
& 隱蔽
//drawicon(H01 and H<ref(H,ref(H01b,1)+1),L,'$MA_BS_2S.GIF') pxdn5;
//drawicon(H03 and L>ref(L,ref(H03b,1)+1),H,'$MA_BS_2B.GIF') pxup52;
但結過不是我想要的。

如附圖

感恩

__________________
Stephen


由 cgjj 在 2025-04-14 12:50 發表:

引用:
最初由 a13923707868 發表
加權指數,我把區間改成113/03/01為起點:
StDate:=1130301; //設定起點(民國年月日)
& 隱蔽
//drawicon(H01 and H<ref(H,ref(H01b,1)+1),L,'$MA_BS_2S.GIF') pxdn5;
//drawicon(H03 and L>ref(L,ref(H03b,1)+1),H,'$MA_BS_2B.GIF') pxup52;
但結過不是我想要的。

如附圖

感恩



抱歉! 寫漏了一部分,重新修正如下:
原碼:
StDate:=1130301; //設定起點(民國年月日) StKNo:=lbound(BARSSINCE(tradedate>=StDate+110000)); MH:=H01 or barpos=0; ML:=H03 or barpos=0; HH:=H; LL:=L; VARIABLE:HP[3]=0,LP[3]=0; for i=StKNo to datacount do begin if MH[i] then begin if HP[1]=0 then HP[1]:=i; if HH[i]>HH[HP[1]] then begin HP[3]:=HP[2]; HP[2]:=HP[1]; HP[1]:=i; end else if HP[2]>0 then begin if HH[i]>HH[HP[2]] then begin HP[3]:=HP[2]; HP[2]:=i; end else if HP[3]>0 then begin if HH[i]>HH[HP[3]] then HP[3]:=i; end; end; end; if ML[i] then begin if LP[1]=0 then LP[1]:=i; if LL[i]<LL[LP[1]] then begin LP[3]:=LP[2]; LP[2]:=LP[1]; LP[1]:=i; end else if LP[2]>0 then begin if LL[i]<LL[LP[2]] then begin LP[3]:=LP[2]; LP[2]:=i; end else if LP[3]>0 then begin if LL[i]<LL[LP[3]] then LP[3]:=i; end; end; end; end; SDATE:=tradedate-110000; DRAWICON(barpos=HP[1],H,10); DRAWICON(barpos=HP[2],H,10); DRAWICON(barpos=HP[3],H,10); DRAWICON(barpos=LP[1],L,11); DRAWICON(barpos=LP[2],L,11); DRAWICON(barpos=LP[3],L,11); DRAWNUMBER(barpos=HP[1],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=HP[2],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=HP[3],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=LP[1],L,SDATE,0) align0 pxdn18 colorFFFF00; DRAWNUMBER(barpos=LP[2],L,SDATE,0) align0 pxdn18 colorFFFF00; DRAWNUMBER(barpos=LP[3],L,SDATE,0) align0 pxdn18 colorFFFF00;


由 a13923707868 在 2025-04-14 14:02 發表:

感恩。
我從高價股往下驗證。
1. 目前出現的位置都正確。
2. 三高點:有的股票少標1~2個。
3661 世芯:少2
5269 祥碩:少1
1590 亞德客:少2
.........
3. 三低點:有的股票少標1~2個。
2330 台積電:少1
6515 穎崴:少2
2317 鴻海:少1
........

不好意思再次麻煩您的協助。

__________________
Stephen


由 cgjj 在 2025-04-14 15:15 發表:

引用:
最初由 a13923707868 發表
感恩。
我從高價股往下驗證。
1. 目前出現的位置都正確。
2. 三高點:有的股票少標1~2個。
3661 世芯:少2
5269 祥碩:少1
1590 亞德客:少2
.........
3. 三低點:有的股票少標1~2個。
2330 台積電:少1
6515 穎崴:少2
2317 鴻海:少1
........

不好意思再次麻煩您的協助。



抱歉! 還是寫漏了一部分,重新修正如下:
原碼:
StDate:=1130301; //設定起點(民國年月日) StKNo:=lbound(BARSSINCE(tradedate>=StDate+110000)); MH:=H01 or barpos=0; ML:=H03 or barpos=0; HH:=H; LL:=L; VARIABLE:HP[3]=0,LP[3]=0; for i=StKNo to datacount do begin if MH[i] then begin if HP[1]=0 then begin HP[1]:=i; end else if HH[i]>HH[HP[1]] then begin HP[3]:=HP[2]; HP[2]:=HP[1]; HP[1]:=i; end else if HP[2]>0 then begin if HH[i]>HH[HP[2]] then begin HP[3]:=HP[2]; HP[2]:=i; end else if HP[3]>0 then begin if HH[i]>HH[HP[3]] then HP[3]:=i; end else HP[3]:=i; end else HP[2]:=i; end; if ML[i] then begin if LP[1]=0 then begin LP[1]:=i; end else if LL[i]<LL[LP[1]] then begin LP[3]:=LP[2]; LP[2]:=LP[1]; LP[1]:=i; end else if LP[2]>0 then begin if LL[i]<LL[LP[2]] then begin LP[3]:=LP[2]; LP[2]:=i; end else if LP[3]>0 then begin if LL[i]<LL[LP[3]] then LP[3]:=i; end else LP[3]:=i; end else LP[2]:=i; end; end; SDATE:=tradedate-110000; DRAWICON(barpos=HP[1],H,10); DRAWICON(barpos=HP[2],H,10); DRAWICON(barpos=HP[3],H,10); DRAWICON(barpos=LP[1],L,11); DRAWICON(barpos=LP[2],L,11); DRAWICON(barpos=LP[3],L,11); DRAWNUMBER(barpos=HP[1],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=HP[2],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=HP[3],H,SDATE,0) align0 pxup26 colorFF33FF; DRAWNUMBER(barpos=LP[1],L,SDATE,0) align0 pxdn18 colorFFFF00; DRAWNUMBER(barpos=LP[2],L,SDATE,0) align0 pxdn18 colorFFFF00; DRAWNUMBER(barpos=LP[3],L,SDATE,0) align0 pxdn18 colorFFFF00;


由 a13923707868 在 2025-04-14 16:02 發表:

實在感恩你的協助!!!
讚啦!!
目前驗證都很正確。

__________________
Stephen


由 cgjj 在 2025-04-15 10:36 發表:

引用:
最初由 a13923707868 發表
實在感恩你的協助!!!
讚啦!!
目前驗證都很正確。



不客氣^^


由 a13923707868 在 2025-04-16 15:17 發表:

抱歉,又要麻煩你了。
我暫時將這個指標命名為"三高低",除了標示在K棒附近外,我還想顯示在"三高低"該指標的正後方,不知程式碼應該如表示?
感恩

__________________
Stephen


由 cgjj 在 2025-04-16 15:26 發表:

引用:
最初由 a13923707868 發表
抱歉,又要麻煩你了。
我暫時將這個指標命名為"三高低",除了標示在K棒附近外,我還想顯示在"三高低"該指標的正後方,不知程式碼應該如表示?
感恩



正後方
不太懂您意思? 顯示什麼內容?


由 a13923707868 在 2025-04-16 15:36 發表:

例如附圖指標為"4P"後面MA8、MA21、MA55...等參數,後面顯示對應的數值。
1. 顯示最高價格及對應的日期
2. 顯示次高價格及對應的日期
3. 顯示第三高價格及對應的日期ˋ
4. 顯示最低價格及對應的日期
5. 顯示次低價格及對應的日期
6. 顯示第三低價格及對應的日期

__________________
Stephen


由 cgjj 在 2025-04-16 16:39 發表:

引用:
最初由 a13923707868 發表
例如附圖指標為"4P"後面MA8、MA21、MA55...等參數,後面顯示對應的數值。
1. 顯示最高價格及對應的日期
2. 顯示次高價格及對應的日期
3. 顯示第三高價格及對應的日期ˋ
4. 顯示最低價格及對應的日期
5. 顯示次低價格及對應的日期
6. 顯示第三低價格及對應的日期



原碼:
DE:=tradedate; NullAry:=barslast(barpos=0); H1: NullAry linethick; if HP[1] then H1:=HH[HP[1]]; H1D: NullAry linethick; if HP[1] then H1D:=DE[HP[1]]; H2: NullAry linethick; if HP[2] then H2:=HH[HP[2]]; H2D: NullAry linethick; if HP[2] then H2D:=DE[HP[2]]; H3: NullAry linethick; if HP[3] then H3:=HH[HP[3]]; H3D: NullAry linethick; if HP[3] then H3D:=DE[HP[3]]; L1: NullAry linethick; if LP[1] then L1:=LL[LP[1]]; L1D: NullAry linethick; if LP[1] then L1D:=DE[LP[1]]; L2: NullAry linethick; if LP[2] then L2:=LL[LP[2]]; L2D: NullAry linethick; if LP[2] then L2D:=DE[LP[2]]; L3: NullAry linethick; if LP[3] then L3:=LL[LP[3]]; L3D: NullAry linethick; if LP[3] then L3D:=DE[LP[3]];


由 a13923707868 在 2025-04-17 15:46 發表:

感恩,已經可以用了。

__________________
Stephen


全部時間均為台灣時間, 現在時間為18:50
在這個頁面顯示本主題全部的 13 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.