請問如何寫"排除"黑K 帶大量 的選股腳本

  •   67 
  • 最後發表   錢胖  2025 七月 19
錢胖 發文於   2025/07/16

想請教下面這個腳本 想寫"排除"20日內黑K帶大量的選股腳本 

但 好像篩選不出股票來 不知道哪邊錯誤?

value1 = highestbar(volume, 20);

 

condition1= NOT(close < open and volume >= value1);

 

if trueAll(condition1,20) then ret=1;

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/07/16

condition1= NOT(close < open and volume >= volume[value1]);

Value1 = highest(volume, 20);

錢胖 發文於   2025/07/17

謝謝教授的回覆

我把它改成下列的腳本 股票也是篩選不出來 我是把它用在在選股中心 

主要的想法 想剔除20日內 爆大量留黑K過的股票  不知道哪邊還要修改 謝謝

value1 =highest(volume, 20); 

condition1= NOT(close < open and volume >= volume[value1]);

if trueAll(condition1,20) then ret=1;

虎科大許教授 發文於   2025/07/17

若你選股邏輯是過去20天有爆大量留黑K的股票不要選,其他的都選出來。

那你需要先定義大量。例如1000張或20天均量的兩倍。

以下範例將找出20天以來,只要任何一天有黑K且量超過20天均量兩倍的,就不選。

if trueAny(v>average(v,20)*2 and c<o,20)
then return
else ret=1;

 

 

錢胖 發文於   2025/07/17

謝謝 教授回復 我再來試試看

錢胖 發文於   2025/07/19

想再請教教授 有照您的範例改一下腳本如下:

選股邏輯是 "排除" 過去20天內 有爆20均量2倍 黑K 曾經有創10日新高 但 還是沒排除 不符合條件的股票還是被選進來(如8064. 8932)

請問哪邊有需要再修改  謝謝

input: highDay(10,"創N日新高");

condition1=close>highest(high[1], HighDay);//股價創N日新高

if trueAny(volume>average(volume,20)*2and close<open and condition1 ,20)

then return

else ret=1;

虎科大許教授 發文於   2025/07/19

8064在20250703那天爆大量且黑K,但收盤價並沒有創過去10天收盤新高(比前一天低)。而8932週三創高,但不是黑K。

錢胖 發文於   2025/07/19

謝謝教授的回覆

下面的這個語法 不就代表創新高的價位 而不是收盤價創新高?因為我看8064在20250703那天爆大量且黑K 價位有創過新高

condition1=close>highest(high[1], HighDay)

而8932 不好意思 我是用7/15 去篩選的 因為20250703 那天也爆大量且黑K 價位也有創新高過

再請教 教授哪邊有需要修改 謝謝

 

虎科大許教授 發文於   2025/07/19

condition1=high>highest(high[1], HighDay);

錢胖 發文於   2025/07/19

好的 謝謝教授~

發表回覆
Close