條件式寫法疑問請教

  •   385 
  • 最後發表   shoui  2018 二月 23
shoui 發文於   2018/02/19

請問我在撰寫條件式篩選時出現以下問題

如以下

if condition1
then if condition2
then if condition3
then ret=1;

希望寫出的情況是

當condition1成立後再遇到condition2成立在遇到condition3成立

也就是這三個條件成立的日期很有可能是不同的

如condition1在1/2成立 , 接下來condition2在1/10成立,  再來condition3在1/12成立

但卻無法篩選到需要的日期

如condition1為K線跌破日布林上軌

condition2為KD死亡交叉且當時K值大於80

condition3為量均死亡交叉

以5469為例,以上述的條件應該在2017/12/28是會符合的

但在警示中如此寫法卻無法抓出這一天

請問是哪裡需要調整呢?

謝謝

  • 按讚來自於
  • b24524658
排序方式: 標準 | 最新
XQ小幫手 發文於   2018/02/21

HI shoui,

您好,請您提供完整的腳本程式碼,以利小幫手查看哪裡需要調整唷~ 謝謝。

shoui 發文於   2018/02/21


value1 = bollingerband(getfield("收盤價","D"), 20, 2.05)
condition1 = CloseD(0)< value1

variable : rsv_D(0),kk_D(0),dd_D(0);
xf_Stochastic("D",9,3,3,rsv_D,kk_D,dd_D);      
condition2 = xf_crossunder("D",KK_D,DD_D);


value2 = average(getfield("volume","D"),5);
value3 = average(getfield("volume","D"),20);
condition3 = value2 < value3 ;


if condition1
then if condition2 and kk_D > 80
then if condition3
then ret=1;

XQ小幫手 發文於   2018/02/22

Hi shoui,

因為XS為時間序列資料架構,故每根K棒都會跑一次腳本,

且您的程式碼寫法,會使每天的condition1、2、3 都重新計算去判斷是否為True,

故需要調整變數去儲存 conditon1、2 先前日期的True,應該就能修改完成您的策略,

若有問題歡迎再次詢問,謝謝。

 

shoui 發文於   2018/02/22

謝謝您快速地回答

但不太了解"儲存 conditon1、2 先前日期的True"該如何撰寫?

是否可以協助?

謝謝

 

XQ小幫手 發文於   2018/02/22

Hi shoui,

細看了您的程式碼,發現都是在日頻率下,應該就不需要用到跨頻率語法了吧?

若不是完整程式碼語法,僅擷取其中一段,則呈請提供完整程式碼,

以利小幫手協助您唷,謝謝。

shoui 發文於   2018/02/22

您好
這就是全部的程式碼了耶

您所說的跨頻率是指condition2的部分原本是
variable : rsv_D(0),kk_D(0),dd_D(0);
xf_Stochastic("D",9,3,3,rsv_D,kk_D,dd_D);       
condition2 = xf_crossunder("D",KK_D,DD_D);

應該改為
variable : rsv_D(0),kk_D(0),dd_D(0);
Stochastic("D",9,3,3,rsv_D,kk_D,dd_D);       
condition2 = crossunder("D",KK_D,DD_D);

這樣嗎?

 

如果改為這樣的話

您上面提到的"需要調整變數去儲存 conditon1、2 先前日期的True"

該如何撰寫呢?

謝謝

 

XQ小幫手 發文於   2018/02/22

Hi shoui,

待小幫手查看後再向您說明,謝謝。

XQ小幫手 發文於   2018/02/23

Hi shoui,

是的,不用使用到 xf_CrossUnder 跨頻率函數,小幫手是習慣使用

condition2 = kk_D cross under DD_D;

這樣的寫法來表示黃金交叉,以上說明,謝謝。

shoui 發文於   2018/02/23

您上面提到的"需要調整變數去儲存 conditon1、2 先前日期的True"

該如何撰寫呢?

謝謝

XQ小幫手 發文於   2018/02/23

Hi shoui,

您好,請參考以下連結文章,若有問題請直接在此文章回覆原作者,謝謝。

使用XS選股腳本撰寫日期條件式策略

發表回覆
Close