請教版主V3問題~ - TradeBlazer公式 [開拓者 TB]
- 咨詢內容:
請問版主:
在V3中
我的程序如下:
MA5=Average(close,5);
MA10=Average(close,10);
if(MA5>MA10 && ( MarketPosition == 0 || MarketPosition == -1))
{
Buy(10,Close,True);
}
正常的情況下,應該是只有當“當前bar的最后一個收盤價”滿足MA5>MA10 時,然后按照“當前bar的最后一個收盤價”發送委托指令,所以在回測的交易記錄中,成交價格應該是"滿足條件的bar的最后一個收盤價"
我的問題是:為什么回測記錄中,成交價格有時是"滿足條件的bar的最后一個收盤價",有時卻是"滿足條件的bar的下一個bar的開盤價"?(PS:我的開倉條件和委托價格都沒有用到open或者nextopen),能否解釋一下嗎,謝謝! - TB技術人員:
Buy(10,Close,True);
LZ看看說明文件把,你這樣寫,就是延遲到下一根BAR發單,下一根BAR的第一個TICK上,OPEN就是CLOSE。。。。
不知道我這樣想是不是對的 - TB客服:
本帖最后由 mars622160 于 2011-8-15 16:14 編輯
回復 2# alex647l
要是記錄全部是延遲到下一根bar的open也就沒有什么問題了,關鍵是回測記錄顯示:有時是用"滿足條件的bar的最后一個收盤價"開倉,有時卻是用"滿足條件的bar的下一個bar的開盤價"開倉,這個相當無語啊。。。到底延遲不啊?? - 網友回復:
回復 3# mars622160
試試
if(cond[1])
buy(1,close[1]) - 網友回復:
本帖最后由 mars622160 于 2011-8-15 19:01 編輯
回復 4# lh948
用您的這個語句肯定是按照當前bar的上一個bar的最后收盤價開倉啊,因為你限制為:buy(1,close[1]),我想知道我寫法的問題,版主能否解答,還是TB的回測中本來就存在這樣的問題?
非常感謝啊
相關文章
-
沒有相關內容