各位好,小弟目前想寫一個關於心理線選股的語法,但是都找不到相關範例,懇請眾高手幫忙,謝謝
例如:我要寫出幾個月內10日心理線為最低,請問要如何編寫?
各位好,小弟目前想寫一個關於心理線選股的語法,但是都找不到相關範例,懇請眾高手幫忙,謝謝
例如:我要寫出幾個月內10日心理線為最低,請問要如何編寫?
謝謝小幫手,所以我要檢查所有股票的心理線是不是有2個月內新低的話是
inputs: psy_len(10, "心理線長度"), check_len(60, "檢查長度");
variables: psy_val(0), psy_lowest(0);
psy_val = psy(psy_len);
psy_lowest = lowest(psy_val, check_len);
then ret=1;
是這樣嗎?
Hello 隔壁老王,
您需要下條件來檢查今日的心理線是否是60個工作天最低。
所以應該是
inputs: psy_len(10, "心理線長度"), check_len(60, "檢查長度");
variables: psy_val(0), psy_lowest(0);
psy_val = psy(psy_len);
psy_lowest = lowest(psy_val, check_len);
if psy_val = psy_lowest then ret=1; //若今日心理線為最低則發出警示
謝謝小幫手,那請問 variables: psy_val(0), psy_lowest(0); 這一句是代代表什麼意思?
另外,我的兩個月內新低是只要當天是新低,期間不要有一樣低的,那又該如何編寫?
Hello 隔壁老王,
variables: psy_val(0), psy_lowest(0); 這一行代表的是令兩個變數,取名為 psy_val 和 psy_lowest,並讓它們的初值為0。
兩個月新低的話可以使用 NthLowest 函數
修改後的範例會是:
inputs: psy_len(10, "心理線長度"), check_len(60, "檢查長度");
variables: psy_val(0), psy_lowest(0);
psy_val = psy(psy_len);
psy_lowest = lowest(psy_val, check_len);
if psy_val = psy_lowest and psy_lowest < NthLowest(2, psy_val, check_len) then ret=1; //這行會確認心理線是否為最低值且小於次低值
另外本網站裡有提供 XS語法 教學,您可以參考看看。
好的,謝謝小幫手
Hello 隔壁老王,
您需要下條件來檢查今日的心理線是否是60個工作天最低。
所以應該是
inputs: psy_len(10, "心理線長度"), check_len(60, "檢查長度");
variables: psy_val(0), psy_lowest(0);
psy_val = psy(psy_len);
psy_lowest = lowest(psy_val, check_len);
if psy_val = psy_lowest then ret=1; //若今日心理線為最低則發出警示
請問小幫手,假如60天內有某幾天一樣低的時候,是否還能搜尋出符合語法條件的標的?? 例如五天前心理線為最低,今天搜尋也是最低,這樣一樣篩選得出來嗎?另外,
篩選出的標的都是心理線數值為0才會選得出來,這樣會失去很多非0值的標的,想請問有什麼地方可以修改?
Hello 隔壁老王,
如果有2個相同的最低值的話,NthLowest(2, psy_val, check_len)會找到另一個相同的最低值。
小幫手建議您可以從以下兩種選擇適合您的
if psy_val = psy_lowest and psy_lowest < NthLowest(2, psy_val, check_len) then ret=1; //如果有兩個相同的最低值(其中一個為今天)的話不會篩選出來
if psy_val = psy_lowest then ret=1; //如果有兩個相同的最低值的話會篩選出來
另外,篩選出來的標的並不是心理線的數值為0,而是依照您的條件:幾個月內心理線為最低值的商品。
謝謝小幫手
20 評論