想請問XQ小幫手如何寫出特定期間內不破低或不過高的選股腳本
例如:股價都沒有跌破12/1以來的低點 或股價沒有漲超過12/1以來的高點
想請問XQ小幫手如何寫出特定期間內不破低或不過高的選股腳本
例如:股價都沒有跌破12/1以來的低點 或股價沒有漲超過12/1以來的高點
Hello 12345,
小幫手不太懂您的意思,請問 股價都沒有跌破12/1以來的低點 是指從 12/1 到今日的股價都沒有跌破 從 12/1 到今日的低點嗎?
可是這樣的話 12/1 到今日只會有一個低點,而價格不可能跌破 (因為最低的價格就是那一點)。
需要麻煩您講得更清楚一點。
如果是要找出比如過去幾根Bar都符合某種條件的話,可以參考 TrueAll 函數。
要取得特定日期的相對位置的話,可以參考 GetBarOffset 函數。
Hello 12345,
您可以使用 GetBarOffset 來取得指定日期的相對位置,搭配 TrueAll 來判斷是否收盤價都大於該相對位置的收盤價。
附上選股中心匯出檔 (不低於12/01的收盤價) 供您參考。
需注意資料讀取筆數要夠大(比指定日期更前面)才能夠取得正確的相對位置。
Hello 12345,
由於 TrueAll 是往前比較,所以 low[value1] 往前的話會取用到錯誤的值,小幫手漏了這一點。
您可以作以下兩種修改應該就不會有問題:
1.另外設定一個變數紀錄該天的最低值。
input: _date(20211201, "指定日期");
value1 = getbarOffset(_date);
value2 = low[value1];
if trueall(low >= value2, value1) then ret = 1;
2.改使用for迴圈。
input: _date(20211201, "指定日期");
value1 = getbarOffset(_date);
value3 = 0;
for value2 = 0 to value1 begin
if low[value2] < low[value1] then value3 = 1;
end;
if value3 = 0 then ret = 1;
Hello XQ小幫手,
非常感謝XQ小幫手的協助,謝謝!
6 評論