布林通道跨頻率

  •   171 
  • 最後發表   東尼  2021 六月 07
東尼 發文於   2021/06/03

請問工程師

請問我如果想要用雷達每30 or 60分鐘,去搜尋現在的close是否有大於或等於 “日布林通道上緣”

可以用排程if time=093000......

if.......

請問頻率要設?分鐘

請問若用這種不定時排程如if time=093000......    if time=102000......頻率是否都要設1分鐘?

或其他方式?

因為這個部分我在使用上有點矛盾 且常出錯

煩請指導

謝謝您

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

Hello 東尼,

 

您的情況的話小幫手會建議您將頻率設為1分鐘,這樣的話交易時段裡的時間條件都會被觸發。

日布林通道的計算則可以改用 GetField("Close", "D")

 

另外,如果您是想要每經過固定時間就掃描一次的話,小幫手建議您也可以考慮改用變數的方式來控制。

舉例來說:

input: bar_limit(5, "每經過幾根bar計算一次"), len(20, "布林通道期數"), up(2, "上緣");

var: count(0);

 

if getfielddate("Date") <> getfielddate("Date")[1] then count = 0;

count += 1;

if count = bar_limit then begin

    Ret = High >= bollingerband(getfield("Close", "D"), len, up);

    count = 0;

    end;

這樣的話就是每經過5根Bar計算一次。

東尼 發文於   2021/06/04

謝謝工程師

感謝指導

請問您  上例-每經過5根Bar計算一次  若用這方式 我就可將頻率設為 5 或 30分鐘是嗎?

那麼幾根BAR跟頻率設定會有衝突嗎? 

比如要使用5根5分BAR  頻率該怎麼設?

 

XQ小幫手 發文於   2021/06/04

Hello 東尼,

 

是的,您可以將頻率設為5或30分鐘。

但須注意因為換日時就會將 count 重置,所以不能用在每5根Bar就換日的頻率上。

如果是要5根5分Bar 的話,頻率就設5分鐘就可以了。

如果不介意換日的話,您可以將 if getfielddate("Date") <> getfielddate("Date")[1] then count = 0; 刪掉即可。

小幫手建議您可以參考此連結內的教學文章,便可以更熟悉XS的語法邏輯。

東尼 發文於   2021/06/04

謝謝您指導 

 1分頻率的設定會了  感謝您~

可以請工程師解說下面二句的意思嗎? 因不明瞭

1.須注意因為換日時(是指頻率換日嗎?還是程式碼?) 就會將 count 重置,所以不能用在每5根Bar就換日的(???)頻率上。

 

2.如果不介意換日的話(是頻率換日嗎? 還是程式碼?),

 您可以將 if getfielddate("Date") <> getfielddate("Date")[1] then count = 0; 刪掉 即可。(請問這句程式碼意思是?)

3.有bar_limit指令  請問有time_limit類似指令嗎?

感謝您~~

 

XQ小幫手 發文於   2021/06/07

Hello 東尼,

 

腳本裡這行

if getfielddate("Date") <> getfielddate("Date")[1] then count = 0;

當換日時會重置 count 為0。

舉例來說,上根 Bar 的日期是 20210604,這根 Bar 的日期是 20210607,那麼這行腳本就會把 count 重設為0。

 

所以如果您用像是 240 分鐘的頻率,只要兩根 Bar 就換日。

如果您 bar_limit 設為 5 的話,那 count 最多就會累積到 2 而不會觸發

Ret = High >= bollingerband(getfield("Close", "D"), len, up);

這一段運算。

 

bar_limit 是小幫手自己寫的參數,用來控制多久運算一次。

您當然也可以自己寫一個 time_limit 來作控制。

東尼 發文於   2021/06/07

 感謝您工程師的指導~~

 

發表回覆
Close