在程序化自動交易中,使用輪詢模式,當前K線發出買入信號后,途中又消失了(這時實盤賬戶已買入開倉)。
走到第二根K線,買入的信號又出現了,這時系統又自動做出買入操作。
這樣我原本只是系統做1手多單,現在卻做了2手多單。這問題如何解決?
if 條件 then
begin
sellshort(holding<0,0,THISCLOSE),orderqueue;
buy(holding=0,30,THISCLOSE),orderqueue;
end
根據編寫的程序來看,應該會根據holding=0 的條件來執行,為何會重復開倉呢?
這個是基本的圖表操作概念,圖表交易根據圖表上的信號進行操作,不是根據實際持倉。圖表信號消失,那么HOLDING這個虛擬持倉也跟著消失,再次出現信號后,系統判斷HOLDING 依然為0
圖表實際持倉和真實持倉區別參考:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=29594
如果信號閃爍是一根k線之內的話, 可以解決這個問題,如果信號閃爍要跨好幾個周期的,那么還是請改自己公式的代碼和邏輯