(選股)請問 100天內第1次收盤創100天內新高的股票

  •   33 
  • 最後發表   發仔  3 週前
發仔 發文於   2025/09/25

參考了這篇

https://www.xq.com.tw/xstrader/%E5%89%B5%E6%96%B0%E9%AB%98%E8%82%A1%E8%83%BD%E4%B8%8D%E8%83%BD%E9%80%86%E5%8B%A2%E4%B8%8A%E6%BC%B2%EF%BC%9F/

修改了一下

變成100天以來第1次收盤 創100天內新高的股票

語法如下:

condition1=c cross over highest(h[1],100);

 

if condition1

and countif(condition1,100)=1

then ret=1;

======

發現有些選出來的股票並不符合這個第1次的條件

舉例:

2025/8/25 選出 2329

2025/6/4 也選出 2329

從K線圖來看

6/4 的2329有符合

但8/25的2329就沒有符合第1次創新高這個條件, 因為6/4已經創新高了, 而6/4就在8/25的100天內!

 

紫色框框為8/25的100天內

1.我想了解這樣的語法哪裡出了問題?

2.要如何改寫才能寫出符合==>第1次創100天新高的股票 ?  如果用軟體選股內建的條件去選的話, 只能選出創100天新高的股票, 如果隔天還是創新高, 就會再度選出. 想設定在第1根創100天新高這個條件.

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

看看這樣是否符合需求。

setTotalBar(100);
setBackBar(100);
setBarFreq("D");
if isLastBar then
    if c>highest(h[1],100) then
        begin
            value1=countIf(c>highest(h[1],100),100);
            if value1=1 then ret=1;
        end;

發仔 發文於   2025/09/26

感謝教授的答覆

完全解決了問題

發表回覆
Close