請問要找盤中價格接近月線的程式如何修改?目前無法執行

  •   165 
  • 最後發表   neverdie62  2023 四月 07
neverdie62 發文於   2022/08/22

settotalBar(61);

condition1=average(c,20) > average(c[1],20);//月線上揚

condition2=average(c,60) > average(c[1],60);//季線上揚

condition3=average(c,20) > average(c,60);//月線在季線上面

condition4=q_Last/average(c,20)<1.02;//在月線2%以下

condition5=q_CurrentCapitalin100Million<50;//股本小於50億

condition6=GetField("大戶持股比例", "W", param := 400)>GetField("大戶持股比例", "W", param := 400)[1];//400張大戶增加

condition7=GetField("散戶持股比例", "W", param := 100)<GetField("散戶持股比例", "W", param := 100)[1];//100張散戶減少

if condition1 and condition2 and condition3 and condition4 and condition5 and condition6 and condition7 then ret=1;

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/08/25

Hello neverdie62,

 

就您的腳本來看,小幫手推測您應該是策略雷達使用日頻率逐筆洗價。

大戶持股比例 和 散戶持股比例 是每週更新的資料,所以如果您要使用在即時的雷達上,需要取用上週的資訊 (因為當週的還沒出來)。

像是 GetField("大戶持股比例", "W", param := 400)[1] > GetField("大戶持股比例", "W", param := 400)[2]。

neverdie62 發文於   2022/09/11

請問是不是當周資料星期六出來後,星期六日如果用選股腳本可用GetField("大戶持股比例", "W", param := 400)>GetField("大戶持股比例", "W", param := 400)[1];//400張大戶增加,而星期一到星期五用 GetField("大戶持股比例", "W", param := 400)[1] > GetField("大戶持股比例", "W", param := 400)[2]?

XQ小幫手 發文於   2022/09/16

Hello neverdie62,

 

小幫手是覺得都使用上一期的資料會比較符合實際狀況,不過如果您要在當週資料一更新後就馬上使用的話,可以用 GetFieldDate 來判斷。

舉例來說:

if getfielddate("大戶持股比例", "W", param := 400) <> getfielddate("Date", "W") then condition1 =  GetField("大戶持股比例", "W", param := 400) > GetField("大戶持股比例", "W", param := 400)

    else condition1 = GetField("大戶持股比例", "W", param := 400)[1] > GetField("大戶持股比例", "W", param := 400)[2];

 

這樣就會看資料是否更新決定使用哪一期的資料。

neverdie62 發文於   2023/04/02

請問小幫手是不是寫錯了,應該是:

if getfielddate("大戶持股比例", "W", param := 400) <> getfielddate("Date", "W") then condition1 =  GetField("大戶持股比例", "W", param := 400)[1] > GetField("大戶持股比例", "W", param := 400)[2]

else condition1 = GetField("大戶持股比例", "W", param := 400) > GetField("大戶持股比例", "W", param := 400)[1];

請再確認一下...謝謝

neverdie62 發文於   2023/04/02

請問小幫手是不是寫錯了,應該是:

if getfielddate("大戶持股比例", "W", param := 400) <> getfielddate("Date", "W") then condition1 =  GetField("大戶持股比例", "W", param := 400)[1] > GetField("大戶持股比例", "W", param := 400)[2]

else condition1 = GetField("大戶持股比例", "W", param := 400) > GetField("大戶持股比例", "W", param := 400)[1];

請再確認一下...謝謝

XQ小幫手 發文於   2023/04/07

 Hello neverdie62,

 

是的,小幫手沒注意寫反了,應該是您寫得那樣沒錯。

當當週資料還未更新時,先取用前週和前兩週的資料,若更新的話則取用當週和前週的資料。

發表回覆
Close