創波段新高語法問題

  •   717 
  • 最後發表   AKADD  2021 八月 05
AKADD 發文於   2021/08/02

利用台灣50創新高家數指標, 看市場有沒有權值股要當英雄的指標 關於XQ的自訂指標

此指標是1分K的如果想改成日指標該如何更改?

再來我想引用此指標改成股價創52周新高
然後指標線為有幾檔創新高,例如當天有5檔
那線圖為5
但是我這樣改都會編譯失敗
if value1>highest(high,365) = 1
plot1=sum(valve1:50)

因為現在連如何從1分k改成當日指標都有點困難
看起來應該是
variable:count(0);
count=0;
這個需要更改

如果想擷取所有上市類股票的話有辦法用這個語法嗎
GetSymbolField("上市類股","收盤價","D");

麻煩小幫手能幫忙解決

 

排序方式: 標準 | 最新
IMEI 發文於   2021/08/03

if value1>highest(high,365) = 1

這裡感覺很怪,high是包含今天的最高價,今天以前的應該是high[1]

XQ小幫手 發文於   2021/08/05

Hello AKADD,

 

此指標並沒有只限定在1分K才能用,腳本中使用的 GetSymbolField 的時候都有指定日頻率。

所以可以直接使用在日頻率上。

 

您需要改成創52週的話,那麼只需要在input中的priod參數作修改即可,並不需要去動腳本。

另外需注意,XQ上面的圖形只會畫出有開盤的日子,所以您設250即可。

回到您的腳本:

if value1>highest(high,365) = 1

您這行的問題在於,當value1 > highest(high,365)時,什麼東西要等於1?

應該會像影片中的腳本:

if value1>highest(high,365) = 1 then count += 1;  //如果 value1 > highest(high,365)時,count增加1。

 

plot1=sum(valve1:50)

這邊的話,沒有sum函數。

XS的加總函數叫做Summation

相關的用法可以參考連結。

腳本中之所以使用count = count + 1(相當於count+=1),是因為當條件判斷式中的商品符合時,count就會加1。

這樣在跑完50個商品後,count就相當於這50個商品中符合條件的數量。

 

小幫手建議您可以參考一下官網的教學區,裡面有XS語法的基礎和運用。

 

GetSymbolField 可以取得其他商品的資訊。

不過如果您希望取得所有上市類股票的話那就需要寫針對每個商品各寫一個 GetSymbolField 來取得相關資訊。

 

感謝 IMEI 的熱心回覆。

發表回覆
Close