選股問題--找出昨日漲幅低於3%的股票

  •   331 
  • 最後發表   tdf118  2017 十月 26
tdf118 發文於   2017/10/24

這應該是很簡單的程式碼

但選出來的股票竟是錯的

難道這樣寫錯了嗎

condition1 = false;  
 
condition1 = close < close[1] * 1.03;
 
if condition1 then ret = 1;

 

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/10/24

Hi tdf118,

小幫手的是正常的,如圖

 

您的畫面有大戶持股比例,

請問是否有完整的程式嗎?謝謝。

 

tdf118 發文於   2017/10/24

原始程式碼

 

value1 = Getfield("大戶持股比例","W",param:=100);
 
condition1 = close < close[1] * 1.03;
 

if value1 < 85 and condition1 then ret =1;


SetOutputName1("大戶持股比例");

OutputField1(value1);

 

這樣跑出來如圖

condition1 似乎沒作用

XQ小幫手 發文於   2017/10/25

Hi tdf118,

測試您的原始程式碼後,確實有此狀況,

待小編詢問相關人員後,再向您說明,謝謝。

XQ小幫手 發文於   2017/10/25

Hi tdf118,

因為選股中心列表的 "漲幅%" 是抓最新一根日線的資料,

但是腳本執行時, "大戶持股比例" 資料只有出到上週, 影響腳本用到的 close 資料也是上週五的,

這部分的問題,已反映給相關人員。

 

另外,可以先將 "大戶持股比例" 編譯在另外一個週資料頻率的腳本,例如以下的範例選股腳本:

setbarfreq("W");

value1 = Getfield("大戶持股比例","W",param:=100);

ret = 1;
outputfield1(value1,"大戶持股比例");

 

日資料頻率腳本的撰寫漲幅條件:

condition1 = close < close[1] * 1.03;

if condition1 then ret = 1;

 

最後在同一個選股策略加入這兩個選股腳本,就可以篩選出符合條件的商品:

 

以上說明,謝謝。

tdf118 發文於   2017/10/26

謝謝解答

目前似乎只能用這樣的組合寫法

若未來能把close的定義加在一起

煩請告知

 

謝謝

 

  • 按讚來自於
  • b24524658
發表回覆
Close