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

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


由 bill25789 在 2021-04-12 14:45 發表:

[問題]選股公式

//一般
股本:=FINANCE(20)<500000;
股價:=C>10 and C < HHV(HIGH,0)*0.5;

//日線數據(成交量,漲幅,創相對高點)
THE_VOL:=MA(VOL,5)>500; //5日均量大於500張
漲幅:=(C-ref(C,1)/ref(C,1))*100 > 7; //漲幅>7公式
漲幅數量:=count(漲幅,20) ; // 算近20日有超過7%的數量
THP:= ref(HIGH,HHVBARS(HIGH,780)); // 找到近780根的高點價位

股價=1 AND 股本=1 and 漲幅數量 >1 and THP < H;


//週線數據(振幅放大、開收價差放大、最低價墊高)

BAR_NOW:=(H-L)/L*100; //本週振幅
BAR_Y1:=(ref(H,1)-ref(L,1))/ref(L,1); //上週振幅
BAR_Y2:=(ref(H,2)-ref(L,2))/ref(L,2); //上上週振幅
BAR_Y3:=(ref(H,3)-ref(L,3))/ref(L,3); //上上上週振幅

cond1:=BAR_NOW > BAR_Y1; // 本週 > 上週
cond2:=BAR_Y1 >BAR_Y2; // 上週 > 上上週
cond3:=BAR_Y2 >BAR_Y3; //. 上上週>上上上週
CLP1:=L > ref(L,1) and ref(L,1)> ref(L,2); // 前面3週最低價,一日比一日高

cond1=1 and cond2 = 1 and cond3 =1 and CLP1 = 1;

BAR_NOW:=MAX(C-O,0); //本週收大於開的價差
BAR_Y1:=MAX(REF(C,1),REF(O,1))-MIN(REF(C,1),REF(O,1)); 上週開收價差
BAR_Y2:=MAX(REF(C,2),REF(O,2))-MIN(REF(C,2),REF(O,2)); 上上週開收價差
BAR_Y3:=MAX(REF(C,3),REF(O,3))-MIN(REF(C,3),REF(O,3)); 上上上週開收價差
Max1:=MAX(BAR_Y1,BAR_Y2); 上週vs上上週開收價差最大值
Max2:=MAX(Max1,BAR_Y3); 前列Max1得出數值vs上上週開收價差最大值
cond2:=Max2*2; //比較後最大開收價差*2

BAR_NOW>0 and cond2 < BAR_NOW;



-----------------

想版主幫忙看看公式上有無錯誤處,因在篩選時,挑出的股票怪怪的.另外在3個數值以上比大小,有比較簡潔的寫法嗎?

謝謝您


由 cgjj 在 2021-04-12 15:09 發表:

回覆: [問題]選股公式

引用:
最初由 bill25789 發表
//一般
股本:=FINANCE(20)<500000;
股價:=C>10 and C < HHV(HIGH,0)*0.5;

//日線數據(成交量,漲幅,創相對高點)
THE_VOL:=MA(VOL,5)>500; //5日均量大於500張
漲幅:=(C-ref(C,1)/ref(C,1))*100 > 7; //漲幅>7公式
漲幅數量:=count(漲幅,20) ; // 算近20日有超過7%的數量
THP:= ref(HIGH,HHVBARS(HIGH,780)); // 找到近780根的高點價位

股價=1 AND 股本=1 and 漲幅數量 >1 and THP < H;


//週線數據(振幅放大、開收價差放大、最低價墊高)

BAR_NOW:=(H-L)/L*100; //本週振幅
BAR_Y1:=(ref(H,1)-ref(L,1))/ref(L,1); //上週振幅
BAR_Y2:=(ref(H,2)-ref(L,2))/ref(L,2); //上上週振幅
BAR_Y3:=(ref(H,3)-ref(L,3))/ref(L,3); //上上上週振幅

cond1:=BAR_NOW > BAR_Y1; // 本週 > 上週
cond2:=BAR_Y1 >BAR_Y2; // 上週 > 上上週
cond3:=BAR_Y2 >BAR_Y3; //. 上上週>上上上週
CLP1:=L > ref(L,1) and ref(L,1)> ref(L,2); // 前面3週最低價,一日比一日高

cond1=1 and cond2 = 1 and cond3 =1 and CLP1 = 1;

BAR_NOW:=MAX(C-O,0); //本週收大於開的價差
BAR_Y1:=MAX(REF(C,1),REF(O,1))-MIN(REF(C,1),REF(O,1)); 上週開收價差
BAR_Y2:=MAX(REF(C,2),REF(O,2))-MIN(REF(C,2),REF(O,2)); 上上週開收價差
BAR_Y3:=MAX(REF(C,3),REF(O,3))-MIN(REF(C,3),REF(O,3)); 上上上週開收價差
Max1:=MAX(BAR_Y1,BAR_Y2); 上週vs上上週開收價差最大值
Max2:=MAX(Max1,BAR_Y3); 前列Max1得出數值vs上上週開收價差最大值
cond2:=Max2*2; //比較後最大開收價差*2

BAR_NOW>0 and cond2 < BAR_NOW;

-----------------

想版主幫忙看看公式上有無錯誤處,因在篩選時,挑出的股票怪怪的.另外在3個數值以上比大小,有比較簡潔的寫法嗎?

謝謝您



漲幅算法不對!
您先修正漲幅算法後再看看,確定結果對再來優化

漲幅:(c/ref(c,1)-1)*100;

另外,提醒一下奇狐軟體中的振幅算法如下:(與您算的方式不同)
振幅:(H-L)/ref(C,1)*100;


由 cgjj 在 2021-04-12 15:30 發表:

//一些寫法供參:(週線用)

//連續三週 "振幅大於前一週"
振幅:=(H-L)/ref(C,1)*100;
sum(振幅>ref(振幅,1),3)=3;

//以絕對值計算最近四周之 "最大開收價差"
HHV(ABS(C-O),4);


由 bill25789 在 2021-04-12 17:31 發表:

//一般
股本:=FINANCE(20)<500000;
股價:=C>10 and C < HHV(HIGH,0)*0.5;

//日線數據(成交量,漲幅,創相對高點)
THE_VOL:=MA(VOL,5)>500; //5日均量大於500張
漲幅:=((c/ref(c,1)-1)*100 > 7; //漲幅>7公式
漲幅數量:=count(漲幅,20) ; // 算近20日有超過7%的數量
THP:= ref(HIGH,HHVBARS(HIGH,780)); // 找到近780根的高點價位

股價=1 AND 股本=1 and 漲幅數量 >1 and THP < H;


-----
想請問上面公式中,為何還是會挑出股本超過50萬張及目前價格大於歷史最高價格1/2的股票,另外也不符合目前最高價大於近780根的高點價位。

謝謝您


由 cgjj 在 2021-04-12 18:03 發表:

引用:
最初由 bill25789 發表
//一般
股本:=FINANCE(20)<500000;
股價:=C>10 and C < HHV(HIGH,0)*0.5;

//日線數據(成交量,漲幅,創相對高點)
THE_VOL:=MA(VOL,5)>500; //5日均量大於500張
漲幅:=((c/ref(c,1)-1)*100 > 7; //漲幅>7公式
漲幅數量:=count(漲幅,20) ; // 算近20日有超過7%的數量
THP:= ref(HIGH,HHVBARS(HIGH,780)); // 找到近780根的高點價位

股價=1 AND 股本=1 and 漲幅數量 >1 and THP < H;


-----
想請問上面公式中,為何還是會挑出股本超過50萬張及目前價格大於歷史最高價格1/2的股票,另外也不符合目前最高價大於近780根的高點價位。

謝謝您



FINANCE(20) 的單位是 (仟元)
THP 算的是包含自己當根,您的需求應該要寫為 H>ref(THP,1)


由 bill25789 在 2021-04-12 20:25 發表:

引用:
最初由 cgjj 發表
FINANCE(20) 的單位是 (仟元)
THP 算的是包含自己當根,您的需求應該要寫為 H>ref(THP,1)



我把股本公式寫成"FINANCE(20)/1000 <500000"後還是挑出大於50萬的。

另外在振幅逐漸放大條件中,最低價當分母比較符合我需要,但不論是以最低價當分母或昨收當分母,對照周線K線圖都不符合。

再請版主幫忙看看,是哪裡出問題。我是想篩選出這樣圖形的k線(附圖)。

謝謝您!


由 cgjj 在 2021-04-12 21:51 發表:

引用:
最初由 bill25789 發表
我把股本公式寫成"FINANCE(20)/1000 <500000"後還是挑出大於50萬的。

另外在振幅逐漸放大條件中,最低價當分母比較符合我需要,但不論是以最低價當分母或昨收當分母,對照周線K線圖都不符合。

再請版主幫忙看看,是哪裡出問題。我是想篩選出這樣圖形的k線(附圖)。

謝謝您!



FINANCE(20)/10<500000;

//振幅連續2日放大,寫法範例:(最低價當分母)
振幅:=(H-L)/L*100;
sum(振幅>ref(振幅,1),2)=2;


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


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

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