判斷前n日是否有某一日達成該條件

  •   124 
  • 最後發表   里歐  2024 二月 20
里歐 發文於   2024/01/17

請問,有辦法寫一個條件,然後往回判斷嗎

例如:
條件 : 當日成交量,是前五日平均成交量的兩倍。
情境 : 判斷前n日是否有某一日達成該條件

設n=5, 因12/29有達成條件,所以1/2應該要能抓到
(因為想在1/2當日設定其他條件。但前n日需有達成上述條件這樣篩選)
 

排序方式: 標準 | 最新
樂兒 發文於   2024/01/18

 trunany 的語法,應該可以喔

 

https://xshelp.xq.com.tw/XSHelp/?HelpName=TrueAny&group=LOGICFUNC

  • 按讚來自於
  • b24524658
里歐 發文於   2024/01/27

感謝,但如果我要設的條件,本身是複合的條件要怎麼寫

例如 需要突破前高+成交量翻倍

可以類似這樣寫?

condition1 = TrueAny(condition2 and condition3 ,3); //判斷最近三期是否符合條件2+條件3

 

 

XS小編 發文於   2024/01/31

Hello 里歐,

 

TrueAny 並沒有限制裡面只能使用一個條件。

condition1 = TrueAny(condition2 and condition3 ,3); 是沒有問題的。

同理,您也可以如此撰寫:

condition4 = condition2 and condition3;

condition1 = TrueAny(condition4, 3);

 

網站上有教學區,裡面有XS語法的基礎和應用,建議您先閱讀該區的文章。

里歐 發文於   2024/02/18

請問下
TrueAny(xxx,3) 的計算方式 是往前算三個嗎? 還是會包含當日+往前算兩個
我使用上 好像有包含當日

如果不想包含當日,我要怎麼修改。

單看這邊說明我看不出來
https://xshelp.xq.com.tw/XSHelp/?HelpName=TrueAny&group=LOGICFUNC

XS小編 發文於   2024/02/20

Hello 里歐,

 

是有包含當日的。

若不希望包含當日的話,在給條件序列時可以給從前一期開始的。

舉例來說:

condition1 = close cross over average(close, 10);

 

if trueany(condition1[1], 3) then ...;

發表回覆
Close