請問小編 NthHighest這個函數可以找到過去期數的最大值
NthHighestBar 這個函數可以找到最大值的那根K棒位置
可是如果我希望能夠找到例如我使用 NthHighest 這個函數
找到過去期數的最大值出來 例如找出來的那天是1月26號
但我希望能夠讓電腦能抓到1月26號那天的收盤價
這樣要怎麼寫呢 再麻煩小編了
請問小編 NthHighest這個函數可以找到過去期數的最大值
NthHighestBar 這個函數可以找到最大值的那根K棒位置
可是如果我希望能夠找到例如我使用 NthHighest 這個函數
找到過去期數的最大值出來 例如找出來的那天是1月26號
但我希望能夠讓電腦能抓到1月26號那天的收盤價
這樣要怎麼寫呢 再麻煩小編了
Hello 阿林,
您可以將頻率調設為天,然後使用 NthHighestBar 此函數找到最大值的 K棒位置,而 close[NthHighestBar(1, high, 期數)] 就是該天的收盤價
範例如下:
value1 = NthHighestBar(1, high, 10);
value2 = close[value1];
value2即為過去10期內最高價當天的收盤價。
請問小幫手 我希望今天的最高價 只能是一根兩分k棒 意思就是
不希望今天等於最高價的兩分k棒超過兩根 可是我寫的以下腳本似乎有誤
請小幫手幫忙檢查感謝
if barfreq <> "Min" or Barinterval <> 2 then RaiseRuntimeError("請設定頻率為2分鐘");
variable:dd(0);
if high = GetField("最高價","D") then dd = 1
else dd +=1;
if dd = 1 then ret =1;
感謝小編回答
想請問小編 就是我有一個腳本 裡面有寫到這條
nthhighest(3,GetField("最高價","D")[1],20);
這樣程式在執行都沒有問題
但是當我改成
nthhighest(3,GetField("最高價","D")[1],30);
只是把後面期數 由20改成30
腳本執行的時候 就會顯示 計算停止 因為計算發生錯誤 請檢察腳本內的算式
請問這是什麼問題呢
Hello 阿林,
根據您的敘述,小幫手認為有可能是資料讀取筆數不足的原因。
如果您發現調整資料筆數後還是一樣發生問題的話,需要您提供策略雷達/選股中心/交易中心匯出檔、腳本和 Log 來檢視問題為何。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)壓縮檔案
您可以直接將檔案上傳,或是Mail至客服信箱 XQservice@XQ.com.tw且附上討論文章連結網址。
感謝。
我把資料讀取比數調到最大5000筆 變成
nthhighest(3,GetField("最高價","D")[1],60);
後面期數改60就不行 但是我後面期數改55就可以
而且 value2 = average(GetField("收盤價","D"),60);
60日的移動平均也不行 我腳本執行的頻率是2分鐘
再麻煩小編了
感謝小編 更改過後就可以了 但是有一個問題就是
就是改這樣 他在啟用腳本cpu使用率會很高
而且雷達在啟動會變很慢 例如
我執行商品300檔 兩個程式都是執行300檔
但是我把資料讀取筆數條到三個月前的那個程式
就會很慢才開得起來 另一個就一樣預設的資料讀取200筆
在開的速度就快很多 而且也不會佔用cpu那麼高
請問小編這有方法可以改善嗎
還是勢必你只要有寫到例如60日均線這種的腳本
就一定會這樣?
Hello 阿林,
啟動商品速度會變慢這關係到您所需的商品數以及資料長度。
由於您腳本運算時需要如此長的資料,那麼就需要花相對長的時間來讀取。
您可以考慮減少商品數量,使用較大的頻率 (像是從分鐘改成日) 都可以有效地降低所需的讀取資料,進而減少啟動時間。
CPU使用率的話則關係到您一次啟用的雷達數量,多久運算一次(是否有開逐筆洗價),還有監控的商品數量。
如果想降低CPU使用率的話就只能請您減少上面所敘述的事項。
29 評論