請問版主關于數據疊加的問題 - TradeBlazer公式 [開拓者 TB]
- 咨詢內容:
本帖最后由 mars622160 于 2012-3-21 21:53 編輯
版本:TBV4.2.5
問題:如果我發信號的合約為IF000(數據為data0),交易合約為當月連續(標記為data1),條件如下:
if (con[1]=true) //con[1]用data0計算出
{
buy(lots,data1.close[1])
}
請問
1.按照上述語句,發單會以“data1.close[1]“的價格在當月合約上發單嗎?
2.如果上述程序不會在當月合約(data1)上發單,而是在IF000(data0)上發單,應該如何更改程序使得發單在當月合約?(注意:不想通過“將商品0的訊號映射到商品1”來實現,想純粹從程序角度)
非常感謝! - TB技術人員:
回復 1# mars622160
1.不能對當月合約進行發單
2. 可以嘗試改為- if(con[1]==true)
- {
- data1.buy(lots,data1.open);
- }
- if(con[1]==true)
- TB客服:
本帖最后由 mars622160 于 2012-3-24 22:47 編輯
回復 2# 小米
謝謝,再請教兩個問題:
(1)以下寫法是否可以呢:
if(con[1]==true)
{
data1.buy(lots,data1.close[1]);
}
(2) “data1.buytocover(lots,0);”是指按照當月合約(data1)的現價發單嗎?(PS:會不會是data0的現價呢?)
(3)在數據疊加時,"data0.MarketPosition“和"data1.MarketPosition“有何區別?我如果用data0發信號,然后用data1交易,則應該用以下哪種寫法?
寫法1:
if(con[1]==true && MarketPosition == -1)//注意:con[1]是用data0的數據計算
{
data1.buy(lots,data1.Open);
}
寫法2:
if(con[1]==true && Data1.MarketPosition == -1)//注意:con[1]是用data0的數據計算
{
data1.buy(lots,data1.Open);
}
非常感謝您! - 網友回復:
回復 2# 小米
版主能否回答,非常感謝您! - 網友回復:
回復 3# mars622160
1.這樣的寫法在語法上是沒有錯的。但是使用上一個BAR的價格來發單 ,這樣合理嗎?易于成交嗎?建議這里使用當前BAR的Open價。
2.這樣寫就是使用data0的價格去發單了。
3.你本身都是對data1進行發單的,信號是標是在data1上的,自然marketposition也要判斷data1上的才是,使用第2種寫法才是合理的。
相關文章
-
沒有相關內容