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

求解,關于多公式組合策略在數據源上的運算 [開拓者 TB]

  • 咨詢內容: 我在TBQ的幫助文檔里看到“為了使用的方便,以及降低使用門檻, TB 公式系統支持將現有的多個公式應用按照一定的順序組合為一個交易策略
    交易策略執行時按照公式設置的順序依次串行執行,公式間持倉共享,公式信號單獨顯示。
    相當于把每個公式看成是一個函數,在交易策略內依次執行各個函數,整個策略共享一個 MarketPosition。”

    然后我在后面例子中看到,把5個公式加載到一個策略單元,也沒有特別的設置。我看每個公式的買入信號都會判斷marketposition,我就有點疑問,既然共享marketposition,那第一個公式如果買入了,第二個公式就不會買入了,如果達到例子里說的3個公式中的2個公式買入之后再停止呢,請幫忙給解釋一下,謝謝


    ?

    ?來源:CXH99.COM

  • TB技術人員: 第一個公式買入后,后面的公式是否繼續交易,取決于后面公式開倉條件里寫法。
    如果第二個公式的開倉條件并沒有要求限制marketposition必須等于0的,那么就條件滿足就要可以繼續開倉。類似于加倉。
    而第三個人公式的開倉條件里做marketposition==0的限制的話,則不會開倉了。

    ?

  • TB客服: 公式應用 1: Average_Buy
    Params
    Numeric percent(0.002); //大于日均價幅度
    Vars
    Begin
    If(MarketPosition<>1 && (Close[1] > Q_AvgPrice *(1 + percent)))
    {
    Buy(1,Open);
    }
    End
    公式應用 2: Dual_Buy
    Params
    Numeric FastLength(5);
    Numeric SlowLength(20);
    Vars
    NumericSeries AvgValue1;
    NumericSeries AvgValue2;
    Begin
    AvgValue1 = AverageFC(Close,FastLength);
    AvgValue2 = AverageFC(Close,SlowLength);
    PlotNumeric("MA1",AvgValue1);
    PlotNumeric("MA2",AvgValue2);
    // 集合競價和小節休息過濾
    If(!CallAuctionFilter()) Return;
    If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
    {
    Buy(1,Open);
    }
    End
    公式應用 3: High_Buy
    Vars
    Numeric MinPoint; // 一個最小變動單位,也就是一跳
    Numeric MyEntryPrice; // 開倉價格,例中為開倉均價,可設置為某次入場價
    Numeric AddSet(2); // 大于最高價跳數
    Begin
    If(!CallAuctionFilter()) Return;
    MinPoint = MinMove*PriceScale;
    If(MarketPosition<>1 && (Close > Q_High + AddSet*MinPoint))
    {
    Buy(1,Open);
    }
    End
    公式應用 4: Average_Sell
    Params474
    Numeric percent(0.01); //小于日均價幅度
    Vars
    Begin
    If(!CallAuctionFilter()) Return;
    If(MarketPosition==1 && (Close < Q_AvgPrice *(1 - percent)))
    {
    Sell(1,Open);
    }
    End
    公式應用 5: Dual_Sell
    Params
    Numeric FastLength(5);
    Numeric SlowLength(20);
    Vars
    NumericSeries AvgValue1;
    NumericSeries AvgValue2;
    Begin
    AvgValue1 = AverageFC(Close,FastLength);
    AvgValue2 = AverageFC(Close,SlowLength);
    PlotNumeric("MA1",AvgValue1);
    PlotNumeric("MA2",AvgValue2);
    // 集合競價和小節休息過濾
    If(!CallAuctionFilter()) Return;475
    If(MarketPosition == 1 && AvgValue1[1] < AvgValue2[1])
    {
    Sell(1,Open);
    }
    End

    這是例子的5個公式,例子里說“上面 3 個開倉公式,任何 2 個先到達開倉條件,則由于倉位達到最大頭寸 2,另外一個開倉公式將不會執行。上面任何 1 個平倉公式達到平倉條件平掉所有的倉位,則另外一個平倉公式不會執行。”,說只要按順序加載這5個公式,就可以達到上面的效果,我不太理解如何實現目的的

    ?

  • 網友回復: 本帖最后由 小米 于 2019-10-22 16:08 編輯
    baggiobatistuta 發表于 2019-10-21 15:15
    公式應用 1: Average_Buy
    Params
    Numeric percent(0.002); //大于日均價幅度


    這段代碼說明是有些問題的, 不足以參考 。。
    先不要看這個說明,后面會更新相關說明文檔的。

    可以先看軟件里--TB量化學院--TBL語言--公式運行機制--多公式組合策略在數據源上的運算。這里面的內容說明與代碼是正確的。

 

有思路,想編寫各種指標公式,交易模型,選股公式,還原公式的朋友

可聯系技術人員 QQ: 262069696  點擊在線交流或微信號:cxh99cxh99  進行 有償收費 編寫!

怎么收費,代編流程等詳情請點擊閱讀!

(注:由于人數限制,QQ或微信請選擇方便的一個聯系我們就行,加好友時請簡單備注下您的需求,否則無法通過。謝謝您!)


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 免费无码一区二区三区| 国产精品青青青高清在线观看 | 3d动漫精品成人一区二区三| 日本三级2021最新理论在线观看| 亚洲欧美一区二区三区孕妇| 精品无码中出一区二区| 国产清纯白嫩初高生在线观看| a级毛片无码免费真人久久| 日本亚州视频在线八a| 亚洲另类激情综合偷自拍图| 男女一进一出呻吟的动态图| 国产丝袜制服在线| 色婷五月综激情亚洲综合| 奇米综合四色77777久久| 久久久久久久综合狠狠综合| 欧美xxxx做受性欧美88| 人善交另类欧美重口另类| 色多多视频在线| 国产成人免费a在线视频app| 91国内揄拍国内精品对白| 好男人好视频手机在线| 久久96精品国产| 日韩视频中文字幕精品偷拍| 亚洲最大中文字幕无码网站| 穿长筒袜的有夫之妇hd中文| 国产一区二区女内射| 国产漂亮白嫩的美女| 国产精品视频h| japanese日本护士高潮| 成年性羞羞视频免费观看无限| 久久精品无码一区二区日韩av| 欧美成人免费全部| 亚洲色偷偷偷综合网| 精品久久久久久久免费加勒比| 国产va免费精品观看精品| 鲁不死色原网站| 国产激情精品一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲 | 国产亚洲成归v人片在线观看| 国产精品美女乱子伦高| avtom影院入口永久在线app|