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

歷史回測不能下單 [開拓者 TB]

  • 咨詢內容: 本帖最后由 wblsjhmxuhongbo 于 2018-11-20 17:27 編輯

    1分鐘圖上,根據信號下單和平倉。
    為確保1個bar只執行1次。我將所有代碼都放在如下的判斷語句中:
    If(T()<>GetGlobalVar(99))
    ? ? ? ? {
    ? ? ? ? ? ? ? ? SetGlobalVar(99,T());

    代碼根據信號下單:
    if(v_orient==1)
    ? ? ? ? {? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? Buy(1,0);
    ? ? ? ? ? ? ? ? XHBLog("buy","",v_programName,Date(),Time());
    ? ? ? ? }
    ? ? ? ? Else if(v_orient==-1)
    ? ? ? ? {? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? SellShort(1,0);
    ? ? ? ? ? ? ? ? XHBLog("sell","",v_programName,Date(),Time());
    ? ? ? ? }
    ? ? ? ? Else if(v_orient==0)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? Sell();
    ? ? ? ? ? ? ? ? BuyToCover();
    ? ? ? ? ? ? ? ? XHBLog("kill","",v_programName,Date(),Time());
    ? ? ? ? }

    日志顯示幾乎每分鐘都有交易:
    2018-11-20 09:01:00 TestOrder??:sell
    2018-11-20 09:02:00 TestOrder??:sell
    2018-11-20 09:03:00 TestOrder??:sell
    2018-11-20 09:04:00 TestOrder??:sell
    2018-11-20 09:05:00 TestOrder??:sell
    2018-11-20 09:06:00 TestOrder??:sell
    2018-11-20 09:07:00 TestOrder??:sell
    2018-11-20 09:08:00 TestOrder??:sell
    2018-11-20 09:09:00 TestOrder??:sell
    2018-11-20 09:10:00 TestOrder??:sell
    2018-11-20 09:11:00 TestOrder??:sell
    2018-11-20 09:12:00 TestOrder??:sell
    2018-11-20 09:13:00 TestOrder??:sell
    2018-11-20 09:14:00 TestOrder??:sell
    2018-11-20 09:15:00 TestOrder??:sell
    2018-11-20 09:16:00 TestOrder??:sell
    2018-11-20 09:17:00 TestOrder??:sell
    2018-11-20 09:18:00 TestOrder??:sell
    2018-11-20 09:19:00 TestOrder??:sell
    2018-11-20 09:20:00 TestOrder??:sell
    2018-11-20 09:21:00 TestOrder??:sell
    2018-11-20 09:22:00 TestOrder??:sell
    2018-11-20 09:23:00 TestOrder??:sell
    2018-11-20 09:24:00 TestOrder??:sell
    2018-11-20 09:25:00 TestOrder??:sell
    2018-11-20 09:26:00 TestOrder??:sell
    2018-11-20 09:27:00 TestOrder??:sell
    2018-11-20 09:28:00 TestOrder??:sell
    2018-11-20 09:29:00 TestOrder??:sell
    2018-11-20 09:30:00 TestOrder??:sell
    2018-11-20 09:31:00 TestOrder??:sell
    2018-11-20 09:32:00 TestOrder??:sell
    2018-11-20 09:33:00 TestOrder??:sell
    可是回測記錄全天卻只有4條:
    #? ? ? ? 公式應用? ? ? ? 類型? ? ? ? 商品? ? ? ? 建倉時間? ? ? ? 建倉價格? ? ? ? 平倉時間? ? ? ? 平倉價格? ? ? ? 數量? ? ? ? 交易成本
    1? ? ? ? TestOrder? ? ? ? 空頭? ? ? ? m1903? ? ? ? 2018/11/20 9:01? ? ? ? 3055? ? ? ? 2018/11/20 10:07? ? ? ? 3064? ? ? ? 1? ? ? ? 6
    2? ? ? ? TestOrder? ? ? ? 多頭? ? ? ? m1903? ? ? ? 2018/11/20 10:07? ? ? ? 3064? ? ? ? 2018/11/20 10:08? ? ? ? 3060? ? ? ? 1? ? ? ? 6
    3? ? ? ? TestOrder? ? ? ? 多頭? ? ? ? m1903? ? ? ? 2018/11/20 10:14? ? ? ? 3060? ? ? ? 2018/11/20 10:50? ? ? ? 3070? ? ? ? 1? ? ? ? 6
    4? ? ? ? TestOrder? ? ? ? 空頭? ? ? ? m1903? ? ? ? 2018/11/20 10:50? ? ? ? 3070? ? ? ? 2018/11/20 14:59? ? ? ? 3080? ? ? ? 1? ? ? ? 6

    也就是說,其中大部分下單信號都沒有執行。請高手指點,這到底是為什么?我理解歷史回測不是應該都能成交嗎?

    ?

    ?來源:CXH99.COM

  • TB技術人員: 本帖最后由 wblsjhmxuhongbo 于 2018-11-21 11:43 編輯

    我把源碼貼出來,請高手幫忙看下,這是什么原因。先不用管程序邏輯(大概邏輯是以同品種不同期合約價差(m1903-m1901)均線為參考依據,收盤價超過上限賣,低于下限買,否則平倉),我主要目的是用來了解下單函數的。現在的現象是,在信號變化的地方會下單,比如第一次出現buy信號時下單,其后連續的buy信號都不下單:

    //------------------------------------------------------------------------
    // 簡稱: TestOrder
    // 名稱: 測試下單函數
    // 類別: 公式應用
    // 類型: 用戶應用
    //------------------------------------------------------------------------

    Params
    Numeric MALength(100);
    ? ? ? ? Numeric FirstStep(50);//警戒線
    ? ? ? ? Numeric pBuyLots(1);
    ? ? ? ? numeric pStartDate(20181110);

    Vars

    string v_programName;
    ? ? ? ? NumericSeries ma;
    ? ? ? ? NumericSeries maQuick;
    ? ? ? ? NumericSeries CloseDif;
    ? ? ? ? numeric v_orient;

    ? ? ? ? numeric lv_lot;

    ? ? ? ? Numeric ShiftUnit(10);
    Begin
    ? ? ? ? if(Date()<pStartDate){return;}
    ? ? ? ?
    ? ? ? ? If(T()<>GetGlobalVar(99))
    ? ? ? ? {
    ? ? ? ? ? ? ? ? //利用全局變量,確保每個bar只執行一次
    ? ? ? ? ? ? ? ? SetGlobalVar(99,T());
    ? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? if (CurrentBar <MALength)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? return ;
    ? ? ? ? }
    ? ? ? ? v_programName="TestOrder";
    ? ? ? ?
    ? ? ? ? ? ? ? ? CloseDif=Data0.Close-Data1.Close;
    ? ? ? ? ? ? ? ? ma=Average( CloseDif, MALength );


    ? ? ? ? If(CloseDif>(ma+FirstStep))
    ? ? ? ? {
    ? ? ? ? ? ? ? ? //超過均線上限則賣出
    ? ? ? ? ? ? ? ? v_orient=-1;
    ? ? ? ? }
    ? ? ? ? else If(CloseDif<(ma-FirstStep))
    ? ? ? ? {
    ? ? ? ? ? ? ? ? //超過均線下限則買入
    ? ? ? ? ? ? ? ? v_orient=1;
    ? ? ? ? }
    ? ? ? ? Else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? //平倉
    ? ? ? ? ? ? ? ? v_orient=0;? ? ? ? ? ? ? ?
    ? ? ? ? }
    ? ? ? ?
    ? ? ? ? PlotNumeric("orient",v_orient);
    ? ? ? ?
    ? ? ? ? if(v_orient==1)
    ? ? ? ? {? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? Buy(1,0);
    ? ? ? ? ? ? ? ? //XHBLog("buy","",v_programName,Date(),Time());
    ? ? ? ? ? ? ? ? FileAppend("C:\\temp\\log.txt",DateToString(Date)+" "+TimeToString(Time)+" "+"buy");
    ? ? ? ? }
    ? ? ? ? Else if(v_orient==-1)
    ? ? ? ? {? ? ? ? ? ? ? ?
    ? ? ? ? ? ? ? ? SellShort(1,0);
    ? ? ? ? ? ? ? ? //XHBLog("sell","",v_programName,Date(),Time());
    ? ? ? ? ? ? ? ? FileAppend("C:\\temp\\log.txt",DateToString(Date)+" "+TimeToString(Time)+" "+"sell");
    ? ? ? ? }
    ? ? ? ? Else if(v_orient==0)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? Sell();
    ? ? ? ? ? ? ? ? BuyToCover();
    ? ? ? ? ? ? ? ? //XHBLog("kill","",v_programName,Date(),Time());
    ? ? ? ? ? ? ? ? FileAppend("C:\\temp\\log.txt",DateToString(Date)+" "+TimeToString(Time)+" "+"kill");
    ? ? ? ? }
    ? ? ? ? }
    End

    //------------------------------------------------------------------------
    // 編譯版本? ? ? ? GS2015.12.25
    // 用戶版本? ? ? ? 2018/10/22 12:16:33
    // 版權所有? ? ? ?
    // 更改聲明? ? ? ? TradeBlazer Software保留對TradeBlazer平臺
    //? ? ? ? ? ? ? ? ? ? ? ? 每一版本的TradeBlazer公式修改和重寫的權利
    //------------------------------------------------------------------------

    ?

  • TB客服:
    wblsjhmxuhongbo 發表于 2018-11-21 11:39
    我把源碼貼出來,請高手幫忙看下,這是什么原因。先不用管程序邏輯(大概邏輯是以同品種不同期合約價差(m1 ...

    同一個公式里面,系統默認是不能連續建倉的吧(我也不知道tb為什么要這樣設定)。在全局交易設置里面允許連續建倉試試?

    ?

  • 網友回復:
    colin10g 發表于 2018-11-21 13:01
    同一個公式里面,系統默認是不能連續建倉的吧(我也不知道tb為什么要這樣設定)。在全局交易設置里面允許 ...

    謝謝,正是這個原因!問題已解決!

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 成人毛片免费视频| 私人影院在线观看| 晚上睡不着正能量网址入口| 国产女人和拘做受视频免费| yy4080私人影院6080青苹果手机| 波多野结衣不卡| 国产精品久久久久久无毒不卡| 中国国语毛片免费观看视频| 杨玉环三级dvd| 人妻精品久久久久中文字幕| 苍井空浴缸大战猛男120分钟| 国产精品不卡在线| 中文字幕日韩精品有码视频| 欧美午夜理伦三级在线观看| 国产乱码精品一区二区三区四川人| 一个人看的www在线免费视频| 日韩在线视频观看| 内射白浆一区二区在线观看| 99re6这里有精品热视频在线| 欧洲吸奶大片在线看| 四虎永久精品免费观看| gogo免费在线观看| 欧美freesex10一13| 人间**电影8858| 色多多视频官网| 国产黄色app| 久久精品国产99久久久| 精品久久久久久国产潘金莲| 国产在线麻豆精品| 14又嫩又紧水又多| 天堂网2018| 中文字幕乱码人妻无码久久| 日韩电影免费观看| 免费传媒网站免费| 色狠狠久久av五月综合| 国产激情对白一区二区三区四| 中国内地毛片免费高清| 日韩美女拍拍免费视频网站| 免费观看性生活大片| jizz18高清视频| 悠悠在线观看精品视频|