XS 指標 標示出範圍

  •   538 
  • 最後發表   小韭菜  2022 六月 02
小韭菜 發文於   2022/03/13

Hi 小幫手您好,我知道XQ的指標不能回畫,這個的意思是沒辦法在已經產生的k棒上畫圖,那因為xq的k棒是一根一根進來並做計算,所以有沒有辦法在5天內的所有k棒上畫一條線?讓我知道5天有那幾根k棒。

例如:我在3/12號執行腳本,那3/7的k棒在畫的時候,應該可以知道他離最新的k棒(3/12)有5根的距離? 如果可以的話,那就可以在產生該根k棒時,順便畫線,然後一直畫到最新的k棒(3/12)。  我主要是想要可以快速的在技術分析圖上知道例如120天內的k棒有那幾根,謝謝小幫手。方便的話,也請幫忙附上腳本,謝謝。

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

Hello 小韭菜,

 

XQ的指標不能回畫 指的是 執行那根Bar的時間,而不是您執行指標的時間。

您在 3/7 那根 Bar 畫指標時,就算時間已經是 3/12,能取用的資訊還是只有 3/7 號以前的資訊,無法取得 3/12 號的資料。

所以就小幫手所知您的需求無法達成。

或許您可以考慮使用 date[120] 方式得知 120 根Bar前是哪一天,然後在那天手動標記,這樣就可以知道120天內有哪幾根。

小韭菜 發文於   2022/03/16

hi 小幫手,

1) "XQ的指標不能回畫 指的是 執行那根Bar的時間,而不是您執行指標的時間。" 這句話不是很懂,可否再稍微解釋一下。

2)"您在 3/7 那根 Bar 畫指標時,就算時間已經是 3/12,能取用的資訊還是只有 3/7 號以前的資訊,無法取得 3/12 號的資料。" 我只是想說XQ在3/7畫指標時,有沒有辦法知道3/7不是最新的日期?如果有辦法知道最新的日期是3/12,那就可以算出是否距離5根bar了。

3) "使用 date[120] 方式得知 120 根Bar前是哪一天,然後在那天手動標記",可否再說明的具體一點?例如這裡的手動標記是什麼意思?

謝謝小幫忙的回答

XQ小幫手 發文於   2022/03/22

Hello 小韭菜,

 

1, 2. 就是字面上的意思。

3/7那根Bar最多就只能取到 3/7 號的資料,沒法更往後取。

對那根Bar而言,當根Bar就是最新的Bar。

變通的辦法是使用 datediff 和 currentdate 來處理。

因為 currentdate 在指標上的值會是掛上指標的日期,所以您可以使用 date <> currentdate 來判斷是否屬於同一日。

或是使用 datediff(currentdate, date) 來計算當根Bar與今日日期的差別。

但須注意這計算的會是日曆日而不是交易日,像是 if datediff(currentdate, date) < 10 then plot1(date); 就會畫出近10日(日曆日)的日期。

 

3.舉例來說,您可以先用 date[120] 確認120天前的日期(舉例來說 20210917),然後使用 if date > 20210917 then plot1(...); 的方式來標記。

小韭菜 發文於   2022/03/27

感謝小幫手提供所有可能的方法。

小韭菜 發文於   2022/05/29

Hi 小幫手,請問一下,像20日均線,就會在20日前的下方有一個小三角型,這是不是就是回畫? 如果xq本身做的到的話,那XS的指標有沒有機會也做的到呢? 謝謝

KYT 發文於   2022/05/29

if gettotalbar-currentbar=119 then value1=c;
if gettotalbar-currentbar<=119 then plot1(value1,"扣");
//線段 或 點 -

小韭菜 發文於   2022/05/30

Hi KYT, 看起來可以耶,太強了,謝謝哦。

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

Hello 小韭菜,

 

您可以參考 KTY 提供的作法,需注意 GetTotalBar 回傳的是掛上去當下運算所用的Bar數量,若接下來有新的Bar資料進來的話,之前畫的線並不會跟著一起向右移動,而是向右增長。

簡單的說,120根Bar會隨著新Bar資料進來而跟著增加。

 

感謝 KYT 的熱心回覆。

發表回覆
Close