幫忙分析一下這個代碼 [開拓者 TB]
- 咨詢內容:
begin
If( BarStatus==2)
Buy(1,h);
End
如果進行自動交易,會發生什么? - TB技術人員:
它會在每個最新的bar上開倉一次,無限循環下去,且最新的信號替代前一個信號
- TB客服:
tianlan 發表于 2014-11-10 11:00
它會在每個最新的bar上開倉一次,無限循環下去,且最新的信號替代前一個信號 ...
是的,我也以為是這樣,但模擬盤測試的結果卻不是這樣,只在模型啟動自動化交易時發一次單,然后就不再發了,現在給弄糊涂了,到底tb的發單機制是怎樣的? - 網友回復:
本帖最后由 tianlan 于 2014-11-12 11:01 編輯
同一個bar 只發一次單?雖然模型是按tick 執行,bar 內可能多次滿足條發單條件,是這樣嗎?版主。如果這樣能解釋一部分問題,但是我機器上到新bar 卻不發單,這個還是無法解釋,能否麻煩版主幫忙測試一下,這個發單問題真的很重要,多謝 - 網友回復:
本帖最后由 小米 于 2014-11-11 11:23 編輯
btzdpower 發表于 2014-11-10 16:55
同一個bar 只發一次單?雖然模型是按tick 執行,bar 內可能多次滿足條發單條件,是這樣嗎?版主。如果這 ...
同一個bar內,條件滿足的情況下,每一次運算都會執行到buy語句。但是,在啟動自動交易的情況下,只有第一次執行到的buy語句才會發出委托單 。這個是會有內部機制來控制的,不會因為多次運算到buy而多次發單 的。
你所提到的代碼,只在發過一次委托后,信號會不斷移向最新的K線,但不會再發出委托,其原因也與TB的機制有關。
在新bar的第一個tick產生時,會將舊bar的最后一個K線與新bar的第一個tick做為同一個索引共同運算一次。
此時,在該次運算上,舊bar已經發過委托單的內部索引會被傳遞記錄到新的這個tick上,于是新bar上的信號也會被認為是已經委托交易過的,便不會再次發單了。。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容