請問一下, 1日投力比可以這樣寫?
我執行完後, 沒有個股跑出來
value1=GetField("最新股本");//單位: 億元
value2=GetField("投信買賣超","D");//單位:張數
value3=summation(value2,1);
if value1<>0
then value4=value3/(value1*10000)*100;
ret=value4;
請問一下, 1日投力比可以這樣寫?
我執行完後, 沒有個股跑出來
value1=GetField("最新股本");//單位: 億元
value2=GetField("投信買賣超","D");//單位:張數
value3=summation(value2,1);
if value1<>0
then value4=value3/(value1*10000)*100;
ret=value4;
Hello JingGang,
ret 是用來篩選條件,而不是顯示運算數值。
您可以這樣寫:
ret = 1;
outputField1(value4, 4);
就會輸出運算的數值。
如果要去掉0的話:
if value4 <> 4 then ret = 1;
outputField1(value4, 4);
另外 summation(value2,1) 基本上就跟 value2 相同(只加總當根),可以去掉直接使用 value2。
請問一下小幫手,
要選5日投力比 / 外力比 , 是不是 value3 語法可以改成 value3=summation(value2,5);
另外, 12/10 的外力比, 有選到太景-KY (4157) , 數值是126.9177, 怪怪的
謝謝小幫手
請問一下小幫手, 我在12/16 的1日投本比, 有篩選出 6548 長科*
是不是資料庫有誤?
小幫手, 你好
我的寫法如下, 但是
1日外力比執行結果有 4157 太景*-KY , 6548 長科*
1日投力比執行結果有 6548 長科*
是不是XQ的資料庫有誤呢?
=============================================
value1 = GetField("股本(元)");//單位: 億元
value2 = GetField("投信買賣超","D");//單位:張數
value3 = GetField("外資買賣超");
if value1 <> 0 then begin
value4 = 100 * value2 / (value1 / 10000);
value5 = 100 * value3 / (value1 / 10000);
end;
ret = 1;
outputField1(value4, 4, "1日投本比");
outputField3(value5, 4, "1日外本比");
Hello JingGang,
為什麼您會覺得有誤呢?
是計算出來的數值有誤嗎?
由於您腳本中只有 ret = 1;,所以這個腳本不會作任何篩選。
您的範圍是普通股全部,那麼選股運算完後普通股全部的商品都會被篩選出來。
如果您需要像是 投本比 大於 1% 條件的話,可以這樣寫:
if value4 > 1 then ret = 1;
如此就會篩選出投本比大於1%的商品。
4157 太景*-KY 出來的值都是大於 62, 跟其它都是小於4的股票來說, 相差實在太大
6548 長科* 則是跟其它網站比對, 都是沒有它
所以才想問問, 有 * 的股票, 是不是股本還是什麼在XQ資料庫有誤?
Hello JingGang,
您可以使用 Print 或是 OutputField 來將相關資訊輸出確認計算和資料是否正確。
須注意若使用print的話選股中心右上方的 啟動腳本內print指令 需要打勾。
舉例來說:
outputField5(GetField("股本(元)"), "股本(元)");
outputField7(GetField("投信買賣超","D"), "投信買賣超");
outputField8(GetField("外資買賣超"), "外資買賣超");
就可以輸出 股本(元)、投信買賣超 和 外資買賣超的資訊。
您可以實際驗算看 投本比 跟 外本比 的計算是否有誤。
關於股票面額有變的股票 (有*的股票), 若您覺得資料有誤的話,麻煩您提供商品代號、是在哪裡確認到以及正確的數值為何,這樣小幫手才能與工程師確認。
感謝。
10 評論