人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

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

【系統CODE】一個可實盤交易的系統 [開拓者 TB]

  • 咨詢內容: maharaj發自海洋論壇
    尋TB的編碼,現將原貼附上,看大家是否可幫他的忙:

    一直做美盤,最近對國內期貨有些興趣,買了些數據來做測試。發現有一個系統在白糖上不錯。這個系統是 Michael Chalek 在80 年代開發的 Dual Thrust。基本原理很簡單,描述出來如下,這樣不懂編程的人都可以明白:

    1. 在今天的收盤,計算兩個值: 最高價-收盤價, 和 收盤價-最低價。然后取這兩個值較大的那個,乘以k值0.7。把結果稱為 觸發值。

    2. 在明天的開盤,記錄開盤價,然后在價格超過(開盤+觸發值)時馬上買入,或者價格低于(開盤-觸發值)時馬上賣空。

    3. 沒有明確止損。這個系統是反轉系統,也就是說,如果在價格超過(開盤+觸發值)時手頭有一口空單,則買入兩口。同理,如果在價格低于(開盤-觸發值)時手上有一口多單,則賣出兩口。

    我用TradeStation測試的結果如下:

    測試條件: 一口合約,已減去交易費用50元
    時期: 2006-1-6 (白糖開始交易)至 2009-1-8
    交易次數: 249
    勝率: 48.59%
    平均贏利: 223.17元
    最大連虧: 5880 元

    這是資金曲線圖:


    要求不高的話,這已經是一個可以投入實盤交易的系統了。k是唯一的參數,在大范圍內變動(0.5-1.1)時,系統贏利都不錯。有興趣的同好可以試驗各種濾網,看哪種濾網能顯著提高績效。如果有時間,我會在其他的品種上都測試一下。

    因為交易美盤,我沒法人工交易國內期貨。哪位朋友可以編出TB的代碼,或者有自動交易的建議,請告訴我一下。謝謝。

    [ 本帖最后由 一朵祥云 于 2009-1-31 22:08 編輯 ]

     

  • TB技術人員:
    1. Params
    2. numeric K(0.7);
    3. Vars
    4. numeric Spreadvalue;
    5. numericseries daynum;
    6. Begin
    7. spreadvalue=max(closed(1)-LowD(1),highd(1)-closed(1));
    8. if(barstatus==0)
    9. {
    10.   daynum=0;
    11. }else if(barstatus==1 and day!=day[1])
    12. {
    13.   daynum=daynum+1;
    14. }Else
    15. {
    16.   daynum=daynum[1];
    17. }
    18. if(daynum>0)
    19.   {
    20.    if(high>opend(0)+K*spreadvalue)
    21.     {
    22.      buy(0,min(opend(0)+K*spreadvalue+2*minmove*pricescale,high));
    23.     }
    24.    if(low<opend(0)-K*spreadvalue)
    25.     {
    26.      sellshort(0,max(opend(0)-k*spreadvalue-2*minmove*pricescale,low));
    27.     }
    28.   }
    29. end
    復制代碼

     

  • TB客服: 感謝孤舟騎浪的分享!大家可以在不同品種和周期上回測一下,發現了什么?

    歡迎繼續積極討論完善思路和實現辦法!

     

  • 網友回復: 以下是海洋論壇TTL所發,zzhang朋友編寫的TB代碼:
    原帖及相關討論可見http://www.hylt.net/vb/showthread.php?t=18385&page=2

    Params
    Numeric K1(0.5);
    Numeric K2(0.5);
    Numeric Mday(1);
    Numeric lots(1); //交易手數

    Vars
    Numeric BuyRange(0);
    Numeric SellRange(0);
    Numeric BuyTrig(0);
    Numeric SellTrig(0);
    Numeric HH(0);
    Numeric LL(0);
    Numeric HC(0);
    Numeric LC(0);
    Begin
    HH = Highest(HighD(1),Mday);
    HC = Highest(CloseD(1),Mday);
    LL = Lowest(LowD(1),Mday);
    LC = Lowest(CloseD(1),Mday);

    If((HH - LC) >= (HC - LL)) BuyRange = HH - LC;
    else BuyRange = HC - LL;

    SellRange=BuyRange;

    BuyTrig = K1*BuyRange;
    SellTrig = K2*SellRange;

    If(MarketPosition !=1 && High>=(OpenD(0)+BuyTrig)) Buy(lots,OpenD(0)+BuyTrig); // 多頭建倉
    If(MarketPosition !=-1 && Low<=(OpenD(0)-SellTrig)) SellShort(lots,OpenD(0)-SellTrig); // 空頭建倉

    End

    [ 本帖最后由 一朵祥云 于 2009-1-20 16:02 編輯 ]

     

  • 網友回復: 經過仔細研究,加了一點東西,但感覺還是沒什么作用。或許交易的本質就是用非常大的資金,非常小的頭寸,非常多的正期望值的系統,分散非常多的市場,最終忽略局部的小得失,而整體上實現了盈利。小資金和單系統,需有很好的運氣(技巧性改善,就是要有堅強的耐性,等到連續虧損次數遠遠大于概率之外時介入,還有一丁點希望)。
    1. Params
    2. numeric K(0.7);
    3. Vars
    4. numeric Spreadvalue;
    5. numericseries daynum;
    6. boolseries btrailing(false);
    7. Begin
    8. btrailing=btrailing[1];
    9. spreadvalue=max(closed(1)-LowD(1),highd(1)-closed(1));
    10. if(barstatus==0)
    11. {
    12.   daynum=0;
    13. }else if(barstatus==1 and day!=day[1])
    14. {
    15.   daynum=daynum+1;
    16. }Else
    17. {
    18.   daynum=daynum[1];
    19. }
    20. if(daynum>0 and spreadvalue>20*minmove*pricescale)
    21.   {
    22.    if(marketposition!=1 and high>opend(0)+K*spreadvalue)
    23.     {
    24.      btrailing=false;
    25.      buy(0,min(opend(0)+K*spreadvalue+2*minmove*pricescale,high));
    26.      setglobalvar(0,opend(0));
    27.      setglobalvar(1,avgentryprice-OpenD(0));
    28.     }
    29.    if(marketposition!=-1 and low<opend(0)-K*spreadvalue)
    30.     {
    31.      btrailing=false;
    32.      sellshort(0,max(opend(0)-k*spreadvalue-2*minmove*pricescale,low));
    33.      setglobalvar(0,opend(0));
    34.      setglobalvar(1,opend(0)-avgentryprice);
    35.     }
    36.   }
    37. if(marketposition==1)
    38.   {
    39.    if(low<getglobalvar(0))
    40.     {
    41.      sell(0,getglobalvar(0)-2*minmove*pricescale);
    42.     }
    43.    if(high>AvgEntryPrice+3*getglobalvar(1))
    44.     {
    45.      btrailing=true;
    46.     }
    47.    if(btrailing==true and low<highest(high,barssinceentry)-2*getglobalvar(1))
    48.     {
    49.      sell(0,max(highest(high,barssinceentry)-2*getglobalvar(1)-2*minmove*pricescale,low));
    50.     }
    51.   }
    52. if(marketposition==-1)
    53.   {
    54.    if(high>getglobalvar(0))
    55.     {
    56.      buytocover(0,getglobalvar(0)+2*minmove*pricescale);
    57.     }
    58.    if(low<AvgEntryPrice-3*getglobalvar(1))
    59.     {
    60.      btrailing=true;
    61.     }
    62.    if(btrailing==true and high>lowest(low,barssinceentry)+2*getglobalvar(1))
    63.     {
    64.      buytocover(0,min(lowest(low,barssinceentry)+2*getglobalvar(1)+2*minmove*pricescale,high));
    65.     }
    66.   }
    67. Commentary("單手虧損量"+text(K*spreadvalue*ContractUnit/pricescale)+"元。");
    68. end
    復制代碼

 

如果以上指標公式不適用于您常用的行情軟件

或者您想改編成選股公式,以便快速選出某種形態個股的話,

可以聯系我們相關技術人員 QQ: 262069696  點擊在線交流進行 有償 改編!

 


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

相關文章

    沒有相關內容
主站蜘蛛池模板: yy6080网午夜毛片一级 | 欧美成人高清在线视频大全 | 波多野结衣一级视频 | 三级黄色一级视频 | 国产高清精品自在久久 | 青青草国产97免久久费观看 | 日韩欧美不卡一区二区三区 | 在线视免费频观看韩国aaa | 成人高清在线观看 | 曰本a| 制服丝袜在线一区 | video性free亚洲高清 | 福利网址在线观看 | 天天舔天天摸 | 国产制服| 最近中文字幕在线看免费视频 | 最近的中文字幕2019更新 | 在线观看欧美国产 | 日韩中文精品亚洲第三区 | 一区二区在线不卡 | 欧美二区视频 | 国产中文久久精品 | 日韩成人在线影院 | 亚洲综合天堂网 | 国产精品香蕉一区二区三区 | 啪啪一级 | 成年男女男免费视频网站不卡 | 欧美人成网站免费大全 | 国产高清一区二区 | 中文字幕日本不卡一二三区 | 一本色道久久综合亚洲精品高清 | 国产剧情一区二区三区 | 天天舔天天射天天操 | 亚洲欧美精品综合中文字幕 | 最新99国产成人精品视频免费 | 久草中文在线观看 | 天天在线欧美精品免费看 | 日韩亚洲人成网站在线播放 | 国产精品国产三级国产无毒 | 99re视频这里只有精品 | 国产一区二区三区在线观看免费 |