positionprofit在Enum_Data_RolloverRealPrice下的問題 [開拓者 TB]
-
咨詢內(nèi)容:
新版.3 ,888合約在復(fù)權(quán)后,POSITIONPROFTI有誤,請(qǐng)測(cè)試,代碼如下
Events
??OnInit()
? ? {
? ???SubscribeBar("IC888.CFFEX","5m",20190101,0,Enum_Data_RolloverBackWard);
? ???//AddDataFlag(Enum_Data_RolloverRealPrice);//加上自動(dòng)映射為真實(shí)價(jià)則positionproft值正確,否則持倉(cāng)盈虧只要是多單都是虧隕。空單相反。
? ? }
??OnReady()
? ?{
? ?
? ?}
? ?
? ?OnBar(ArrayRef<Integer> indexs)
? ? {
? ???If(Time==0.0930)
? ?? ? Buy(1,Open);
? ???If(Time==0.1330)
? ?? ? Sell(0,Open);
? ???Commentary("PositionProfit= "+Text(PositionProfit));???來源:CXH99.COM -
TB技術(shù)人員:
首先非常感謝您提出的問題!
我仔細(xì)分析了一下您提出的問題,有些還是很有道理的,有些則恐怕還是原有設(shè)計(jì)更為合理。
1、如果不設(shè)置映射到真實(shí)價(jià)格,測(cè)試結(jié)果多單都是虧損的。這個(gè)我找了一下原因是因?yàn)镮C888的換月跳空總體是向下的,這樣RollOver這個(gè)系數(shù)就是大于1的,那么真實(shí)價(jià)格一般是比后復(fù)權(quán)的價(jià)格低的,而測(cè)試報(bào)告中EntryPrice取的是復(fù)權(quán)價(jià)格,浮動(dòng)盈虧的結(jié)算價(jià)卻是按真實(shí)價(jià)格,所以導(dǎo)致都是虧損。這一點(diǎn),我覺得我們的設(shè)計(jì)是有點(diǎn)問題的,兩者應(yīng)該一致,這個(gè)問題我會(huì)向公司產(chǎn)品部反饋。
2、但如果設(shè)置了映射到真實(shí)價(jià)格,則EntryPrice、ExitPrice這些函數(shù)取到的是真實(shí)價(jià)格的值,浮動(dòng)盈虧的計(jì)算也是按照真實(shí)價(jià)格來計(jì)算,我覺得設(shè)計(jì)是沒有問題的。您提到的計(jì)算交易手?jǐn)?shù)的問題,恰恰就是要用真實(shí)價(jià)格來計(jì)算才可能正確,否則算出來的交易手?jǐn)?shù)就錯(cuò)了。而圖表上的價(jià)格還是用復(fù)權(quán)價(jià)格,這樣可以保證策略交易信號(hào)不會(huì)因?yàn)閺?fù)權(quán)而產(chǎn)生變化,這個(gè)我覺得也是可以。只是有些策略如果同時(shí)用到價(jià)格數(shù)據(jù)和EntryPrice這些交易數(shù)據(jù)時(shí),可能會(huì)有些問題,這個(gè)可能要對(duì)策略做一些修改。
3、所以,您提到的提供函數(shù)來判斷目前的復(fù)權(quán)和映射真實(shí)價(jià)格的狀態(tài)還是很有必要的。我們系統(tǒng)現(xiàn)在提供了一個(gè)HasRollOver函數(shù),但從使用結(jié)果來看,它反映的是當(dāng)前BAR是否進(jìn)行了除權(quán),這個(gè)和您的要求和我的想法確實(shí)是有差距的。這個(gè)問題我也會(huì)反饋給公司。
謝謝您的支持!?
-
TB客服:
TB老曹,看看我的問題如何解答,1.1.1.3版自動(dòng)換月有問題
?
-
網(wǎng)友回復(fù):
tblaocai 發(fā)表于 2019-9-16 11:59
首先非常感謝您提出的問題!
我仔細(xì)分析了一下您提出的問題,有些還是很有道理的,有些則恐怕還是原有設(shè)計(jì) ...
我概括一下,對(duì)于設(shè)置了復(fù)權(quán)和Enum_Data_RolloverRealPrice的情況,TB目前的方案是直接用realprice下單,測(cè)試報(bào)告也是以真實(shí)價(jià)來計(jì)算,這樣是比較準(zhǔn)確,但有一個(gè)問題便是公式的open,close等取的是復(fù)權(quán)后的價(jià)格,而entryprice這些取的又是真實(shí)價(jià),取值不是按一個(gè)標(biāo)準(zhǔn),那么這樣寫公式就需要用戶每次取close價(jià)時(shí)要轉(zhuǎn)換成真實(shí)價(jià),那就意為著之前寫的自定義函數(shù)都得修改,那這可是全部TB使用者都要改自己的函數(shù)啊。所以為了程序簡(jiǎn)練,最好統(tǒng)一起來,辦法1.要么entryprice與close都默認(rèn)轉(zhuǎn)為真實(shí)價(jià),不需要通過乘除rollover來轉(zhuǎn)換,只是K線圖上顯示的是復(fù)權(quán)價(jià)。辦法2.要么entryprice與close都是復(fù)權(quán)價(jià),只在下單與報(bào)告中體現(xiàn)為真實(shí)價(jià),這個(gè)辦有一個(gè)問題要注意,就是下單時(shí)計(jì)算手?jǐn)?shù)要以真實(shí)價(jià)來算,兩個(gè)方法應(yīng)該能達(dá)同一個(gè)效果。當(dāng)然如果以后確定就是按1.3版目前這個(gè)方案的話我就只好老實(shí)改代碼了。
有思路,想編寫各種指標(biāo)公式,交易模型,選股公式,還原公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 或微信號(hào):cxh99cxh99 進(jìn)行 有償收費(fèi) 編寫!
(怎么收費(fèi),代編流程等詳情請(qǐng)點(diǎn)擊閱讀!)
(注:由于人數(shù)限制,QQ或微信請(qǐng)選擇方便的一個(gè)聯(lián)系我們就行,加好友時(shí)請(qǐng)簡(jiǎn)單備注下您的需求,否則無法通過。謝謝您!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容