2010年11月2日 星期二

RSI 背離(Candle Pattern)


程式交易小學堂─期貨投機事業的王道
好久沒有增加 HTS 的範例程式碼了。

今天來提供一個 RSI 指標背離的K棒標示,這個範例可以自行學著觸類旁通,把 RSI 換成 KD 或者是其他的擺盪指標。

我們先宣告一個變數 i 因為我打算為背離發生的區域做一些界定,會使用到迴圈。
Var: i(0);

再來弄個變數來儲存 RSI9 指標的值,不用想 RSI 要怎麼寫, 這在 HTS 的內建函數裡就有,直接取用。
Value1= RSI(C,9)

另外多準備一個變數用來界定 RSI 發生背離的位置,我希望這個 RSI 背離發生的位置,在過去 9 根K棒中,至少有兩根的 RSI 值是在 70 以上。
Value2=0

for i=1 to 9
Value2= iff(Value1[i]>70,Value2+1,Value2)
end for

再來,把發生背離的時候用條件變數儲存下來,條件描述是:收盤價是過去 9 根以內收盤價的新高,但 RSI 值不是過去 9 根以內的 RSI 新高。通常這就是多數書上描述的指標背離啦,如果你不想管背離發生的地方在哪個區域(比如偏高)或是指標不是只有一次摸到偏高區域的話,這一段就夠用了。
Condition1 = C>=Highest(C,9) and Value1< Highest(Value1, 9)

我希望發生有收盤價創新高 RSI 卻沒有創新高的情況只是個警戒,接著發生了低點破低且過去 9 根至少有 2 根在偏高區域,才跳出顯示文字。
if Condition1[1] and Value2>=2 and Low<Low[1] then
DrawPoint4( TopSide, "背離" )
end if

以上程式碼為了排版需要或有全型文字,請勿直接 Copy & Paste 去使用。
花點勞力打打字吧,如下:

熱門文章