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

國外知名策略-dual thrust策略源碼[開拓者公式]

 

 
  • 內容:
    dual thrust是八幾年一個老外寫的,目前在自動化交易里應該還能排到前三吧。
    這個系統核心相當簡單,我一直都相信越簡單越有效,而且作者的思想很有借鑒之處,為方便與大家分享,我重寫了一個TB版本。
    原形很簡單,很多人經驗都比我豐富,一定能擴充不少,如加入止損,止贏,加入資金/風險管理,改成日內系統等,從而打造成為自己的一個利器。

    寫在前面的話:
    從看dual thrust的原形到重寫TB代碼,用時大概半小時,因為我本人是從事研發工作,代碼從構思開始就會首先考慮邏輯思維的嚴密和健壯性,但也很可能有疏忽之處,比如這個系統我就沒有加入漲跌停和最小幅度控制(我只想原汁原味重寫,其它的大家自己擴充吧),所以大家在提問的時候,不要先入為主的認為我會犯很多低級錯誤,一定要認真讀過代碼,并對TB機制有足夠的了解,這也是對我的尊重吧,坦白說,前幾次發分享系統,看到大家的回復,我有些失落。

     
  • TB源碼
    1. //------------------------------------------------------------------------

    2. // 簡稱: dual_thrust

    3. // 名稱:

    4. // 類別: 公式應用

    5. // 類型: 用戶應用

    6. // 輸出: 穿堂風

    7. //------------------------------------------------------------------------

    8.  

    9.  

    10. Params

    11. Numeric K1(0.5);

    12. Numeric K2(0.5);

    13. Numeric Mday(1);

    14. Numeric Nday(1);

    15. Numeric lots(1);

    16. Numeric offset(0);

    17.  

    18. Vars

    19. Numeric BuyRange(0);

    20. Numeric SellRange(0);

    21. Numeric BuyTrig(0);

    22. Numeric SellTrig(0);

    23. Numeric HH;

    24. Numeric LL;

    25. Numeric HC;

    26. Numeric LC;

    27. Numeric i_offset;

    28. Numeric BuyPosition;

    29. Numeric SellPosition;

    30.  

    31. Begin

    32. If(CurrentBar > 44*Max(Mday,Nday))//使用的是5分鐘周期,其它的周期自己做相應修改

    33. {

    34.         i_offset = offset*MinMove*PriceScale;

    35.         HH = Highest(HighD(1),Mday);

    36.         HC = Highest(CloseD(1),Mday);

    37.         LL = Lowest(LowD(1),Mday);

    38.         LC = Lowest(CloseD(1),Mday);

    39.  

    40.         If((HH - LC) >= (HC - LL))

    41.         {

    42.                 SellRange = HH - LC;

    43.         }

    44.         Else

    45.         {

    46.                 SellRange = HC - LL;

    47.         }

    48.  

    49.         HH = Highest(HighD(1),Nday);

    50.         HC = Highest(CloseD(1),Nday);

    51.         LL = Lowest(LowD(1),Nday);

    52.         LC = Lowest(CloseD(1),Nday);

    53.  

    54.         If((HH - LC) >= (HC - LL))

    55.         {

    56.                 BuyRange = HH - LC;

    57.         }

    58.         Else

    59.         {

    60.                 BuyRange = HC - LL;

    61.         }

    62.  

    63.         BuyTrig = K1*BuyRange;

    64.         SellTrig = K2*SellRange;

    65.        

    66.         BuyPosition = OpenD(0)+BuyTrig;

    67.         SellPosition = OpenD(0)-SellTrig;

    68.        

    69.         PlotNumeric("BuyPosition",BuyPosition);

    70.         PlotNumeric("SellPosition",SellPosition);

    71.  

    72.         If(MarketPosition == 0)

    73.         {

    74.                 If(High>=BuyPosition)

    75.                 {

    76.                         Buy(lots,Max(Open,BuyPosition)+i_offset);

    77.                         Return;

    78.                 }

    79.                

    80.                 If(Low<=SellPosition)

    81.                 {

    82.                         SellShort(lots,Min(Open,SellPosition)-i_offset);

    83.                         Return;

    84.                 }

    85.         }

    86.  

    87.         If(MarketPosition == -1)

    88.         {

    89.                 If(High>=BuyPosition)

    90.                 {

    91.                         Buy(lots,Max(Open,BuyPosition)+i_offset);

    92.                         Return;

    93.                 }

    94.         }

    95.  

    96.         If(MarketPosition == 1)

    97.         {

    98.                 If(Low<=SellPosition)

    99.                 {

    100.                         SellShort(lots,Min(Open,SellPosition)-i_offset);

    101.                         Return;

    102.                 }

    103.         }

    104. }

    105. End

    106.  

    107. //------------------------------------------------------------------------

    108. // 編譯版本        GS2010.12.08

    109. // 用戶版本        2011/07/24 02:14

    110. // 版權所有        穿堂風

    111. // 更改聲明        TradeBlazer Software保留對TradeBlazer平臺

    112. //                        每一版本的TrabeBlazer公式修改和重寫的權利

    113. //------------------------------------------------------------------------

     

 

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

可聯系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!

 


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

相關文章

    沒有相關內容
  排列五千神机器人软件