請問可否設定前日"特定範圍內"的k值,做運算

  •   160 
  • 最後發表   oopp  2023 十二月 15
oopp 發文於   2023/12/11

小幫手您好,

 

我想要撰寫一個交易語法,

在交易日當日,往前一日去取9:00至9:30的收盤價及成交量,

並利用這些值去跑出linearregslope,看是否有量價背離的情形

 

我目前初步的語法及方向如下:

if Date <> Date[1] then  ......

 

卡關在要如何只挑出前一日9:00至9:30的K棒

概念一:設定time >= 090000 and time <= 093000

概念二:往前取270~240的收盤價,如value1 = close[270], .....value30 = close[240],並利用這些值去運算linearregslope,如果同時要跑多檔股票,好像會跑不太動,

 

所以想請問是否可以設定"特定範圍內"(如:close[270,240]),去做運算

 

煩請您播空回覆,謝謝

 

 

XQ小幫手 發文於   2023/12/15

Hello oopp,

 

小幫手會使用您的概念2,不過並不需要用變數另外保存。

您可以使用 GetBarOffset 來取得指定時間的相對位置,再以此搭配 LinearRegSlope 函數。

舉例來說,在1分鐘頻率下:

if date <> date[1] then begin

    value1 = getbaroffset(getfield("Date", "D")[1], 092900);

    value2 = LinearRegSlope(close[value1], 30);

    value3 = LinearRegSlope(volume[value1], 30);

    end;

這樣 value2 和 value3 就會是昨日090000 ~ 092900 這30根Bar的斜率。

 

另外一種方法是在 092900 這一根用變數保存斜率,讓隔日可以取用:

if time = 092900 then begin

    value2 = value1;

    value1 = LinearRegSlope(close, 30);

    value4 = value3;

    value3 = LinearRegSlope(volume, 30);

    end;

 

這樣 value1 和 value3 就會是今日的斜率,而 value2 和 value4 則是昨日的斜率。

發表回覆
Close