奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 19 個文章

奇狐社區論壇 (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=23613)


由 bill25789 在 2023-03-10 21:33 發表:

[問題]特定級距之持股比例及張數間之計算

版主 您好

目前軟體有【持股比例比較】,請問若複製程式碼後,要再怎麼延伸公式,讓彼此間做相減,算出價差張數及比例(A級距間之總張張數+B級距間之總張數;A級距間總佔比-B級距間總佔比),並繪製成圖。

謝謝您


由 cgjj 在 2023-03-11 00:07 發表:

回覆: [問題]特定級距之持股比例及張數間之計算

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

目前軟體有【持股比例比較】,請問若複製程式碼後,要再怎麼延伸公式,讓彼此間做相減,算出價差張數及比例(A級距間之總張張數+B級距間之總張數;A級距間總佔比-B級距間總佔比),並繪製成圖。

謝謝您



用引用公式的方式,即可簡單處理,例如:

A級距:"JBC3.持股張數"(10,12,0,0,0,0); // >100張 <=600張
B級距:"JBC3.持股張數"(13,15,0,0,0,0); // >=600張


由 bill25789 在 2023-03-11 15:42 發表:

回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 cgjj 發表
用引用公式的方式,即可簡單處理,例如:

A級距:"JBC3.持股張數"(10,12,0,0,0,0); // >100張 <=600張
B級距:"JBC3.持股張數"(13,15,0,0,0,0); // >=600張




謝謝本版主回復,想再請問,若當選股條件,級距的起始可為變數下(引用公式無法當變數)
及加入[GGG.法人總庫存變化]要怎麼寫進選股條件中。

N1:=13;N2:=15; //A級距區間
N3:=1;N4:=5; //B級距區間
N5:=10;N6:=14; //C級距區間

X1:=A級距當周持股數-A級距上周持股數
X2:=B級距當周持股數-B級距上周持股數
X3:=C級距當周持股數-C級距上周持股數

Y1:=X3 + GGG.法人總庫存變化

//條件成立
X1>0 and X2<0 and X3 >0 and GGG.法人總庫存變化 > 0;
X1> abs(x2)*2;
Y1/ X2 > 0.3;



謝謝版主


由 cgjj 在 2023-03-12 10:06 發表:

回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 bill25789 發表
謝謝本版主回復,想再請問,若當選股條件,級距的起始可為變數下(引用公式無法當變數)
及加入[GGG.法人總庫存變化]要怎麼寫進選股條件中。

N1:=13;N2:=15; //A級距區間
N3:=1;N4:=5; //B級距區間
N5:=10;N6:=14; //C級距區間

X1:=A級距當周持股數-A級距上周持股數
X2:=B級距當周持股數-B級距上周持股數
X3:=C級距當周持股數-C級距上周持股數

Y1:=X3 + GGG.法人總庫存變化

//條件成立
X1>0 and X2<0 and X3 >0 and GGG.法人總庫存變化 > 0;
X1> abs(x2)*2;
Y1/ X2 > 0.3;

謝謝版主



改用 stkindi 引用,就可以使用變數,範例如下:

N1:=13; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
A級距張:STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);

DD:=89; DDs:=numtostr(DD,0);
自營商庫存變化:STKINDI('','GGG.自營商庫存變化('+DDs+',0,1,0,0,0)',0,-1);


由 bill25789 在 2023-03-12 20:09 發表:

回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

[QUOTE]最初由 cgjj 發表
[B]改用 stkindi 引用,就可以使用變數,範例如下:

我先用A級距做測試,在周線跑,但跑不出股票...是哪裡出問題

N1:=13; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);

A級距張:STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);



A級距張 >ref(A級距張,1) ;


謝謝版主


由 cgjj 在 2023-03-12 21:17 發表:

回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 bill25789 發表
[QUOTE]最初由 cgjj 發表
[B]改用 stkindi 引用,就可以使用變數,範例如下:

我先用A級距做測試,在周線跑,但跑不出股票...是哪裡出問題

N1:=13; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);

A級距張:STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);



A級距張 >ref(A級距張,1) ;


謝謝版主



N1:=13; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
選中:A級距張 >ref(A級距張,1);


由 bill25789 在 2023-03-13 00:26 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 cgjj 發表
N1:=13; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
選中:A級距張 >ref(A級距張,1);



再請問版主2個問題
1. 用以下公式篩選後為何會選出威建3033
3/13選股,設定歷史3/10,以週為分析週期
3/10為:97270,3/3為:9821,
當周張數並未大於前一周,卻被篩選出來?

N1:=15; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
選中:A級距張 >ref(A級距張,1);


2.另當額外增設以下條件時無法篩選出的原因為何

N1:=15; N2:=15; //A級距區間
N1:=1; N2:=8; //B級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
N3s:=numtostr(N3,0); N4s:=numtostr(N4,0);

A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
B級距張:=STKINDI('','JBC3.持股張數('+N3s+','+N4s+',0,0,0,0)',0,-1);
AB差:=A級距張-B級距張;

A級距張 >ref(A級距張,1) and B級距張 <ref(B級距張,1) and AB差>0;


謝謝您


由 cgjj 在 2023-03-13 08:42 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 bill25789 發表
再請問版主2個問題
1. 用以下公式篩選後為何會選出威建3033
3/13選股,設定歷史3/10,以週為分析週期
3/10為:97270,3/3為:9821,
當周張數並未大於前一周,卻被篩選出來?

N1:=15; N2:=15; //A級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
選中:A級距張 >ref(A級距張,1);



3/3為:98291

我這邊測試OK唷!
其實並不需要將[歷史時間段選股]指定為3/10,因為目前尚無 3/13 的行情(尚未開盤)。

[歷史時間段選股]不要勾,系統就會自動用最後的3/10數據來做選股

我這邊測試勾與不勾,都不會選中您說的3033 (皆是正常的結果)

請問您選股前有先連上線將數據補足嗎?
奇狐使用的版本號是 v5.2.?????? (請升級到最新版本)


由 cgjj 在 2023-03-13 08:45 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 bill25789 發表
2.另當額外增設以下條件時無法篩選出的原因為何

N1:=15; N2:=15; //A級距區間
N1:=1; N2:=8; //B級距區間
N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
N3s:=numtostr(N3,0); N4s:=numtostr(N4,0);

A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
B級距張:=STKINDI('','JBC3.持股張數('+N3s+','+N4s+',0,0,0,0)',0,-1);
AB差:=A級距張-B級距張;

A級距張 >ref(A級距張,1) and B級距張 <ref(B級距張,1) and AB差>0;
謝謝您



N3 N4 沒有被定義,條件也沒配置變數名,這段公式是無法編譯通過和執行選股的!!!


由 bill25789 在 2023-03-13 22:25 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 cgjj 發表
N3 N4 沒有被定義,條件也沒配置變數名,這段公式是無法編譯通過和執行選股的!!!


謝謝版主回復

1.不曉得為啥,再次測試已正確,謝謝協助。

2.N3、N4,誤繕了,修改條件如下,該怎麼先撈出各級距的正差值或負差值再對其做公式計算,另外選股是以周為分析週期,法人總庫存變化要怎麼去引用,再麻煩版主了


N1:=15; N2:=15; //A級距區間
N3:=1; N4:=8; //B級距區間

N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
N3s:=numtostr(N3,0); N4s:=numtostr(N4,0);
DD:=89; DDs:=numtostr(DD,0);

A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
B級距張:=STKINDI('','JBC3.持股張數('+N3s+','+N4s+',0,0,0,0)',0,-1);
法人總庫存變化:STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,-1);



//A方案:符合條件1下,進行公式1計算
條件1:=A級距張 >ref(A級距張,1) and B級距張 <ref(B級距張,1) ; //A級距當周>前周,B級距當周<前周

//B方案:不符合條件1,但符合條件2下,進行公式2計算
條件2:=B級距張 <ref(B級距張,1) and 法人總庫存變化>0; //法人當周增減>0,B級距當周<前周

//這裡該如何避免分子分母同為負的情形?
公式1:=(A級距張 - ref(A級距張,1) ) / abs(B級距張 - ref(B級距張,1));
公式2:=法人總庫存變化 / abs(B級距張 - ref(B級距張,1));

公式3:=count(A級距張 - ref(A級距張,1)>0,10)>3;
公式4:=count(法人總庫存變化 - ref(法人總庫存變化,1)>0,10)>3;

//
選中: A方案下,公式1計算結果>1+公式3=1的股票。
選中: B方案下,公式2計算結果>1+公式4=1的股票。



謝謝您


由 cgjj 在 2023-03-13 22:37 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 bill25789 發表
謝謝版主回復

1.不曉得為啥,再次測試已正確,謝謝協助。

2.N3、N4,誤繕了,修改條件如下,該怎麼先撈出各級距的正差值或負差值再對其做公式計算,再麻煩版主了


N1:=15; N2:=15; //A級距區間
N3:=1; N4:=8; //B級距區間

N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
N3s:=numtostr(N3,0); N4s:=numtostr(N4,0);
DD:=89; DDs:=numtostr(DD,0);

A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
B級距張:=STKINDI('','JBC3.持股張數('+N3s+','+N4s+',0,0,0,0)',0,-1);
法人總庫存變化:STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,-1);



//A方案:符合條件1下,進行公式1計算
條件1:=A級距張 >ref(A級距張,1) and B級距張 <ref(B級距張,1) ; //A級距當周>前周,B級距當周<前周

//B方案:不符合條件1,但符合條件2下,進行公式2計算
條件2:=B級距張 <ref(B級距張,1) and 法人總庫存變化>0; //法人當周增減>0,B級距當周<前周

//這裡該如何避免分子分母同為負的情形?
公式1:=(A級距張 - ref(A級距張,1) ) / abs(B級距張 - ref(B級距張,1));
公式2:=法人總庫存變化 / abs(B級距張 - ref(B級距張,1));

公式3:=count(A級距張 - ref(A級距張,1)>0,10)>3;
公式4:=count(法人總庫存變化 - ref(法人總庫存變化,1)>0,10)>3;

//
選中: A方案下,公式1計算結果>1+公式3=1的股票。
選中: B方案下,公式2計算結果>1+公式4=1的股票。


謝謝您



選中:IF(條件1, 公式1>1 and 公式3=1 ,if(條件2, 公式2>1 and 公式4=1, 0));


由 bill25789 在 2023-03-13 22:54 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之計算

引用:
最初由 cgjj 發表
選中:IF(條件1, 公式1>1 and 公式3=1 ,if(條件2, 公式2>1 and 公式4=1, 0));


版主 您好
先就條件1做篩選,以周分析週期,放寬條件都選不出任何股票,這是甚麼原因?

N1:=15; N2:=15; //A級距區間
N3:=1; N4:=8; //B級距區間

N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
N3s:=numtostr(N3,0); N4s:=numtostr(N4,0);
DD:=89; DDs:=numtostr(DD,0);

A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
B級距張:=STKINDI('','JBC3.持股張數('+N3s+','+N4s+',0,0,0,0)',0,-1);
法人總庫存變化:=STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,-1);



//A方案:符合條件1下,進行公式1計算
條件1:=A級距張 >ref(A級距張,1) and B級距張 <ref(B級距張,1) ; //A級距當周>前周,B級距當周<前周

//B方案:不符合條件1,但符合條件2下,進行公式2計算
條件2:=B級距張 <ref(B級距張,1) and 法人總庫存變化>0; //法人當周增減>0,B級距當周<前周

//這裡該如何避免分子分母同為負的情形?
公式1:=(A級距張 - ref(A級距張,1) ) / abs(B級距張 - ref(B級距張,1));
公式2:=法人總庫存變化 / abs(B級距張 - ref(B級距張,1));

公式3:=count(A級距張 - ref(A級距張,1)>0,10)>3;
公式4:=count(法人總庫存變化 - ref(法人總庫存變化,1)>0,10)>3;

選中:IF(條件1, 公式1>0.5 and 公式3=1 , 0);


謝謝您


由 cgjj 在 2023-03-13 23:15 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張數間之

引用:
最初由 bill25789 發表
版主 您好
先就條件1做篩選,以周分析週期,放寬條件都選不出任何股票,這是甚麼原因?

N1:=15; N2:=15; //A級距區間
N3:=1; N4:=8; //B級距區間

N1s:=numtostr(N1,0); N2s:=numtostr(N2,0);
N3s:=numtostr(N3,0); N4s:=numtostr(N4,0);
DD:=89; DDs:=numtostr(DD,0);

A級距張:=STKINDI('','JBC3.持股張數('+N1s+','+N2s+',0,0,0,0)',0,-1);
B級距張:=STKINDI('','JBC3.持股張數('+N3s+','+N4s+',0,0,0,0)',0,-1);
法人總庫存變化:=STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,-1);



//A方案:符合條件1下,進行公式1計算
條件1:=A級距張 >ref(A級距張,1) and B級距張 <ref(B級距張,1) ; //A級距當周>前周,B級距當周<前周

//B方案:不符合條件1,但符合條件2下,進行公式2計算
條件2:=B級距張 <ref(B級距張,1) and 法人總庫存變化>0; //法人當周增減>0,B級距當周<前周

//這裡該如何避免分子分母同為負的情形?
公式1:=(A級距張 - ref(A級距張,1) ) / abs(B級距張 - ref(B級距張,1));
公式2:=法人總庫存變化 / abs(B級距張 - ref(B級距張,1));

公式3:=count(A級距張 - ref(A級距張,1)>0,10)>3;
公式4:=count(法人總庫存變化 - ref(法人總庫存變化,1)>0,10)>3;

選中:IF(條件1, 公式1>0.5 and 公式3=1 , 0);


謝謝您



法人總庫存變化是日線專用的指標,無法直接在周線中跑(故當然選不中任一支股票)

若要引用日線算的值到周線中使用

請將
法人總庫存變化:=STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,-1);

改為
法人總庫存變化:=STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,6);


由 bill25789 在 2023-03-13 23:22 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比例及張

引用:
最初由 cgjj 發表
法人總庫存變化是日線專用的指標,無法直接在周線中跑(故當然選不中任一支股票)

若要引用日線算的值到周線中使用

請將
法人總庫存變化:=STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,-1);

改為
法人總庫存變化:=STKINDI('','GGH.法人總庫存變化('+DDs+',0,1,0,0,0)',0,6);



謝謝版主回復,但我現在只針對條件1部分篩選,已經放寬10周內A級距正差值出現至少3次跟A級距與B級距比值>0.5的條件。

選中:IF(條件1, 公式1>0.5 and 公式3=1 , 0);

但一張股票都沒有?...


由 cgjj 在 2023-03-14 00:02 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: [問題]特定級距之持股比

引用:
最初由 bill25789 發表
謝謝版主回復,但我現在只針對條件1部分篩選,已經放寬10周內A級距正差值出現至少3次跟A級距與B級距比值>0.5的條件。

選中:IF(條件1, 公式1>0.5 and 公式3=1 , 0);

但一張股票都沒有?...:confused:



您如果是選現在,必定是選不到!!!

別忘了! 集保庫存是周末才公布
本周目前尚無集保庫存數據
但本周之3/13的K棒已經存在
公式此時於本周K棒抓到的會是前周的值(自動延伸)
也就是說 同級距張 = ref(同級距張,1)
故永遠選不中!

您需將[歷史時間段選股]勾起來
將選股日期設為3/10才能選中


全部時間均為台灣時間, 現在時間為12:04 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 19 個文章


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

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