關於XS指標 想比較本週某日與上週某日之收盤價

  •   173 
  • 最後發表   IanYuC  2022 十二月 12
IanYuC 發文於   2022/12/09

使用DayOfWeek條件,只能取得當週某日的值
想知道有沒有甚麼方法,能在一個XS指標內取得本週某日及上週某日的比較

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

Hello IanYuC,

 

DayOfWeek 函數並沒有限定在只能取得當週的星期幾。

您可以輸入上週的日期,函數會回傳對應的星期幾。

 

如果您知道要取的日期的話,可以用 GetBarOffset 來取得相對位置。

舉例來說,使用在日頻率的話:

value1 = GetBarOffset(20221104);

close[value1] 就會是 2022/11/04 當天的收盤價。

IanYuC 發文於   2022/12/09

了解,
我現在有一個卡住的地方,我想寫三個條件:

1. MACD金叉 未死叉

2. 不跌破20ma

3. 只在週三日盤收盤時確認指標

我寫的內容是這樣,但指標無法正常顯示在週三:

variable: difValue(0), macdValue(0), oscValue(0), WED(0);

value1 = xf_MACD("D",xf_weightedclose("D"),12,26,9,difValue,macdValue,oscValue);     //計算日線MACD

Value2 = DayOfWeek(WED);

if WED=3 and                    //第三個條件:顯示當天為週三

difValue > macdValue and    //第一個條件:MACD金叉

CloseD(0)>MTM(20)          //第二個條件:收盤價>20日均線

then begin 

Value3 = CloseD(0);

end;

plot1(Value3,"建");

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

Hello IanYuC,

 

您可以確認 DayOfWeek 的用法。

您的寫法 WED 會是0,而 DayOfWeek 要傳入的資訊為日期。

正確的寫法應該是 if DayOfWeek(date) = 3 and ...,這樣才會是判斷當天是否為週三

 

closed(0) 其實就是當下最新的價格。

所以您用在分鐘頻率的話,不一定就是當天的收盤價。

除非剛好該分鐘就是當天的最後一根Bar。

 

  • 按讚來自於
  • ian861016
IanYuC 發文於   2022/12/09

若要增加一個條件,使他只在日線級別且只在週三顯示,能用甚麼方法去寫呢?

XQ小幫手 發文於   2022/12/12

 Hello IanYuC,

 

如果您是使用日頻率的資料的話,那麼只要用 DayOfWeek 判斷星期三即可。

若您使用分鐘頻率的話,那麼只要在星期三那天的最後一根Bar計算就可以取得當日的收盤價。

舉例來說,使用在1分鐘頻率的話:

if DayOfWeek(date) = 3 and time = 132900 then begin ...

這樣就只會在星期三最後一根Bar符合。

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