16 3月 2009

程式交易 - 消失的信號

在寫程式交易時,很多小細節都是許多人沒有注意的地方

如此一來常常造成寫的程式出現一堆無法預期的錯誤

信號消失想必是最嚴重的,也是最沒辦法接受的


通常會造成這個因素都是因為部分的邏輯錯誤與信號在同一跟衝突

A說:這應該是this bar才會出現的錯誤吧?
B說:我都是用next bar應該不會有問題吧?

其實邏輯錯誤跟this bar與next bar一點關係也沒有
用next bar也是會有信號消失

在這裡舉個例子:
以下這段應該很多人都會使用
這個消失的訊號常見於上下過度震盪的K線(TS語法)
if codition then
    buy next bar at value1 stop;

if marketposition > 0 then begin
    exitlong next bar at entryprice(0)+30 limit;
    exitlong next bar at entryprice(0)-20 stop;
end;


就字面上的意義就是:
當condition條件成立時,在超過value1的價位買進
當有多單的時候,以入手價位30點停利,入手價位20停損。

在盤中:




進場後

的確停利出場



盤後回測:



出場的信號消失了

反而被出場的信號取代








這種寫法的訊號,的確很容易被忽略

為了避免這種情形發生
用這種在寫停損停利的時候要注意使用的K線時態
停損停利的範圍儘量要超出預期K線可能的長度

1 則留言:

  1. 沒錯, 不能同意你再多了!
    最近this bar的信件如雪片般飛來..
    其實大部分都是犯了這個錯誤,
    有時候實在不曉得該怎麼解釋起..

    回覆刪除