試著建立一個指標和買賣策略如下:
如果開盤後漲 100點就買, 跌 100點就賣.
(注意: 是指以當日開盤為基準, 盤中走勢掌或跌 100點論, 而非以昨天收盤當基準點).

HTS 的用戶都知道, HTS 存在著 this bar 的 bug.
大概是太受了這個出了名的 bug 影響吧~ 所以…連在一些拍賣網兜售的程式都一定要註明該程式使用 next bar 而非 this bar.

所以, 你可能指標會這麼寫 :

plot1(open+100,"O+R");
plot2(open-100,"O-R");





買賣策略會這麼寫 :

buy next bar at (open+100) stop;
sellshort next bar at (open-100) stop;

 


程式都很短, 花五秒鐘看一下程式…
乍看之下, 好像沒什麼問題.


但當我們把指標和策略放進 日 K線圖, 就會發現.
指標和買賣的點位不一樣, 再仔細看, 發現有感覺有時間平移的落差.

2009-11-10_01 

這是因為我們在策略買賣程式中, 用了 next bar open…
而指標程式的 plot1(open+100, “O+R”); 的 open 卻是 this bar 的開盤價.
所以畫出來的指標與策略在時間軸上差異了一天 (正常說法是一根 K bar).

要更正這個時間平移差異的問題, 只要利用 plot[-1] 的語法即可.


我們知道 open[1] 指的是前一根 K bar 的 open.
所以 plot[1] 指的是把原本要畫指標的地方, 往前(左)移一根 K bar 的位置.
同理, plot[-1] 就是把指標畫往右移一根 K bar 的位置.

所以, 指標程式修正如下 :

plot1(open+100,"O+R");
plot2(open-100,"O-R");





這樣, 在 K 線圖上, Indicator 和 Strategy 的位置點就會吻合了!
2009-11-10_02 

上圖看起來好像都正確了!
耶~ 第一個買訊(左邊第 4根 K bar)的位置似乎不太對!?
不是 open + 100 就做多, 怎麼在那一根 K bar 開盤就買進?

其實, 這裡要說的第二個要點是,
策略的買訊雖然是寫 :

buy next bar at (open+100) stop;




但因為 open 指的是當根 K bar 的 open 價.
所以相對於 next bar 來說, 就是指前一根 K bar 的 open 價, 而不是 next bar 的 open 價了!

這樣, 是不是瞭解了為什麼圖中第一個買訊的點位為什麼會在那邊了吧!

那如果我們買賣程式, 先決條件成立在當根 K bar, 但希望下一根開盤後能再漲個幾點我們才真正認為買訊成立而做多, 怎麼寫?
下一次的文章會提到這一塊.


arrow
arrow
    全站熱搜

    htnvt241 發表在 痞客邦 留言(1) 人氣()