一段時間的收盤及漲跌幅%數

  •   364 
  • 最後發表   小萌新  2025 三月 05
小萌新 發文於   2025/03/01

你好,假如我想知道一段時間的收盤跟漲跌幅的話該怎麼打呢?
比如2024年3月1日到2024年6月5日,這一段時間,所有股票每一天的收盤價及漲跌幅度各是多少

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

//指標腳本或交易腳本

if date>=20240301 and date<=20240605 

then print(date,close,rateOfChange(c,1));

 

//選股腳本

setBarFreq("D");

if date>=20240301 and date<=20240605 then 

begin

ret=1;

print(date,close,getField("漲跌幅","D"));

end;

小萌新 發文於   2025/03/01

你好,我使用選股腳本後沒有東西跑出來,是哪邊有問題嗎?

虎科大許教授 發文於   2025/03/01

資料筆數不夠的緣故。最上面加一行指令:

setTotalBar(300);

小萌新 發文於   2025/03/01

你好有成功了,很感謝~

但我想問有辦法更優化嗎,目前顯示是這樣

小萌新 發文於   2025/03/01

我想變成這樣

虎科大許教授 發文於   2025/03/01

setTotalBar(300);
setBarFreq("D");
if date>=20240301 and date<=20240605 then 
    begin
        ret=1;
        print(text(numtoStr(year(date),0),"/",numtoStr(month(date),0),"/",numtoStr(DayOfMonth(date),0)),
        symbol,symbolName,numtoStr(close,2),numtoStr(getfield("漲跌幅", "D"),2)+"%");
    end;

小萌新 發文於   2025/03/01

這樣就可以了,非常感謝!!
另外好奇想問setTotalBar(300);的這個資料

300代表的意義是甚麼,如果我的日期間距比較大的話,是不是會影響到,比如說一年以上之類的

虎科大許教授 發文於   2025/03/01

代表讀取300筆資料,你使用將近一年前的數據,預設的10筆資料是不夠的,用過去300天的資料才可以抓到。

小萌新 發文於   2025/03/01

瞭解了,想讀多久以前的資料,就用多大的數字

那我一開始就設一個大一點的數字就沒有問題囉,比如說1000的話可以讀3年內的資料,是這樣的概念嗎?

虎科大許教授 發文於   2025/03/01

讀取大量資料,選股會花比較多的時間,資料夠用就好。太多反而影響效率。

顯示更多回應 發表回覆
Close