您好
想要請問一下如何用XS挑出
RSI短天期大於昨日
可是今日沒有穿越RSI長天期的語法
YI 兄,
使用XS範例選股腳本挑出下述條件:
1. RSI短天期大於昨日RSI短天期
2. 今日RSI短天期沒有穿越RSI長天期
撰寫方式大致說明:
1. 使用 IsLastBar 語法,當目前計算的K棒為最新的K棒時,回傳True時,才執行之後的程式碼。
2. 使用 RSI 系統函數,撰寫RSI短天期與RSI長天期。
3. 使用 outputfield 語法,驗證數值是否計算正確( 請參考 選股欄位放大鏡:談OutputField )
資料筆數設定:200筆,如下圖

範例選股腳本如下:
input: ShortLength(6), LongLength(12); SetInputName(1, "短期期數"); SetInputName(2, "長期期數"); if islastbar = false then return; condition1 = RSI(Close, ShortLength) > RSI(Close, ShortLength)[1]; condition2 = RSI(Close, ShortLength) Crosses Above RSI(Close, LongLength); if condition1 and condition2 = false then ret = 1; outputfield1(RSI(Close, ShortLength),"RSI短天期"); outputfield2(RSI(Close, LongLength),"RSI長天期");
以上供參考。
JACK 兄
感謝您的提供
可是選出的標的 沒有符合第二個條件
RSI短天期<RSI長天期
YI 兄,
謝謝指證,這個修改一下,即可達成你需要的條件,要不要嘗試看看?
當然,需要我直接改範例程式碼也可以,再跟我說,謝謝。
JACK 兄
言重了~我不是指證 我是剛接觸這編輯器的新手
完全沒有那種程式語言的底子只是自己把自己想到的東西亂拚湊而已
然後亂回測
所以如果JACK兄 不嫌麻煩的話
還勞請修改一下 感激不盡><
YI 兄,
客氣了,我也是藉由協助大家,來精進自己的新手,
修改程式碼範例如下,資料讀取筆數一樣:
input: ShortLength(6), LongLength(12); SetInputName(1, "短期期數"); SetInputName(2, "長期期數"); if islastbar = false then return; condition1 = RSI(Close, ShortLength) > RSI(Close, ShortLength)[1]; condition2 = RSI(Close, ShortLength) < RSI(Close, LongLength); if condition1 and condition2 then ret = 1; outputfield1(RSI(Close, ShortLength),"RSI短天期"); outputfield2(RSI(Close, LongLength),"RSI長天期");
以上供參考。
6 評論