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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 求助 波浪ˊ折線 N字計算 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24079)


由 ivancclai 在 2024-09-24 17:59 發表:

求助 波浪ˊ折線 N字計算

版主大大你好

這一題對我比較難

波浪計算目標價 +N 目標價顯示

AB=CD 當c點產生時 如何計算即顯示 D點目標價




PN:=0;
//=============================================== 波浪畫線 ===============================================
input: N5( 3,1,100);
//N:=1;
PP:= (HHV(OPEN / 2 + HIGH / 2,55)) / 2 + (LLV(OPEN / 2 + LOW / 2,55)) / 2;
A:= CROSS(CLOSE,HHV(OPEN,3)) or CROSS(LLV(OPEN,3),CLOSE);
A1:= FILTER(A,13);
TS1:= BARSLAST(A1);


//=====================================================================================
AA:= REF(HIGH,N5) = HHV(HIGH,2 * N5 + 1);
AAA:= FILTER(AA,N5);
BB:= BACKSET(AAA,N5 + 1);
CC1:= FILTER(BB,N5);
CC:= CC1 or ISLASTBAR;
AA2:= REF(LOW,N5) = LLV(LOW,2 * N5 + 1);
AAA2:= FILTER(AA2,N5);
BB2:= BACKSET(AAA2,N5 + 1);
CC22:= FILTER(BB2,N5);
//===============================================================

CC2:= CC22 and NOT(CC1);
EA:= BACKSET(CC,REF(BARSLAST(CC2),1) + 1);
EB:= EA > REF(EA,1);
EE:= BACKSET(EB,2);
FF1:= EE > REF(EE,1);
EE2:= BACKSET(FF1 and COUNT(CC,REF(BARSLAST(CC2),1) + 2) = 0,REF(BARSLAST(CC2),1) + 2);
FF2:= EE2 > REF(EE2,1);
EE3:= BACKSET(FF2 and COUNT(CC,REF(BARSLAST(CC2),1) + 2) = 0,REF(BARSLAST(CC2),1) + 2);
FF3:= EE3 > REF(EE3,1);
JS:= IF(CC,COUNT(CC2,REF(BARSLAST(CC),1) + 1),0);
G1:= IF(JS = 1 and CC,BARSLAST(FF1),0);
GA:= IF(CC and REF(LOW,BARSLAST(FF1)) >= REF(LOW,BARSLAST(FF2)),BARSLAST(FF2),BARSLAST(FF1));
G2:= IF(JS = 2 and CC,GA,0);
G3:= IF(JS >= 3 and CC,IF(CC and REF(LOW,GA) >= REF(LOW,BARSLAST(FF3)),BARSLAST(FF3),GA),0);
GG:= G1 + G2 + G3;
JA:= BACKSET(CC,GG);
JB:= JA > REF(JA,1);
JJ:= BACKSET(JB,2);
LD:= JJ > REF(JJ,1);
LD1:= LD or ISLASTBAR;
HEA:= BACKSET(LD1,REF(BARSLAST(CC),1) + 1);
HEB:= HEA > REF(HEA,1);
HEE:= BACKSET(HEB,2);
HFF1:= HEE > REF(HEE,1);
HEE2:= BACKSET(HFF1 and COUNT(LD1,REF(BARSLAST(CC),1) + 2) = 0,REF(BARSLAST(CC),1) + 2);
HFF2:= HEE2 > REF(HEE2,1);
HEE3:= BACKSET(HFF2 and COUNT(LD1,REF(BARSLAST(CC),1) + 2) = 0,REF(BARSLAST(CC),1) + 2);
HFF3:= HEE3 > REF(HEE3,1);
HJS:= IF(LD1,COUNT(CC1,REF(BARSLAST(LD1),1) + 1),0);
HG1:= IF(HJS = 1 and LD1,BARSLAST(HFF1),0);
HGA:= IF(LD1 and REF(HIGH,BARSLAST(HFF1)) <= REF(HIGH,BARSLAST(HFF2)),BARSLAST(HFF2),BARSLAST(HFF1));
HG2:= IF(HJS = 2 and LD1,HGA,0);
HG3:= IF(HJS >= 3 and LD1,IF(LD1 and REF(HIGH,HGA) <= REF(HIGH,BARSLAST(HFF3)),BARSLAST(HFF3),HGA),0);
HGG:= HG1 + HG2 + HG3;
HJA:= BACKSET(LD1,HGG);
HJB:= HJA > REF(HJA,1);
HJJ:= BACKSET(HJB,2);
HD:= HJJ > REF(HJJ,1);


//==========================================================================
DRAWLINE(LD,LOW,HD,HIGH,0),colorFF33FF, LINETHICK8;
DRAWNUMBER(HD,HIGH,MOD(HIGH,1000),PN ) , ALIGN0, colorFF33FF,PXUP60;
DRAWLINE(HD,HIGH,LD,LOW,0),coloRFFFF00, LINETHICK8;
DRAWNUMBER(LD,LOW,MOD(LOW,1000),PN) ,ALIGN0, colorFFFF00,PXDN60 ;

//===========================================================================


由 cgjj 在 2024-09-25 08:37 發表:

回覆: 求助 波浪ˊ折線 N字計算

引用:
最初由 ivancclai 發表
版主大大你好

這一題對我比較難

波浪計算目標價 +N 目標價顯示

AB=CD 當c點產生時 如何計算即顯示 D點目標價




PN:=0;
//=============================================== 波浪畫線 ===============================================
input: N5( 3,1,100);
//N:=1;
PP:= (HHV(OPEN / 2 + HIGH / 2,55)) / 2 + (LLV(OPEN / 2 + LOW / 2,55)) / 2;
A:= CROSS(CLOSE,HHV(OPEN,3)) or CROSS(LLV(OPEN,3),CLOSE);
A1:= FILTER(A,13);
TS1:= BARSLAST(A1);


//=====================================================================================
AA:= REF(HIGH,N5) = HHV(HIGH,2 * N5 + 1);
AAA:= FILTER(AA,N5);
BB:= BACKSET(AAA,N5 + 1);
CC1:= FILTER(BB,N5);
CC:= CC1 or ISLASTBAR;
AA2:= REF(LOW,N5) = LLV(LOW,2 * N5 + 1);
AAA2:= FILTER(AA2,N5);
BB2:= BACKSET(AAA2,N5 + 1);
CC22:= FILTER(BB2,N5);
//===============================================================

CC2:= CC22 and NOT(CC1);
EA:= BACKSET(CC,REF(BARSLAST(CC2),1) + 1);
EB:= EA > REF(EA,1);
EE:= BACKSET(EB,2);
FF1:= EE > REF(EE,1);
EE2:= BACKSET(FF1 and COUNT(CC,REF(BARSLAST(CC2),1) + 2) = 0,REF(BARSLAST(CC2),1) + 2);
FF2:= EE2 > REF(EE2,1);
EE3:= BACKSET(FF2 and COUNT(CC,REF(BARSLAST(CC2),1) + 2) = 0,REF(BARSLAST(CC2),1) + 2);
FF3:= EE3 > REF(EE3,1);
JS:= IF(CC,COUNT(CC2,REF(BARSLAST(CC),1) + 1),0);
G1:= IF(JS = 1 and CC,BARSLAST(FF1),0);
GA:= IF(CC and REF(LOW,BARSLAST(FF1)) >= REF(LOW,BARSLAST(FF2)),BARSLAST(FF2),BARSLAST(FF1));
G2:= IF(JS = 2 and CC,GA,0);
G3:= IF(JS >= 3 and CC,IF(CC and REF(LOW,GA) >= REF(LOW,BARSLAST(FF3)),BARSLAST(FF3),GA),0);
GG:= G1 + G2 + G3;
JA:= BACKSET(CC,GG);
JB:= JA > REF(JA,1);
JJ:= BACKSET(JB,2);
LD:= JJ > REF(JJ,1);
LD1:= LD or ISLASTBAR;
HEA:= BACKSET(LD1,REF(BARSLAST(CC),1) + 1);
HEB:= HEA > REF(HEA,1);
HEE:= BACKSET(HEB,2);
HFF1:= HEE > REF(HEE,1);
HEE2:= BACKSET(HFF1 and COUNT(LD1,REF(BARSLAST(CC),1) + 2) = 0,REF(BARSLAST(CC),1) + 2);
HFF2:= HEE2 > REF(HEE2,1);
HEE3:= BACKSET(HFF2 and COUNT(LD1,REF(BARSLAST(CC),1) + 2) = 0,REF(BARSLAST(CC),1) + 2);
HFF3:= HEE3 > REF(HEE3,1);
HJS:= IF(LD1,COUNT(CC1,REF(BARSLAST(LD1),1) + 1),0);
HG1:= IF(HJS = 1 and LD1,BARSLAST(HFF1),0);
HGA:= IF(LD1 and REF(HIGH,BARSLAST(HFF1)) <= REF(HIGH,BARSLAST(HFF2)),BARSLAST(HFF2),BARSLAST(HFF1));
HG2:= IF(HJS = 2 and LD1,HGA,0);
HG3:= IF(HJS >= 3 and LD1,IF(LD1 and REF(HIGH,HGA) <= REF(HIGH,BARSLAST(HFF3)),BARSLAST(HFF3),HGA),0);
HGG:= HG1 + HG2 + HG3;
HJA:= BACKSET(LD1,HGG);
HJB:= HJA > REF(HJA,1);
HJJ:= BACKSET(HJB,2);
HD:= HJJ > REF(HJJ,1);


//==========================================================================
DRAWLINE(LD,LOW,HD,HIGH,0),colorFF33FF, LINETHICK8;
DRAWNUMBER(HD,HIGH,MOD(HIGH,1000),PN ) , ALIGN0, colorFF33FF,PXUP60;
DRAWLINE(HD,HIGH,LD,LOW,0),coloRFFFF00, LINETHICK8;
DRAWNUMBER(LD,LOW,MOD(LOW,1000),PN) ,ALIGN0, colorFFFF00,PXDN60 ;

//===========================================================================



請詳細完整描述,目前這樣描述無法理解您的需求
公式中也沒有 AB 和 CD 存在....


由 ivancclai 在 2024-09-25 16:36 發表:

不好意思 我再想辦法解釋


由 ivancclai 在 2024-10-16 11:00 發表:

版主您好

這幾天我想一下 我們主控最重要是 波浪理論 N字理論

可分為正N及 倒N理論
當我們看到 兩低夾一高 高過確認為正N
其定義 1低稱為A點 1高稱為B點 2低稱為C點
其定義 1. C>A 2低要高於1低,B >C>A, 1高需大2低 > 1低 此時若 收盤價 > B點 1高 此時N字成立 C點成立條件為 未來收盤價 > C點K棒的高點且未來低點沒跌破C點 就成立 跌破位置就重算 當C點產稱 可以計算未來目標價 D 點
利用Nˋ字理論 可知 AB=CD (堆K) 及目標價B'=B+(B-A), 所以假設C點出現 就算目標價 並顯示在B點 上面 AB=CD D=C+(B-A) B'點= B +(B-A)

上面程式顯示 ABC 點 但是 如何 在B 點上方顯示預計 目標價 我不會寫 所以求助版主


由 wengd469 在 2024-10-16 19:07 發表:

最好有圖像,這樣總版主能更快速明瞭您所需要的


由 cgjj 在 2024-10-16 22:04 發表:

引用:
最初由 ivancclai 發表
版主您好

這幾天我想一下 我們主控最重要是 波浪理論 N字理論

可分為正N及 倒N理論
當我們看到 兩低夾一高 高過確認為正N
其定義 1低稱為A點 1高稱為B點 2低稱為C點
其定義 1. C>A 2低要高於1低,B >C>A, 1高需大2低 > 1低 此時若 收盤價 > B點 1高 此時N字成立 C點成立條件為 未來收盤價 > C點K棒的高點且未來低點沒跌破C點 就成立 跌破位置就重算 當C點產稱 可以計算未來目標價 D 點
利用Nˋ字理論 可知 AB=CD (堆K) 及目標價B'=B+(B-A), 所以假設C點出現 就算目標價 並顯示在B點 上面 AB=CD D=C+(B-A) B'點= B +(B-A)

上面程式顯示 ABC 點 但是 如何 在B 點上方顯示預計 目標價 我不會寫 所以求助版主



眼睛看的不算數!!!
您必須提供可行的計算邏輯規則,讓電腦有所依循,否則無法寫為程式

例如:
高點和低點位置如何決定
為何取這個點位? 準則為何?
等等....

若沒有辦法明確的邏輯規則,恕無法協助!


由 cgjj 在 2024-10-17 09:31 發表:

重新看了一下~~

您是要以第一樓所提供的波浪程式,來決定高低點對吧?
該程式並沒有標示A、B、C 點唷

根據您的描述去理解
最後的波段 低點(A), 高點(B), 低點(C) 對吧! (按先後發生次序)

若 C低>A低 且 收盤價>B高 則N字成立 (其餘描述看起來應該都是多餘的...)
N字成立之後計算D值,亦即 D值=C低+(B高-A低)
再將D值標示於B點上方


由 cgjj 在 2024-10-17 09:56 發表:

引用:
最初由 cgjj 發表
重新看了一下~~

您是要以第一樓所提供的波浪程式,來決定高低點對吧?
該程式並沒有標示A、B、C 點唷

根據您的描述去理解
最後的波段 低點(A), 高點(B), 低點(C) 對吧! (按先後發生次序)

若 C低>A低 且 收盤價>B高 則N字成立 (其餘描述看起來應該都是多餘的...)
N字成立之後計算D值,亦即 D值=C低+(B高-A低)
再將D值標示於B點上方



若是,答案如下:(請加在程式最末端)
---- 請見後續修正後的 ---


由 cgjj 在 2024-10-17 13:23 發表:

引用:
最初由 cgjj 發表
若是,答案如下:(請加在程式最末端)
.........



原先寫的有點問題,重新修正,如下:

LD1SP:=sumbars(LD,2)-1;
LD2SP:=barslast(LD);
HD1SP:=barslast(HD);
A低:=ref(L,LD1SP);
B高:=ref(H,HD1SP);
C低:=ref(L,LD2SP);
HDZ:=sum(HD,0);
LDZ:=sum(LD,0);
N字成立:=LD2SP<HD1SP and C低>A低 and Close>B高;
N字成立:=N字成立[datacount];
D值:=C低+(B高-A低);
DRAWNUMBER(N字成立 and HD and HDZ=HDZ[datacount],H,D值,2) pxup50 ALIGN0;


由 ivancclai 在 2024-10-18 12:01 發表:

謝謝版主 大致上可以了
我有一個問題
最後程式4行顯示 如何修改程式顯示 當ˋN字C點成立時 一直顯示除非 C 點低點被跌破時 此時 N字需要重新計算 就不顯示 其他情況需要一直顯示. 我不會修改 請版主幫忙如何修正 謝謝


//=========================================================================
LD1SP:=sumbars(LD,2)-1;
LD2SP:=barslast(LD);
HD1SP:=barslast(HD);
A低:=ref(L,LD1SP);
B高:=ref(H,HD1SP);
C收:=ref(C,LD1SP);
C低:=ref(L,LD2SP);
HDZ:=sum(HD,0);
LDZ:=sum(LD,0);
N字成立:=LD2SP<HD1SP and C低>A低 and Close>C收;
N字成立:=N字成立[datacount];
D值:=C低+(B高-A低);
E值:=B高+(B高-A低);
D值1:=MOD(D值,1000);
E值1:=MOD(E值,1000);

DRAWNUMBER(N字成立 and LD and HDZ=HDZ[datacount],L,D值,PPN) pxDN200 ALIGN1 COLORFFFFFF;
DRAWTEXT(N字成立 and LD and HDZ=HDZ[datacount],LOW,'+S=') ALIGN2,colorFFFFFF PXDN200;
DRAWNUMBER(N字成立 and LD and HDZ=HDZ[datacount],L-10,E值,PPN) pxDN300 ALIGN1 COLORFFFF;
DRAWTEXT(N字成立 and LD and HDZ=HDZ[datacount],LOW-10,'+K=') ALIGN2,colorFFFF PXDN300;

//===============================================================================


由 cgjj 在 2024-10-18 15:56 發表:

引用:
最初由 ivancclai 發表
謝謝版主 大致上可以了
我有一個問題
最後程式4行顯示 如何修改程式顯示 當ˋN字C點成立時 一直顯示除非 C 點低點被跌破時 此時 N字需要重新計算 就不顯示 其他情況需要一直顯示. 我不會修改 請版主幫忙如何修正 謝謝


//=========================================================================
LD1SP:=sumbars(LD,2)-1;
LD2SP:=barslast(LD);
HD1SP:=barslast(HD);
A低:=ref(L,LD1SP);
B高:=ref(H,HD1SP);
C收:=ref(C,LD1SP);
C低:=ref(L,LD2SP);
HDZ:=sum(HD,0);
LDZ:=sum(LD,0);
N字成立:=LD2SP<HD1SP and C低>A低 and Close>C收;
N字成立:=N字成立[datacount];
D值:=C低+(B高-A低);
E值:=B高+(B高-A低);
D值1:=MOD(D值,1000);
E值1:=MOD(E值,1000);

DRAWNUMBER(N字成立 and LD and HDZ=HDZ[datacount],L,D值,PPN) pxDN200 ALIGN1 COLORFFFFFF;
DRAWTEXT(N字成立 and LD and HDZ=HDZ[datacount],LOW,'+S=') ALIGN2,colorFFFFFF PXDN200;
DRAWNUMBER(N字成立 and LD and HDZ=HDZ[datacount],L-10,E值,PPN) pxDN300 ALIGN1 COLORFFFF;
DRAWTEXT(N字成立 and LD and HDZ=HDZ[datacount],LOW-10,'+K=') ALIGN2,colorFFFF PXDN300;

//===============================================================================



判斷C 點低點有無被跌破,寫法如下:
跌破C低:=C<C低;


由 ivancclai 在 2024-10-28 10:52 發表:

板主你好

我有一個問題求助ˊ於版主
此程式繪畫波浪線 求助可以在 新的 LD 成立時 找 前低級前高
上一個 LD 但是是比現在的LD低 (前低)與在此兩低中找最高的HD 這樣我就可以計算 前低(LD) 與前高 就可以計算正N

反之 有新的 HD 產生 找 前一個HD 但要比新的 HD 高 在此兩高之間找 為低的 LD 可以計算N

我不會計算前高級前低值是多少 所以求助版主 謝謝


由 cgjj 在 2024-10-28 12:31 發表:

引用:
最初由 ivancclai 發表
板主你好

我有一個問題求助ˊ於版主
此程式繪畫波浪線 求助可以在 新的 LD 成立時 找 前低級前高
上一個 LD 但是是比現在的LD低 (前低)與在此兩低中找最高的HD 這樣我就可以計算 前低(LD) 與前高 就可以計算正N

反之 有新的 HD 產生 找 前一個HD 但要比新的 HD 高 在此兩高之間找 為低的 LD 可以計算N

我不會計算前高級前低值是多少 所以求助版主 謝謝



前面程式中的這四行
A低:=ref(L,LD1SP);
B高:=ref(H,HD1SP);
C收:=ref(C,LD1SP);
C低:=ref(L,LD2SP);

其中的高低值,應該就有您想要的吧?


由 ivancclai 在 2024-10-28 18:59 發表:

版主你好


波浪不會一直是正N或是倒N 會是一直在轉換

如 23238LD-3/23284HD-2/23270LD-2/23283HD-1-23270LD-1/23288HD/23279 LD
LD=23279 前高:23288 前低: 23270(這個你的方法可以解)
HD=23288 又無法計算 在這資料列中要加上前一段波浪資料 23292-23273-23288-23267-23275-23256 23276-23238 接下去
此時 可知
23888: 前高是23292前低是23238
232790 : 前高是 23284 前低是23238

因為波波量的表現 你提供的範例 就沒辦法解決這各種現象 變成 當心的 高低點產生時ㄝ需要找前低/前高 成立條件 找前低 條件 需要 低LD HD成立時先找前高 條件 前高要>HD然後在兩高之間找 高點 這低點 要小於前高
跟HD
這陣列 我就不會寫 才需要版主協助


由 cgjj 在 2024-10-28 22:48 發表:

引用:
最初由 ivancclai 發表
版主你好


波浪不會一直是正N或是倒N 會是一直在轉換

如 23238LD-3/23284HD-2/23270LD-2/23283HD-1-23270LD-1/23288HD/23279 LD
LD=23279 前高:23288 前低: 23270(這個你的方法可以解)
HD=23288 又無法計算 在這資料列中要加上前一段波浪資料 23292-23273-23288-23267-23275-23256 23276-23238 接下去
此時 可知
23888: 前高是23292前低是23238
232790 : 前高是 23284 前低是23238

因為波波量的表現 你提供的範例 就沒辦法解決這各種現象 變成 當心的 高低點產生時ㄝ需要找前低/前高 成立條件 找前低 條件 需要 低LD HD成立時先找前高 條件 前高要>HD然後在兩高之間找 高點 這低點 要小於前高
跟HD
這陣列 我就不會寫 才需要版主協助



拜託一下,麻煩請同時附上圖形來做解說!
文字描述也麻煩請在適當的地方加上逗號區隔,否則難以精確閱讀!

請先了解,我前面給的例子是算:
最後的波段 為 低點(A)→高點(B)→低點(C)
若 C低>A低 且 收盤價>B高 則判定為 N字成立
當 N字成立 時 於B的上方,標示D值 (D值為C低+(B高-A低))

注意! 是算 "最後的波段" N字是否成立
而N字的形式,最後必須為 低→高→低

而您現在倒底是還要需要算什麼呢?
建議請用如上 A,B,C,D...這樣的形式來做解說

目前這種寫法,真的很難理解您在說什麼@@
無法理解,就無從幫起~~


由 ivancclai 在 2024-10-30 15:41 發表:

版主你好

不好意思 我在想想如何解釋我的意思 謝謝


由 ivancclai 在 2024-11-02 08:02 發表:

如圖例



當倒數第三數字 C點 是2798 出現 A = 2769 B 點 2986 才會預測D點 但是這是失敗例子 因為2798 被跌破

C點 成立 要找 前低 A點 之後再找B點 兩滴之間的 最高扁點B 點= 2968
程式中最後一個LD的前一個 LD及HD 不能滿足算式 還要往前找 我不會寫這一段程式 才 要求助版主 謝謝 當新的 LD 或 HD 成立時就可以預估下個正N 或 倒n 預估新的 D點 但 不保證會不會來 停損可以守LD 低 或HD 高


由 ivancclai 在 2024-11-03 06:34 發表:

如圖例


由 ivancclai 在 2024-11-03 08:17 發表:

圖例二


由 ivancclai 在 2024-11-03 08:51 發表:

版主你好

這 兩張圖 是相同的 差異 是 有無k棒 我的問題是當此程式
產生新的LD 時就可預估有正N 且可以計算 預測 D值 只要 收盤價不跌破LD D點就有機會來 此時 要先找A點 前低 如例 LD =2768 前低 點就是 2761 再找兩低夾一高B點就是2887 就可以計算 目標價 D點 AB=CD 但是 正N 成立 還是B點突破2887 . 若C點跌破 此正N要重新計算 此此使成功的範例,HD產產生時就可以計算倒N如例 HD=2974 前高=2987 A點 再找 B點 前低(兩高夾一低) B點=2869 這時你之前給的範例 可以用

因為計算 上 需找前低與前高 這部分不不會寫要求助版主 寫範例 倒N 及前高及前低, 正N 計算 上次 版主教我了 這樣不曉得 版主聽懂我的解釋嗎 謝謝


由 cgjj 在 2024-11-03 15:46 發表:

引用:
最初由 ivancclai 發表
版主你好

這 兩張圖 是相同的 差異 是 有無k棒 我的問題是當此程式
產生新的LD 時就可預估有正N 且可以計算 預測 D值 只要 收盤價不跌破LD D點就有機會來 此時 要先找A點 前低 如例 LD =2768 前低 點就是 2761 再找兩低夾一高B點就是2887 就可以計算 目標價 D點 AB=CD 但是 正N 成立 還是B點突破2887 . 若C點跌破 此正N要重新計算 此此使成功的範例,HD產產生時就可以計算倒N如例 HD=2974 前高=2987 A點 再找 B點 前低(兩高夾一低) B點=2869 這時你之前給的範例 可以用

因為計算 上 需找前低與前高 這部分不不會寫要求助版主 寫範例 倒N 及前高及前低, 正N 計算 上次 版主教我了 這樣不曉得 版主聽懂我的解釋嗎 謝謝



原碼:
KHH:=H; KLL:=L; KCC:=C; NCK:=barslast(LD); if lbound(NCK)=0 then exit; //不存在LD跳離 NCK:=datacount-NCK[datacount]; NCL:=KLL[NCK]; NAK:=0; for i=NCK-1 downto lbound(LD) do begin if LD[i] then begin if KLL[i]<KLL[NCK] then begin NAK:=i; break; end; end; end; if NAK=0 then exit; //不存在A跳離 NAL:=KLL[NAK]; NBH:=0; for i=NAK to NCK do begin if HD[i]=1 then begin if KHH[i]>NBH then begin NBH:=KHH[i]; NBK:=i; end; end; end; N字成立:KCC[datacount]>NBH linethick; D值:=NCL+(NBH-NAL); DRAWNUMBER(N字成立 and barpos=NBK,KHH,D值,2) pxup50 ALIGN0;


由 ivancclai 在 2024-11-08 09:59 發表:

如例一


由 ivancclai 在 2024-11-08 10:08 發表:

圖例一一


由 ivancclai 在 2024-11-08 10:09 發表:

圖例二


由 ivancclai 在 2024-11-08 10:11 發表:

版主 你好 附上兩張圖例 一張有k棒 一張無k棒

這是昨晚的K棒圖

舉例 當圖中23261 (LD) (C點) 產生時可以計算 正N先要照前低23600 (A點)再找 兩低脂中的高點23718 (B點) 這時可以預估 (D 點)

我不會如何記錄 HD 及 LD 並往前找前低及前高 所以需要請求助版主


由 cgjj 在 2024-11-08 10:53 發表:

引用:
最初由 ivancclai 發表
版主 你好 附上兩張圖例 一張有k棒 一張無k棒

這是昨晚的K棒圖

舉例 當圖中23261 (LD) (C點) 產生時可以計算 正N先要照前低23600 (A點)再找 兩低脂中的高點23718 (B點) 這時可以預估 (D 點)

我不會如何記錄 HD 及 LD 並往前找前低及前高 所以需要請求助版主



圖中沒有 23261 存在


由 ivancclai 在 2024-11-08 11:21 發表:

版主我打字錯誤 是23661


由 cgjj 在 2024-11-08 12:02 發表:

引用:
最初由 ivancclai 發表
版主我打字錯誤 是23661


前面最後答覆的程式,就可以算出您要的D值

您用訓練模式
把時間倒回到 23661 那個點之後,收盤價比 23718 高的時間位置(在23723之前)。就可以得到您要的D值。

該位置為N字成立的地方!


由 ivancclai 在 2024-11-10 18:59 發表:

如圖例一
見高k= 創這低點層曾經被收破就成立被收破舊成立

AA:= REFX(CLOSE,1)<LOW or REFX(CLOSE,2)<LOW or REFX(CLOSE,3)<LOW or REFX(CLOSE,4)<LOW or REFX(CLOSE,5)<LOW or REFX(CLOSE,6)<LOW or REFX(CLOSE,7)<LOW OR
REFX(CLOSE,8)<LOW or REFX(CLOSE,9)<LOW or REFX(CLOSE,10)<LOW or REFX(CLOSE,11)<LOW or REFX(CLOSE,12)<LOW or REFX(CLOSE,13)<LOW or REFX(CLOSE,14)<LOW OR
REFX(CLOSE,15)<LOW or REFX(CLOSE,16)<LOW or REFX(CLOSE,17)<LOW or REFX(CLOSE,18)<LOW or REFX(CLOSE,19)<LOW or REFX(CLOSE,20)<LOW or REFX(CLOSE,21)<LOW OR
REFX(CLOSE,22)<LOW or REFX(CLOSE,23)<LOW or REFX(CLOSE,24)<LOW or REFX(CLOSE,25)<LOW or REFX(CLOSE,26)<LOW or REFX(CLOSE,27)<LOW or REFX(CLOSE,29)<LOW OR
REFX(CLOSE,30)<LOW or REFX(CLOSE,31)<LOW or REFX(CLOSE,32)<LOW or REFX(CLOSE,33)<LOW or REFX(CLOSE,34)<LOW or REFX(CLOSE,35)<LOW or REFX(CLOSE,36)<LOW; //OR

見高K:= REF(HIGH,1)<HIGH AND REFX(HIGH,1) <= HIGH AND REF(HIGH,2) <=HIGH and AA ;

落底k是創新低的 k棒高點曾經被收過就成立

BB := REFX(CLOSE,1)>HIGH or REFX(CLOSE,2)>HIGH or REFX(CLOSE,3)>HIGH or REFX(CLOSE,4)>HIGH or REFX(CLOSE,5)>HIGH or REFX(CLOSE,6)>HIGH or REFX(CLOSE,7)>HIGH or REFX(CLOSE,8)>HIGH or
REFX(CLOSE,9)>HIGH or REFX(CLOSE,10)>HIGH or REFX(CLOSE,11)>HIGH or REFX(CLOSE,12)>HIGH or REFX(CLOSE,13)>HIGH or REFX(CLOSE,14)>HIGH or REFX(CLOSE,15)>HIGH or REFX(CLOSE,16)>HIGH or
REFX(CLOSE,17)>HIGH or REFX(CLOSE,18)>HIGH or REFX(CLOSE,19)>HIGH or REFX(CLOSE,20)>HIGH or REFX(CLOSE,21)>HIGH or REFX(CLOSE,22)>HIGH or REFX(CLOSE,23)>HIGH or REFX(CLOSE,24)>HIGH or
REFX(CLOSE,25)>HIGH or REFX(CLOSE,26)>HIGH or REFX(CLOSE,27)>HIGH or REFX(CLOSE,28)>HIGH or REFX(CLOSE,29)>HIGH or REFX(CLOSE,30)>HIGH or REFX(CLOSE,31)>HIGH or REFX(CLOSE,32)>HIGH ;

落底K:=REF(LOW,1)>LOW and REFX(LOW,1)>=LOW and BB ;

舉例 當創新高的低點被收 則見高K 就可以計算 倒N -K AND - S **這一段我還不會寫需要版主協助**
當創新低的高點被收過 則落底K成立 就可以計算 正N +K AND +S 這 一段我 版主給我範例 已經做到 但是顯示不如我預期 因為 我期望ˋ 落底k 成立後 就一直顯示 以便觀察 如例中 低點 22979 落底k成立後 一直顯示 +k AND +s

我上次此請版主 寫 +S 給我 +S=C低+(B高- A低) +S =22979 +(22990-22964)=23005
+K= B高+(B高- A低) 及 +K = 22990+(22990-22964)=23016 目前算是正確 但是顯示不如我期望 我預期是每一個LD(C點高 曾經被收過時 就可以找前高 及 前低 可以計算期望D值 只要曾經被收過 就要一直 顯示 在畫面上 的 每一個LD 只要高點被收過就要一直顯示, 但是目前 只有正N 成立時才顯示 如圖例看的到 LD = 22962 22964 22979 三個 曾經 close > LD 高 就要一直 顯示 如例 目前 close=22999 就要顯示三個 LD 的 +k and +s 反之見高K 也是-k and -s 有兩個隨然 已不成立了 但是曾經見高K的低點有被收破就要顯示 圖例兩個 這樣解釋 不知版主可以知道我的期望 謝謝


由 ivancclai 在 2024-11-10 19:00 發表:

圖例二
訓練模式可以看到 23005 D點期望值 可是 A低= 22962 B高=22982 C低=22964 期望D點= C+(B-A)= 22964 +(22982-22962)=22984 不是23004
但是會修正 要請版主協助


由 ivancclai 在 2024-11-10 20:42 發表:

[QUOTE]最初由 ivancclai 發表
[B]如圖例一
見高k= 創這低點層曾經被收破就成立被收破舊成立

AA:= REFX(CLOSE,1)<LOW or REFX(CLOSE,2)<LOW or REFX(CLOSE,3)<LOW or REFX(CLOSE,4)<LOW or REFX(CLOSE,5)<LOW or REFX(CLOSE,6)<LOW or REFX(CLOSE,7)<LOW OR
REFX(CLOSE,8)<LOW or REFX(CLOSE,9)<LOW or REFX(CLOSE,10)<LOW or REFX(CLOSE,11)<LOW or REFX(CLOSE,12)<LOW or REFX(CLOSE,13)<LOW or REFX(CLOSE,14)<LOW OR
REFX(CLOSE,15)<LOW or REFX(CLOSE,16)<LOW or REFX(CLOSE,17)<LOW or REFX(CLOSE,18)<LOW or REFX(CLOSE,19)<LOW or REFX(CLOSE,20)<LOW or REFX(CLOSE,21)<LOW OR
REFX(CLOSE,22)<LOW or REFX(CLOSE,23)<LOW or REFX(CLOSE,24)<LOW or REFX(CLOSE,25)<LOW or REFX(CLOSE,26)<LOW or REFX(CLOSE,27)<LOW or REFX(CLOSE,29)<LOW OR
REFX(CLOSE,30)<LOW or REFX(CLOSE,31)<LOW or REFX(CLOSE,32)<LOW or REFX(CLOSE,33)<LOW or REFX(CLOSE,34)<LOW or REFX(CLOSE,35)<LOW or REFX(CLOSE,36)<LOW; //OR

見高K:= REF(HIGH,1)<HIGH AND REFX(HIGH,1) <= HIGH AND REF(HIGH,2) <=HIGH and AA ;

落底k是創新低的 k棒高點曾經被收過就成立

BB := REFX(CLOSE,1)>HIGH or REFX(CLOSE,2)>HIGH or REFX(CLOSE,3)>HIGH or REFX(CLOSE,4)>HIGH or REFX(CLOSE,5)>HIGH or REFX(CLOSE,6)>HIGH or REFX(CLOSE,7)>HIGH or REFX(CLOSE,8)>HIGH or
REFX(CLOSE,9)>HIGH or REFX(CLOSE,10)>HIGH or REFX(CLOSE,11)>HIGH or REFX(CLOSE,12)>HIGH or REFX(CLOSE,13)>HIGH or REFX(CLOSE,14)>HIGH or REFX(CLOSE,15)>HIGH or REFX(CLOSE,16)>HIGH or
REFX(CLOSE,17)>HIGH or REFX(CLOSE,18)>HIGH or REFX(CLOSE,19)>HIGH or REFX(CLOSE,20)>HIGH or REFX(CLOSE,21)>HIGH or REFX(CLOSE,22)>HIGH or REFX(CLOSE,23)>HIGH or REFX(CLOSE,24)>HIGH or
REFX(CLOSE,25)>HIGH or REFX(CLOSE,26)>HIGH or REFX(CLOSE,27)>HIGH or REFX(CLOSE,28)>HIGH or REFX(CLOSE,29)>HIGH or REFX(CLOSE,30)>HIGH or REFX(CLOSE,31)>HIGH or REFX(CLOSE,32)>HIGH ;

落底K:=REF(LOW,1)>LOW and REFX(LOW,1)>=LOW and BB ;

舉例 當創新高的低點被收 則見高K 就可以計算 倒N -K AND - S **這一段我還不會寫需要版主協助**
當創新低的高點被收過 則落底K成立 就可以計算 正N +K AND +S 這 一段我 版主給我範例 已經做到 但是顯示不如我預期 因為 我期望ˋ 落底k 成立後 就一直顯示 以便觀察 如例中 低點 22979 落底k成立後 一直顯示 +k AND +s

我上次請版主 寫 +S 給我 +S=C低+(B高- A低) +S =22979 +(22990-22964)=23005
+K= B高+(B高- A低) 及 +K = 22990+(22990-22964)=23016 目前算是正確 但是顯示不如我期望 我預期是每一個LD(C點高 曾經被收過時 就可以找前高 及 前低 可以計算期望D值 只要曾經被收過 就要一直 顯示 在畫面上 的 每一個LD 只要高點被收過就要一直顯示, 但是目前 只有正N 成立時才顯示 如圖例看的到 LD = 22962 22964 22979 三個 曾經 close > LD 高 就要一直 顯示 如例 目前 close=22999且這三個LD 曾經被收過 落底K成立 就要顯示三個 LD 的 +k and +s 反之見高K 也是-k and -s 有兩雖雖然 已不成立了 但是曾經見高K的低點有被收破就要顯示 圖例兩個 這樣解釋 不知版主可以知道我的期望 謝謝


由 ivancclai 在 2024-11-10 20:59 發表:

圖例三 有K 棒


由 cgjj 在 2024-11-10 21:00 發表:

引用:
最初由 ivancclai 發表
如圖例一
見高k= 創這低點層曾經被收破就成立被收破舊成立

AA:= REFX(CLOSE,1)<LOW or REFX(CLOSE,2)<LOW or REFX(CLOSE,3)<LOW or REFX(CLOSE,4)<LOW or REFX(CLOSE,5)<LOW or REFX(CLOSE,6)<LOW or REFX(CLOSE,7)<LOW OR
REFX(CLOSE,8)<LOW or REFX(CLOSE,9)<LOW or REFX(CLOSE,10)<LOW or REFX(CLOSE,11)<LOW or REFX(CLOSE,12)<LOW or REFX(CLOSE,13)<LOW or REFX(CLOSE,14)<LOW OR
REFX(CLOSE,15)<LOW or REFX(CLOSE,16)<LOW or REFX(CLOSE,17)<LOW or REFX(CLOSE,18)<LOW or REFX(CLOSE,19)<LOW or REFX(CLOSE,20)<LOW or REFX(CLOSE,21)<LOW OR
REFX(CLOSE,22)<LOW or REFX(CLOSE,23)<LOW or REFX(CLOSE,24)<LOW or REFX(CLOSE,25)<LOW or REFX(CLOSE,26)<LOW or REFX(CLOSE,27)<LOW or REFX(CLOSE,29)<LOW OR
REFX(CLOSE,30)<LOW or REFX(CLOSE,31)<LOW or REFX(CLOSE,32)<LOW or REFX(CLOSE,33)<LOW or REFX(CLOSE,34)<LOW or REFX(CLOSE,35)<LOW or REFX(CLOSE,36)<LOW; //OR

見高K:= REF(HIGH,1)<HIGH AND REFX(HIGH,1) <= HIGH AND REF(HIGH,2) <=HIGH and AA ;

落底k是創新低的 k棒高點曾經被收過就成立

BB := REFX(CLOSE,1)>HIGH or REFX(CLOSE,2)>HIGH or REFX(CLOSE,3)>HIGH or REFX(CLOSE,4)>HIGH or REFX(CLOSE,5)>HIGH or REFX(CLOSE,6)>HIGH or REFX(CLOSE,7)>HIGH or REFX(CLOSE,8)>HIGH or
REFX(CLOSE,9)>HIGH or REFX(CLOSE,10)>HIGH or REFX(CLOSE,11)>HIGH or REFX(CLOSE,12)>HIGH or REFX(CLOSE,13)>HIGH or REFX(CLOSE,14)>HIGH or REFX(CLOSE,15)>HIGH or REFX(CLOSE,16)>HIGH or
REFX(CLOSE,17)>HIGH or REFX(CLOSE,18)>HIGH or REFX(CLOSE,19)>HIGH or REFX(CLOSE,20)>HIGH or REFX(CLOSE,21)>HIGH or REFX(CLOSE,22)>HIGH or REFX(CLOSE,23)>HIGH or REFX(CLOSE,24)>HIGH or
REFX(CLOSE,25)>HIGH or REFX(CLOSE,26)>HIGH or REFX(CLOSE,27)>HIGH or REFX(CLOSE,28)>HIGH or REFX(CLOSE,29)>HIGH or REFX(CLOSE,30)>HIGH or REFX(CLOSE,31)>HIGH or REFX(CLOSE,32)>HIGH ;

落底K:=REF(LOW,1)>LOW and REFX(LOW,1)>=LOW and BB ;

舉例 當創新高的低點被收 則見高K 就可以計算 倒N -K AND - S **這一段我還不會寫需要版主協助**
當創新低的高點被收過 則落底K成立 就可以計算 正N +K AND +S 這 一段我 版主給我範例 已經做到 但是顯示不如我預期 因為 我期望ˋ 落底k 成立後 就一直顯示 以便觀察 如例中 低點 22979 落底k成立後 一直顯示 +k AND +s

我上次請版主 寫 +S 給我 +S=C低+(B高- A低) +S =22979 +(22990-22964)=23005
+K= B高+(B高- A低) 及 +K = 22990+(22990-22964)=23016 目前算是正確 但是顯示不如我期望 我預期是每一個LD(C點高 曾經被收過時 就可以找前高 及 前低 可以計算期望D值 只要曾經被收過 就要一直 顯示 在畫面上 的 每一個LD 只要高點被收過就要一直顯示, 但是目前 只有正N 成立時才顯示 如圖例看的到 LD = 22962 22964 22979 三個 曾經 close > LD 高 就要一直 顯示 如例 目前 close=22999 就要顯示三個 LD 的 +k and +s 反之見高K 也是-k and -s 有兩個隨然 已不成立了 但是曾經見高K的低點有被收破就要顯示 圖例兩個 這樣解釋 不知版主可以知道我的期望 謝謝



我給您的程式它只算最近的K棒,N字是否成立,過往的歷史是不計算的!!!

為何? 請好好思考一下您提供的邏輯
...
...
...
...
...
...
...

因為不同的C點(LD),所相對應的B點(HD),有是可能重複的(同點位)!!!
也就是同一個B點,可能會同時存在多個D值

若歷史每個LD都往前檢測計算,那個同點位所標出來的多個D值,將會相疊或是難以分辨

由於同點位D值個數為不確定性,故難以在圖面標示處理


由 ivancclai 在 2024-11-12 08:24 發表:

版主你好

不好意思 我一開始沒有想清楚 我想要的東西


至於多個 LD 或 HD 我想過 取最今一個就好
就是當產生LD 時 只找 最近的前低 在這兩低找最高 這個樣子 就可以唯一性 算最近的正N就好

至於顯示是做出來 才這樣想的

謝謝你 版主 你教我很多


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


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

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