您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(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无码第一区二区三区| 男男动漫全程肉无删减有什么 | 中文字幕电影资源网站大全| 欧美卡2卡4卡无卡免费| 免费无遮挡无码永久视频| 香港三日本三级人妇三级99| 国产精品自在线拍国产手机版| 一级做a爰片性色毛片男| 日韩亚洲欧美在线观看| 亚洲日本va午夜中文字幕一区 | 美女叫男人吻她的尿口道视频| 国产激情一区二区三区| 99久久久国产精品免费牛牛四川| 成人动漫在线免费观看| 久久夜色精品国产尤物| 欧美丰满大乳高跟鞋| 人人妻人人狠人人爽| 美国式禁忌芭芭拉| 国产在线一区二区三区| 1111图片区小说区欧洲区| 天堂网www在线资源中文| 中文字幕一精品亚洲无线一区| 日韩精品中文字幕无码一区| 亚洲成人app| 狠狠噜狠狠狠狠丁香五月| 午夜视频在线观看视频| 西西人体www44rt大胆高清| 国产欧美一区二区三区久久| 3d姐弟关系风车动漫(p)_在线观看| 欧美色图亚洲图片| 又黄又爽又色又刺激的视频| 高潮内射免费看片| 天天做天天爱天天综合网| 中文字幕免费高清视频| 日韩欧美国产三级| 亚洲人成无码网站| 欧美色欧美亚洲高清在线观看| 免费人成在线观看视频播放|