 |
mhlin999
中級會員
註冊日期: Jan 2005
來 自:
文章數量: 34 |
程式跑出來的結果有些不對如附圖,惠請給予指導協助!
要求得緊鄰的2個向下實體缺口之間的最高點,程式如下:
跑出來的結果有些不對如附圖,惠請給予指導協助!
2014.4.29.日線的第2∼3,4∼5缺口之間的數據不符
// 在今日看昨天(和前天之間)是否有向下實體缺口
PRSV:if(ref(L,2)>ref(H,1),ref(L,2),if(MIN(ref(O,2),ref(C,2))>MAX(ref(O,1),ref(C,1)),MIN(ref(O,2),ref(C,2)),0)),LINETHICK0,COLORRED;
PRSCK1:BARSLAST(prsv<>0),LINETHICK0,COLORwhite;
PRSCK2:ref(PRSCK1,PRSCK1+1)+PRSCK1+1,colorwhite,linethick0;
PRSCK3:ref(PRSCK1,PRSCK2+1)+PRSCK2+1,colorwhite,linethick0;
PRSCK4:ref(PRSCK1,PRSCK3+1)+PRSCK3+1,colorwhite,linethick0;
PRSCK5:ref(PRSCK1,PRSCK4+1)+PRSCK4+1,colorwhite,linethick0;
STICKLINE(PRSV<>0,H*1.002,H*1.09,2,1),colorwhite;
// 2014.4.29.
HVK21:ref(HHV(H,5),6 ),colorcyan,linethick0;
HVK32:ref(HHV(H,1),11),colorcyan,linethick0;
HVK43:ref(HHV(H,4),12),colorcyan,linethick0;
HVK54:ref(HHV(H,1),16),colorcyan,linethick0;
N21:PRSCK2-PRSCK1,,colorwhite,linethick0; //5
N32:PRSCK3-PRSCK2,,colorwhite,linethick0; //1
N43:PRSCK4-PRSCK3,,colorwhite,linethick0; //4
N54:PRSCK5-PRSCK4,,colorwhite,linethick0; //1
HV2_1:ref(HHV(H,PRSCK2-PRSCK1),PRSCK1+2),coloryellow,linethick0;
HV3_2:ref(HHV(H,PRSCK3-PRSCK2),PRSCK2+2),coloryellow,linethick0;
HV4_3:ref(HHV(H,PRSCK4-PRSCK3),PRSCK3+2),coloryellow,linethick0;
HV5_4:ref(HHV(H,PRSCK5-PRSCK4),PRSCK4+2),coloryellow,linethick0;
mhlin999 附帶上了此圖片:
|
|
向版主報告此篇 |  |
|
2014-04-30 00:28 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
回覆: 程式跑出來的結果有些不對如附圖,惠請給予指導協助!
引用: 最初由 mhlin999 發表
要求得緊鄰的2個向下實體缺口之間的最高點,程式如下:
跑出來的結果有些不對如附圖,惠請給予指導協助!
2014.4.29.日線的第2∼3,4∼5缺口之間的數據不符
// 在今日看昨天(和前天之間)是否有向下實體缺口
PRSV:if(ref(L,2)>ref(H,1),ref(L,2),if(MIN(ref(O,2),ref(C,2))>MAX(ref(O,1),ref(C,1)),MIN(ref(O,2),ref(C,2)),0)),LINETHICK0,COLORRED;
PRSCK1:BARSLAST(prsv<>0),LINETHICK0,COLORwhite;
PRSCK2:ref(PRSCK1,PRSCK1+1)+PRSCK1+1,colorwhite,linethick0;
PRSCK3:ref(PRSCK1,PRSCK2+1)+PRSCK2+1,colorwhite,linethick0;
PRSCK4:ref(PRSCK1,PRSCK3+1)+PRSCK3+1,colorwhite,linethick0;
PRSCK5:ref(PRSCK1,PRSCK4+1)+PRSCK4+1,colorwhite,linethick0;
STICKLINE(PRSV<>0,H*1.002,H*1.09,2,1),colorwhite;
// 2014.4.29.
HVK21:ref(HHV(H,5),6 ),colorcyan,linethick0;
HVK32:ref(HHV(H,1),11),colorcyan,linethick0;
HVK43:ref(HHV(H,4),12),colorcyan,linethick0;
HVK54:ref(HHV(H,1),16),colorcyan,linethick0;
N21:PRSCK2-PRSCK1,,colorwhite,linethick0; //5
N32:PRSCK3-PRSCK2,,colorwhite,linethick0; //1
N43:PRSCK4-PRSCK3,,colorwhite,linethick0; //4
N54:PRSCK5-PRSCK4,,colorwhite,linethick0; //1
HV2_1:ref(HHV(H,PRSCK2-PRSCK1),PRSCK1+2),coloryellow,linethick0;
HV3_2:ref(HHV(H,PRSCK3-PRSCK2),PRSCK2+2),coloryellow,linethick0;
HV4_3:ref(HHV(H,PRSCK4-PRSCK3),PRSCK3+2),coloryellow,linethick0;
HV5_4:ref(HHV(H,PRSCK5-PRSCK4),PRSCK4+2),coloryellow,linethick0;
自畫面上看不出您要如何呈現?
求得緊鄰的2個向下實體缺口之間的最高點後
您要如何標示它 ?
|
|
向版主報告此篇 |  |
|
2014-04-30 08:37 |
|
|
|  |
 |
mhlin999
中級會員
註冊日期: Jan 2005
來 自:
文章數量: 34 |
不用在畫面上標出來,
只要能讓
HV3_2:ref(HHV(H,PRSCK3-PRSCK2),PRSCK2+2),coloryellow,linethick0;
及
HV5_4:ref(HHV(H,PRSCK5-PRSCK4),PRSCK4+2),coloryellow,linethick0;
顯示正確的數據就好
我想知道邏輯出了什麼問題而得不到想要的數據
懇請幫忙修正
|
|
向版主報告此篇 |  |
|
2014-04-30 09:18 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 mhlin999 發表
不用在畫面上標出來,
只要能讓
HV3_2:ref(HHV(H,PRSCK3-PRSCK2),PRSCK2+2),coloryellow,linethick0;
及
HV5_4:ref(HHV(H,PRSCK5-PRSCK4),PRSCK4+2),coloryellow,linethick0;
顯示正確的數據就好
我想知道邏輯出了什麼問題而得不到想要的數據
懇請幫忙修正
看不是很懂您想要算什麼, 模糊空間太大
請不要以程式碼來說明 !
請舉實例, 解說判斷規則與計算方法, 並給實例實際結果數值
這樣比較容易精確了解您要算什麼, 謝謝
|
|
向版主報告此篇 |  |
|
2014-04-30 09:46 |
|
|
|  |
 |
mhlin999
中級會員
註冊日期: Jan 2005
來 自:
文章數量: 34 |
規則:要求得緊鄰的2個向下實體缺口之間的最高點,
首先要定義向下實體缺口,
再來要找到該些缺口及其間的K棒數,
再求得這些K棒數的最高點
說明:
1. 向下的實體跳空缺口:就是兩根K線的實體部分不重疊、前一根K線的實體低點大於後一根K線的實體高點,例如前天K線的實體低點大於昨天K線的實體高點,這兩根兩根K線就有向下的實體跳空缺口。請參考附圖。
以加權指數(100)為例,
例如2014.4.22.發現2014.4.18.和2014.4.21.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口1
例如2014.4.15.發現2014.4.13.和2014.4.14.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口2
例如2014.4.14.發現2014.4.12.和2014.4.13.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口3
例如2014.4.8.發現2014.4.3.和2014.4.7.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口4
例如2014.4.7.發現2014.4.2.和2014.4. 3.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口5...
判斷規則:MIN(ref(O,2),ref(C,2))>MAX(ref(O,1),ref(C,1))成立時取MIN(ref(O,2),ref(C,2))
程式中 Prsv: 當向下實體缺口成立時取 MIN(ref(O,2),ref(C,2)) ,不成立時則取 0 值
並設定 判定缺口成立的當天距離為0,BARSLAST(缺口成立) , 假定缺口1為 PRSCK1:BARSLAST(prsv<>0);
所以,跳空缺口1的前一天為ref(PRSCK1,2) ,跳空缺口的後一天為ref(PRSCK1,1)
再推算前一個缺口(缺口2)成立到到當天距離為 PRSCK2:ref(PRSCK1,PRSCK1+1)+PRSCK1+1;
同樣可推算 缺口3,缺口4,缺口5 成立後到當天距離,分別為PRSCK3,PRSCK4,PRSCK5
2. 要求得緊鄰的2個向下實體缺口之間的最高點,就是先找到2個缺口之間的K棒數,再求得這些K棒的最高點
例如缺口1(2014.4.18.和2014.4.21.間向下的跳空缺口)與缺口2(2014.4.13.和2014.4.14.間向下的跳空缺口)之間的最高點,就是找到 2014.4.18.(含)到2014.4.14. (含)之間的K棒數為5,這5根K棒最高的日線高點為 2014.4.18.的 H=9002.70
(1) 緊鄰的2個向下實體缺口之間的K棒數目為各該距離的差,要求得其間K棒的最高點
例如 缺口2與缺口1之間的K棒數目為 PRSCK2- PRSCK1,依計算得9-4=5
其間K棒的最高點為 HHV(H,PRSCK2-PRSCK1)
(2) 並要找到 缺口1的前一天的K棒之位置 為 ref( xxx, PRSCK1+2 )
(3) 綜合上面2項, HV2_1:ref(HHV(H,PRSCK2-PRSCK1),PRSCK1+2) 為 缺口2與缺口1之間的最高點,
同樣邏輯, HV3_2:ref(HHV(H,PRSCK3-PRSCK2),PRSCK2+2) 為 缺口3與缺口2之間的最高點,
HV4_3:ref(HHV(H,PRSCK4-PRSCK3),PRSCK3+2) 為 缺口4與缺口3之間的最高點,
HV5_4:ref(HHV(H,PRSCK5-PRSCK4),PRSCK4+2) 為 缺口5與缺口4之間的最高點
如此 程式跑出 HV2_1:9002.70 (為2014.4.18.的高點,正確)
同樣邏輯,正確要跑出 HV3_2:8909.97 (為2014.4.11.的高點,正確)
HV4_3:8978.52 (為2014.4.10.的高點,正確)
HV5_4:8913.74 (為2014.4.3 .的高點,正確)
但 其中程式卻跑出
HV3_2: 8978.52 (不是2014.4.11.的高點,不正確,缺口2與缺口3之間只有2014.4.11.一根K棒,跑出區間了,跑出2014.4.10. 的高點)
其中程式卻跑出
HV5_4: 8922.79 (不是2014.4.3.的高點,不正確,缺口5與缺口4之間只有2014.4.3.一根K棒,跑出區間了,跑出2014.4.2. 的高點)
3. 用實際數據去套來比對,以 加權指數(100)2014.4.29. 為例
PRSCK1:4 則 PRSCK1+2 得到數值為 6
PRSCK2:9 則 PRSCK2+2 得到數值為 11
PRSCK3:10 則 PRSCK3+2 得到數值為 12
PRSCK4:14 則 PRSCK4+2 得到數值為 16
PRSCK5:15 則 PRSCK5+2 得到數值為 17
N21:PRSCK2-PRSCK1; 得到數值為 5
N32:PRSCK3-PRSCK2; 得到數值為 1
N43:PRSCK4-PRSCK3; 得到數值為 4
N54:PRSCK5-PRSCK4; 得到數值為 1
套入程式,
HVK21:ref(HHV(H,5),6 ),colorcyan,linethick0; 得 HVK21: 9002.70 (為2014.4.18.的高點,正確)
HVK32:ref(HHV(H,1),11),colorcyan,linethick0; 得 HVK32: 909.97 (為2014.4.11.的高點,正確)
HVK43:ref(HHV(H,4),12),colorcyan,linethick0; 得 HVK43: 8978.52 (為2014.4.10.的高點,正確)
HVK54:ref(HHV(H,1),16),colorcyan,linethick0; 得 HVK54: 8913.74 (為2014.4.3 .的高點,正確)
此和 用變數去求得的(如上面2.(3) 所述) 有一些不一樣
用 加權指數(100) 2014.4.30. 盤中實際數據去套來比對,
PRSCK1:6 則 PRSCK1+2 得到數值為 8
PRSCK2:11 則 PRSCK2+2 得到數值為 13
PRSCK3:12 則 PRSCK3+2 得到數值為 14
PRSCK4:16 則 PRSCK4+2 得到數值為 18
PRSCK5:17
HVK21:ref(HHV(H,5),8 ),colorcyan,linethick0; 得 HVK21: 9002.70 (為2014.4.18.的高點,正確)
HVK32:ref(HHV(H,1),13),colorcyan,linethick0; 得 HVK32: 909.97 (為2014.4.11.的高點,正確)
HVK43:ref(HHV(H,4),14),colorcyan,linethick0; 得 HVK43: 978.52 (為2014.4.10.的高點,正確)
HVK54:ref(HHV(H,1),18),colorcyan,linethick0; 得 HVK54: 913.74 (為2014.4.3 .的高點,正確)
使用變數的程式跑出
HV2_1:9002.70 (為2014.4.18.的高點,正確)
HV3_2:8978.52 (為2014.4.11.的高點,不正確,缺口2與缺口3之間只有2014.4.11.一根K棒,跑出區間了)
HV4_3:8978.52 (為2014.4.10.的高點,正確)
HV5_4:8922.79 (為2014.4.2 .的高點,不正確,缺口5與缺口4之間只有2014.4.3.一根K棒,跑出區間了)
如何讓 用變數去求得的(如上面2.(3) 所述) 是 正確的,還請幫忙解或找出該修正的地方,謝謝!
mhlin999 附帶上了此圖片:
|
|
向版主報告此篇 |  |
|
2014-04-30 15:05 |
|
|
|  |
 |
mhlin999
中級會員
註冊日期: Jan 2005
來 自:
文章數量: 34 |
同一程式在個股上測試也是有某些點不符
用 2014.4.30. 資料測試,
在 台積電2330 測試,第3缺口與第4缺口間不符,其他3組都對
第3缺口與第4缺口間只有1根K棒,最高點應該是 2014.4.3.的高點119.0 卻顯示121.0(2014.4.2的高點.)
在 聯電2303 測試,第1缺口與第2缺口間不符,其他3組都對
第1缺口與第2缺口間有9根K棒,最高點應該是 2014.4.23.的高點13.3 卻顯示13.2(2014.4.24的高點.)
提請參考,仍請幫忙指導該修正錯誤之處,謝謝!
|
|
向版主報告此篇 |  |
|
2014-05-01 10:43 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 mhlin999 發表
規則:要求得緊鄰的2個向下實體缺口之間的最高點,
首先要定義向下實體缺口,
再來要找到該些缺口及其間的K棒數,
再求得這些K棒數的最高點
說明:
1. 向下的實體跳空缺口:就是兩根K線的實體部分不重疊、前一根K線的實體低點大於後一根K線的實體高點,例如前天K線的實體低點大於昨天K線的實體高點,這兩根兩根K線就有向下的實體跳空缺口。請參考附圖。
以加權指數(100)為例,
例如2014.4.22.發現2014.4.18.和2014.4.21.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口1
例如2014.4.15.發現2014.4.13.和2014.4.14.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口2
例如2014.4.14.發現2014.4.12.和2014.4.13.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口3
例如2014.4.8.發現2014.4.3.和2014.4.7.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口4
例如2014.4.7.發現2014.4.2.和2014.4. 3.兩根實體K線間留下向下的跳空缺口,上次圖例手工標示為缺口5...
判斷規則:MIN(ref(O,2),ref(C,2))>MAX(ref(O,1),ref(C,1))成立時取MIN(ref(O,2),ref(C,2))
程式中 Prsv: 當向下實體缺口成立時取 MIN(ref(O,2),ref(C,2)) ,不成立時則取 0 值
並設定 判定缺口成立的當天距離為0,BARSLAST(缺口成立) , 假定缺口1為 PRSCK1:BARSLAST(prsv<>0);
所以,跳空缺口1的前一天為ref(PRSCK1,2) ,跳空缺口的後一天為ref(PRSCK1,1)
再推算前一個缺口(缺口2)成立到到當天距離為 PRSCK2:ref(PRSCK1,PRSCK1+1)+PRSCK1+1;
同樣可推算 缺口3,缺口4,缺口5 成立後到當天距離,分別為PRSCK3,PRSCK4,PRSCK5
2. 要求得緊鄰的2個向下實體缺口之間的最高點,就是先找到2個缺口之間的K棒數,再求得這些K棒的最高點
例如缺口1(2014.4.18.和2014.4.21.間向下的跳空缺口)與缺口2(2014.4.13.和2014.4.14.間向下的跳空缺口)之間的最高點,就是找到 2014.4.18.(含)到2014.4.14. (含)之間的K棒數為5,這5根K棒最高的日線高點為 2014.4.18.的 H=9002.70
(1) 緊鄰的2個向下實體缺口之間的K棒數目為各該距離的差,要求得其間K棒的最高點
例如 缺口2與缺口1之間的K棒數目為 PRSCK2- PRSCK1,依計算得9-4=5
其間K棒的最高點為 HHV(H,PRSCK2-PRSCK1)
(2) 並要找到 缺口1的前一天的K棒之位置 為 ref( xxx, PRSCK1+2 )
(3) 綜合上面2項, HV2_1:ref(HHV(H,PRSCK2-PRSCK1),PRSCK1+2) 為 缺口2與缺口1之間的最高點,
同樣邏輯, HV3_2:ref(HHV(H,PRSCK3-PRSCK2),PRSCK2+2) 為 缺口3與缺口2之間的最高點,
HV4_3:ref(HHV(H,PRSCK4-PRSCK3),PRSCK3+2) 為 缺口4與缺口3之間的最高點,
HV5_4:ref(HHV(H,PRSCK5-PRSCK4),PRSCK4+2) 為 缺口5與缺口4之間的最高點
如此 程式跑出 HV2_1:9002.70 (為2014.4.18.的高點,正確)
同樣邏輯,正確要跑出 HV3_2:8909.97 (為2014.4.11.的高點,正確)
HV4_3:8978.52 (為2014.4.10.的高點,正確)
HV5_4:8913.74 (為2014.4.3 .的高點,正確)
但 其中程式卻跑出
HV3_2: 8978.52 (不是2014.4.11.的高點,不正確,缺口2與缺口3之間只有2014.4.11.一根K棒,跑出區間了,跑出2014.4.10. 的高點)
其中程式卻跑出
HV5_4: 8922.79 (不是2014.4.3.的高點,不正確,缺口5與缺口4之間只有2014.4.3.一根K棒,跑出區間了,跑出2014.4.2. 的高點)
3. 用實際數據去套來比對,以 加權指數(100)2014.4.29. 為例
PRSCK1:4 則 PRSCK1+2 得到數值為 6
PRSCK2:9 則 PRSCK2+2 得到數值為 11
PRSCK3:10 則 PRSCK3+2 得到數值為 12
PRSCK4:14 則 PRSCK4+2 得到數值為 16
PRSCK5:15 則 PRSCK5+2 得到數值為 17
N21:PRSCK2-PRSCK1; 得到數值為 5
N32:PRSCK3-PRSCK2; 得到數值為 1
N43:PRSCK4-PRSCK3; 得到數值為 4
N54:PRSCK5-PRSCK4; 得到數值為 1
套入程式,
HVK21:ref(HHV(H,5),6 ),colorcyan,linethick0; 得 HVK21: 9002.70 (為2014.4.18.的高點,正確)
HVK32:ref(HHV(H,1),11),colorcyan,linethick0; 得 HVK32: 909.97 (為2014.4.11.的高點,正確)
HVK43:ref(HHV(H,4),12),colorcyan,linethick0; 得 HVK43: 8978.52 (為2014.4.10.的高點,正確)
HVK54:ref(HHV(H,1),16),colorcyan,linethick0; 得 HVK54: 8913.74 (為2014.4.3 .的高點,正確)
此和 用變數去求得的(如上面2.(3) 所述) 有一些不一樣
用 加權指數(100) 2014.4.30. 盤中實際數據去套來比對,
PRSCK1:6 則 PRSCK1+2 得到數值為 8
PRSCK2:11 則 PRSCK2+2 得到數值為 13
PRSCK3:12 則 PRSCK3+2 得到數值為 14
PRSCK4:16 則 PRSCK4+2 得到數值為 18
PRSCK5:17
HVK21:ref(HHV(H,5),8 ),colorcyan,linethick0; 得 HVK21: 9002.70 (為2014.4.18.的高點,正確)
HVK32:ref(HHV(H,1),13),colorcyan,linethick0; 得 HVK32: 909.97 (為2014.4.11.的高點,正確)
HVK43:ref(HHV(H,4),14),colorcyan,linethick0; 得 HVK43: 978.52 (為2014.4.10.的高點,正確)
HVK54:ref(HHV(H,1),18),colorcyan,linethick0; 得 HVK54: 913.74 (為2014.4.3 .的高點,正確)
使用變數的程式跑出
HV2_1:9002.70 (為2014.4.18.的高點,正確)
HV3_2:8978.52 (為2014.4.11.的高點,不正確,缺口2與缺口3之間只有2014.4.11.一根K棒,跑出區間了)
HV4_3:8978.52 (為2014.4.10.的高點,正確)
HV5_4:8922.79 (為2014.4.2 .的高點,不正確,缺口5與缺口4之間只有2014.4.3.一根K棒,跑出區間了)
如何讓 用變數去求得的(如上面2.(3) 所述) 是 正確的,還請幫忙解或找出該修正的地方,謝謝!
用 2014.4.30. 資料測試,
在 台積電2330 測試,第3缺口與第4缺口間不符,其他3組都對
第3缺口與第4缺口間只有1根K棒,最高點應該是 2014.4.3.的高點119.0 卻顯示121.0(2014.4.2的高點.)
在 聯電2303 測試,第1缺口與第2缺口間不符,其他3組都對
第1缺口與第2缺口間有9根K棒,最高點應該是 2014.4.23.的高點13.3 卻顯示13.2(2014.4.24的高點.)
提請參考,仍請幫忙指導該修正錯誤之處,謝謝!
CK:=MIN(ref(O,2),ref(C,2))>MAX(ref(O,1),ref(C,1));
CKSP:=barslast(CK); R2SP:=CKSP-2;
HSP:=ref(R2SP,1)+1-R2SP;
區高:ref(HHV(H,refx(HSP,2)),R2SP)*CK;
//以下程式只是為了方便核對而設(可刪除)
近1H:ref(區高,SUMBARS(CK,1)-1) coloryellow linethick;
近2H:ref(區高,SUMBARS(CK,2)-1) coloryellow linethick;
近3H:ref(區高,SUMBARS(CK,3)-1) coloryellow linethick;
近4H:ref(區高,SUMBARS(CK,4)-1) coloryellow linethick;
近5H:ref(區高,SUMBARS(CK,5)-1) coloryellow linethick;
|
|
向版主報告此篇 |  |
|
2014-05-05 10:00 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|