如何取得前次條件成立的收盤價?

  •   344 
  • 最後發表   Neo  2022 六月 20
Neo 發文於   2022/06/07

小幫手您好!

目前想透過 取得前次條件成立的收盤價, 與目前條件成立的收盤價相比較, 作為策略核心之一

但以下方的寫法, 指標在1分K(沒試過其他頻率)  僅有在條件觸發時, 紀錄取得的收盤價會不同, 之後就一樣了

condition1 = A cross over B;

Condition2 = condition1[1];

value3 = barslast (condition1);

value4 = Close[value3];

value5 = barslast (condition2);

value6 = Close[value5];

雖然嘗試用

if condition1 then Value6 = Value4;

指標是正常的, 但實際上在策略運行時, 邏輯上應該是等到條件觸發, 才會將策略運行後第一次條件觸發的收盤價, 紀錄為前次, 如此與設計目的不同, 

可否請小幫手協助呢? 感謝!

 

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

Hello Neo,

 

您的 condition2 並不是紀錄上一次成立的資訊,而是上一根Bar condition1 的狀況。

小幫手不太懂您的腳本是想要作什麼,不過 BarLast 是取得上次 (換句話說,就是最近一次) 的條件成立到當下的相對位置。

 

如果您需要紀錄最近兩次條件成立時的收盤價,可以用下面的範例:

condition1 = A cross over B;

if condition1 then begin

    value2 = value1;

    value1 = close;

    end;

這樣在腳本運行經過兩次條件成立後,value2 就會是前一次的收盤價,value1 就會是最近一次收盤價。

Neo 發文於   2022/06/13

謝謝小幫手的回覆!

不過您建議的寫法, 與原本希望達到的策略設計有點落差

舉例來說, 當我當天啟動自動交易, 以上述的寫法需經過兩次條件發生後, 才會記錄2次條件成立時的收盤價(當天需觸發2次)

然而, 我們希望是, 在當天第一根條件成立時, 已有前次條件成立的收盤價紀錄可供比較, (例如前一天最後一次條件成立時的收盤價)

藉此判斷 9:01 該條件成立時, 與前一天條件成立時的收盤價相比較, 是否達成下單的條件

再請小幫手協助解惑, XQ 的語法是否可以寫出上述的邏輯, 或是有所限制? 感謝

XQ小幫手 發文於   2022/06/20

 Hello Neo,

 

腳本在資料讀取筆數的時候也會運算,只要條件符合,變數一樣會保存資訊。

建議您在設定時可以將這點納入考量。

另外,barslast 一樣會遇到你上述的狀況 (要有運算的部分才能夠抓到),所以亦會需要足夠的資料讀取筆數才行。

發表回覆
Close