您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 久久人人爽人人爽人人片av不| 免费人成视频在线观看网站 | 男人j桶进女人p无遮挡在线观看| 国产卡一卡二卡三卡四| 97久久天天综合色天天综合色hd| 成人免费视频一区| 久久综合久久久久| 欧美精品福利在线视频| 午夜精品久久久久久99热| 黄色一级片在线看| 国产高清免费在线| 一本久久精品一区二区| 日本亚洲中午字幕乱码| 亚洲另类第一页| 特级毛片www| 卡1卡2卡3卡4卡5免费视频| 香艳69xxxxx有声小说| 国产精品成人无码视频| caoporn97在线视频| 成人欧美一区二区三区黑人免费| 久久精品成人免费观看| 欧美成人看片黄a免费看| 众多明星短篇乱淫小说| 美女的扒开尿口让男人桶动态图 | 久久91精品国产91久久户| 柳菁菁《萃5》专辑| 亚洲欧美电影在线一区二区| 精品亚洲成A人在线观看青青| 国产三级精品三级在线观看 | 菠萝蜜视频入口| 国产成人精品久久一区二区三区| 99久久99视频| 成人免费看吃奶视频网站| 久久国产加勒比精品无码| 欧美乱人伦中文字幕在线不卡| 亚洲精品无码国产片| 精品一区二区久久久久久久网站 | 久久久久久人妻一区二区三区 | 国产午夜毛片一区二区三区| 中文字幕你懂的| 国产精品美女久久久久|