您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識>>正文內容

請問實現同一個bar上出現平倉不再追加開倉,如何處理? [開拓者 TB]

  • 咨詢內容: 因我做了兩個獨立的開倉條件,會有追加開倉的情況。模擬盤測試發現,如果第一個條件下已開倉1手,在某個bar上出現了平倉的信號(以開盤價發出),同時該bar也出現了滿足另一個開倉條件發出的加倉1手的指令(以開盤價發出),帶來兩個問題:一是導致不必要的開平倉;二是系統因為無法判別順序,會以平倉2手,開倉1手發出委托單,實際成交時先開后平沒有問題,但如果先平2手后開1手,則導致留下1收開倉,暴露了風險。
    解決方案:
    1、同一bar上避免既有開倉又有平倉的方法,我查閱了網上的,一般是給開倉條件增加BarSinceExit!=0來處理,但這個函數的前提條件是空倉才有效,我這里的情況是bar上已有1手的持倉,所以無法使用。
    2、解決成交的順序問題,我查閱使用先開倉再平倉來解決,應該是沒問題的,對吧?

    請版主和高手幫忙!謝謝!

     

  • TB技術人員: 1,不在同一個bar上即開又平,可以將平倉語句寫在開倉和加倉語句前,且是 if ....else if.....else if...的邏輯
    2,歷史K線中沒法判斷實時的行情出現的先后順序。。這個不太想法不太能實現 。

     

  • TB客服: 本帖最后由 dagan3200 于 2016-4-21 16:33 編輯
    小米 發表于 2016-4-20 11:30
    1,不在同一個bar上即開又平,可以將平倉語句寫在開倉和加倉語句前,且是 if ....else if.....else if...的 ...


    調了下,發現不是兩個條件下單,而是其中一個條件允許累計加倉(設置了最大允許加倉2次)導致,為了保留加倉的效果,同一個bar上只能保留既開又平。
    現在,為了保證真實賬戶與TB信號匹配,使用A函數來處理這個問題,如下。兩個問題:
    1、調試顯示第二行(If這句)缺少分號“;”,但我找不出錯誤原因。
    2、邏輯上也請幫忙看看對不對,先給 TickCnt1賦初值為0,然后每個tick過來執行一遍第一段的if語句 (效果是TickCnt1+1),經過30個tick后( TickCnt1達到30),再執行If里的語句。

    請大大指教!

                   TickCnt1=0;
                    If (TickCnt1<30 && MarketPosition==0)//TB信號為空倉,且30個Tick數未達到;
                    {
                      TickCnt1=TickCnt1+1;
                    }

                    Else If ( TickCnt1>=30 && MarketPosition==0); //TB信號為空倉,如果等待了TickCnt1個tick數后
                    {
                       If(A_BuyPosition>0 && A_BuyPosition>Abs(CurrentContracts)&&A_GetOpenOrderCount==0) //當前有買入持倉&&真實賬戶相對TB信號有多余持倉&&沒有委托單時直接發單平掉多余持倉
                      {
                      A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition-Abs(CurrentContracts),Q_BidPrice);
                                      TickCnt1=0;
                             }
                       Else if(A_SellPosition>0 && A_SellPosition>Abs(CurrentContracts)&&A_GetOpenOrderCount==0)//當前有賣出持倉&&真實賬戶相對TB信號有多余持倉&&沒有委托單時直接發單平掉多余持倉
                      {
                      A_SendOrder(Enum_Sell,Enum_Exit,A_SellPosition-Abs(CurrentContracts),Q_AskPrice);
                                      TickCnt1=0;
                             }
                    }

     

  • 網友回復:
    dagan3200 發表于 2016-4-21 13:58
    調了下,發現不是兩個條件下單,而是其中一個條件允許累計加倉(設置了最大允許加倉2次)導致,為了保留 ...

    A函數是沒有信號的,不存在信號前后的問題呀。。那我前面給的處理語句完全不適用于這里,可忽略。。。
    使用a_sendorder發單 ,是沒法使用marketposition進行判斷的。。

     

  • 網友回復: 本帖最后由 dagan3200 于 2016-4-21 16:30 編輯
    小米 發表于 2016-4-21 14:44
    A函數是沒有信號的,不存在信號前后的問題呀。。那我前面給的處理語句完全不適用于這里,可忽略。。。
    使 ...


    是的,我這里marketpositon只是為了看當前圖表上信號,圖表上如果是空倉,而實際賬戶不是空倉再用A_sendorder去平掉多出的真實持倉,這樣保證圖表信號和真實持倉情況匹配。你看是這樣吧?然后那個缺少分號“;”的錯誤提示怎么解?

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 性做久久久久久免费观看| 欧美高清精品一区二区| 国产清纯白嫩初高生在线观看| 一卡二卡三卡在线观看| 日韩精品一卡2卡3卡4卡三卡| 亚洲美女aⅴ久久久91| 老师你的兔子好软水好多作文高清| 国产精品igao视频网| bt天堂中文资源在线| 无码国模国产在线观看| 亚洲jjzzjjzz在线播放| 炕上摸着老妇雪白肥臀| 四虎成人精品在永久免费| 黄色福利小视频| 国产香蕉视频在线播放| 三上悠亚中文字幕在线播放| 日韩不卡免费视频| 亚洲妇女水蜜桃av网网站| 男生女生一起差差很痛| 国产一区二区三区免费视频| 免费黄网站大全| 国产麻豆天美果冻无码视频| 一级毛片aa高清免费观看| 日本特黄在线观看免费| 亚洲人av高清无码| 波多野结衣教师中文字幕| 午夜寂寞在线一级观看免费| 野花日本免费观看高清电影8| 国产精品中文字幕在线| 99久久精品费精品国产一区二区| 成人毛片免费在线观看| 久久图库99图库| 校园亚洲春色另类小说合集| 亚洲爆乳无码专区www| 立即播放免费毛片一级| 国产97在线观看| 韩国成人毛片aaa黄| 国产欧美综合一区二区| 4480yy私人影院论| 在线观看成人网站| www.天天操.com|