小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

系統(tǒng)交易論壇 國(guó)外成熟策略R-Breaker分享

 hqsc88 2011-08-05


標(biāo)題: 國(guó)外成熟策略R-Breaker分享,提供翻譯后的TB源碼,日內(nèi)系統(tǒng) [打印本頁(yè)]

作者: 穿堂風(fēng)    時(shí)間: 2011-6-27 16:32     標(biāo)題: 國(guó)外成熟策略R-Breaker分享,提供翻譯后的TB源碼,日內(nèi)系統(tǒng)

本帖最后由 穿堂風(fēng) 于 2011-6-27 17:25 編輯

R-Breaker這個(gè)系統(tǒng),可能很多人比我熟悉,也更為了解,有錯(cuò)誤處還請(qǐng)諒解
另外我并沒(méi)實(shí)盤(pán)驗(yàn)證,在信號(hào)那加入了一個(gè)邏輯鎖,用于控制實(shí)盤(pán)時(shí)有信號(hào),但又不會(huì)多次滿足反復(fù)開(kāi)倉(cāng),這個(gè)邏輯鎖我很多系統(tǒng)都會(huì)有,實(shí)戰(zhàn)很好用。
作者: 穿堂風(fēng)    時(shí)間: 2011-6-27 16:35

先上TS源碼
  1. {R-Breaker}
  2. {***********SystemSetup*******************
  3. Trading between 9:15 and 14:29 ChicagoTime only
  4. MMStop $1000
  5. Close End of Day
  6. 10 min Time Frame
  7. ******************************************}


  8. input:notbef(715),notaft(1229);
  9. var:{input:}f1(.35),f2(0.07),f3(.25),reverse(2.00),
  10. rangemin(1.15),xdiv(3);

  11. var:ssetup(0),bsetup(0),senter(0),benter(0),bbreak(0),sbreak(0),
  12. ltoday(0),hitoday(9999),startnow(0),div(0),
  13. rfilter(false);


  14. if currentbar=1 then startnow=0;
  15. div=maxlist(xdiv,1);
  16. if d>d[1] then begin

  17. startnow=startnow+1;

  18. ssetup=hitoday[1]+f1*(c[1]-ltoday[1]);
  19. senter=((1+f2)/2)*(hitoday[1]+c[1])-(f2)*ltoday[1];
  20. benter=((1+f2)/2)*(ltoday[1]+c[1])-(f2)*hitoday[1];
  21. bsetup=ltoday[1]-f1*(hitoday[1]-c[1]);
  22. bbreak=ssetup+f3*(ssetup-bsetup){(1.3625*hitoday[1]+.45*c[1])-.8125*ltoday[1]};
  23. sbreak=bsetup-f3*(ssetup-bsetup){(1.3625*ltoday[1]+.45*c[1])-.8125*hitoday[1]};

  24. hitoday=h;
  25. ltoday=l;

  26. rfilter=hitoday[1]-ltoday[1]>=rangemin;

  27. end;

  28. if h>hitoday then hitoday=h;
  29. if l<ltoday then ltoday=l;

  30. if t>=notbef and t<notaft and startnow>=2 and rfilter and
  31. date>entrydate(1) then begin

  32. if hitoday>=ssetup and marketposition>-1 then
  33. SELL("Rlev SE") senter+(hitoday-ssetup)/div stop;
  34. if ltoday<=bsetup and marketposition<1 then
  35. BUY("Rlev LE") benter-(bsetup-ltoday)/div stop;

  36. if marketposition=-1 then
  37. BUY("RbUP LE") entryprice+reverse stop;
  38. if marketposition=1 then
  39. SELL("RbDN SE") entryprice-reverse stop;

  40. if marketposition=0 then
  41. BUY("Break LE") bbreak stop;
  42. if marketposition=0 then
  43. SELL("Break SE") sbreak stop;

  44. end;

  45. if t>=notaft and t<>sess1endtime then begin

  46. if marketposition=-1 then
  47. EXITSHORT("RbUP SX") entryprice+reverse stop;
  48. if marketposition=1 then
  49. EXITLONG("RbDN LX") entryprice-reverse stop;

  50. EXITSHORT("Late SX") h+.05 stop;
  51. EXITLONG("Late LX") l-.05 stop;
  52. END;
復(fù)制代碼

作者: 穿堂風(fēng)    時(shí)間: 2011-6-27 16:39

本帖最后由 穿堂風(fēng) 于 2011-6-27 17:28 編輯

TB源碼
  1. //------------------------------------------------------------------------
  2. // 簡(jiǎn)稱: R_Breaker
  3. // 名稱:
  4. // 類別: 公式應(yīng)用
  5. // 類型: 用戶應(yīng)用
  6. // 輸出: 穿堂風(fēng)
  7. //------------------------------------------------------------------------

  8. /*R-Breaker*/


  9. Params
  10. Numeric notbef(9.00);
  11. Numeric notaft(14.55);
  12. Numeric f1(0.35);
  13. Numeric f2(0.07);
  14. Numeric f3(0.25);
  15. Numeric reverse(1.00);
  16. Numeric rangemin(0.2);
  17. Numeric xdiv(3);

  18. Vars
  19. NumericSeries ssetup(0);
  20. NumericSeries bsetup(0);
  21. NumericSeries senter(0);
  22. NumericSeries benter(0);
  23. NumericSeries bbreak(0);
  24. NumericSeries sbreak(0);
  25. NumericSeries ltoday(0);
  26. NumericSeries hitoday(9999);
  27. NumericSeries startnow(0);
  28. NumericSeries div(0);
  29. BoolSeries rfilter(false);
  30. Numeric i_reverse;
  31. Numeric i_rangemin;
  32. Numeric i_vB;
  33. Numeric i_vS;

  34. Begin
  35. i_reverse = reverse*(OpenD(0)/100);
  36. i_rangemin = rangemin*(OpenD(0)/100);
  37. if(BarStatus==0)
  38. {
  39.         startnow=0;
  40.         div=max(xdiv,1);
  41. }

  42. if(Date != Date[1])
  43. {
  44.         SetGlobalVar(0,0);
  45.         SetGlobalVar(1,0);
  46.         startnow=startnow+1;
  47.         ssetup=hitoday[1]+f1*(Close[1]-ltoday[1]);
  48.         senter=((1+f2)/2)*(hitoday[1]+Close[1])-(f2)*ltoday[1];
  49.         benter=((1+f2)/2)*(ltoday[1]+Close[1])-(f2)*hitoday[1];
  50.         bsetup=ltoday[1]-f1*(hitoday[1]-Close[1]);
  51.         bbreak=ssetup+f3*(ssetup-bsetup);
  52.         sbreak=bsetup-f3*(ssetup-bsetup);

  53.         hitoday=High;
  54.         ltoday=Low;

  55.         rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;
  56. }

  57. if(High>hitoday)
  58. {
  59.         hitoday=High;
  60. }
  61. if(Low<ltoday)
  62. {
  63.         ltoday=Low;
  64. }
  65. if(Time*100>=notbef and Time*100<notaft and startnow>=2 and rfilter)
  66. {

  67.         if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
  68.         {
  69.                 SetGlobalVar(1,10000);
  70.         }
  71.         if(hitoday>=ssetup and marketposition>-1 and GetGlobalVar(1)<1)
  72.         {
  73.                 If(Low<=(senter+(hitoday-ssetup)/div))
  74.                 {
  75.                         SellShort(1,senter+(hitoday-ssetup)/div);
  76.                         SetGlobalVar(1,Time);
  77.                         Return;
  78.                 }
  79.         }
  80.         if(ltoday<=bsetup and marketposition<1  and GetGlobalVar(1)<1)
  81.         {
  82.                 If(High>=(benter-(bsetup-ltoday)/div))
  83.                 {
  84.                         Buy(1,benter-(bsetup-ltoday)/div);
  85.                         SetGlobalVar(1,Time);
  86.                         Return;
  87.                 }
  88.         }

  89.         if(marketposition==-1)
  90.         {
  91.                 SetGlobalVar(0,1);
  92.                 if(High-EntryPrice>=i_reverse)
  93.                 {
  94.                         BuyToCover(1,entryprice+i_reverse);
  95.                         Return;
  96.                 }
  97.         }
  98.         if(marketposition==1)
  99.         {
  100.                 SetGlobalVar(0,1);
  101.                 if(EntryPrice-Low>=i_reverse)
  102.                 {
  103.                         Sell(1,entryprice-i_reverse);
  104.                         Return;
  105.                 }
  106.         }

  107.         if(marketposition==0)
  108.         {
  109.                 if(High>=bbreak and GetGlobalVar(0) == 0)
  110.                 {
  111.                         Buy(1,bbreak);
  112.                         Return;
  113.                 }
  114.         }
  115.         if(marketposition==0)
  116.         {
  117.                 if(low<=sbreak  and GetGlobalVar(0) == 0)
  118.                 {
  119.                         SellShort(1,sbreak);
  120.                         Return;
  121.                 }
  122.         }

  123. }

  124. if(Time*100>=notaft and Time<0.1600)
  125. {

  126.         if(marketposition==-1)
  127.         {
  128.                 BuyToCover(1,Open);
  129.         }
  130.         if(marketposition==1)
  131.         {
  132.                 Sell(1,Open);
  133.         }

  134. }
  135. End

  136. //------------------------------------------------------------------------
  137. // 編譯版本        GS2010.12.08
  138. // 用戶版本        2011/06/27 14:29
  139. // 版權(quán)所有       
  140. // 更改聲明        TradeBlazer Software保留對(duì)TradeBlazer平臺(tái)
  141. //                        每一版本的TrabeBlazer公式修改和重寫(xiě)的權(quán)利
  142. //------------------------------------------------------------------------
復(fù)制代碼

作者: 穿堂風(fēng)    時(shí)間: 2011-6-27 16:43

這個(gè)系統(tǒng)本身是用在SP上,多次出現(xiàn)在實(shí)盤(pán)賽的前列。
我覺(jué)得這個(gè)系統(tǒng)的構(gòu)架和思維非常好,直接拿著套國(guó)內(nèi)商品可能表現(xiàn)很差,不過(guò)大家能看到這個(gè)系統(tǒng)的核心思想就足夠了,可以借鑒。
作者: 穿堂風(fēng)    時(shí)間: 2011-6-27 16:51

忘了說(shuō)了,得用TB V4,要不V3的系列值傳遞那還得接力一下。
作者: bluefox    時(shí)間: 2011-6-27 16:52

牛人啊  。。。。。。。。。。。
作者: 趨勢(shì)跟蹤    時(shí)間: 2011-6-27 18:22

謝謝樓主分享好的交易思路,頂!
作者: 祈人    時(shí)間: 2011-6-28 09:07

最好有注釋,照顧下低水平的同學(xué)
作者: 穿堂風(fēng)    時(shí)間: 2011-6-28 13:04

根據(jù)昨日波幅算出幾個(gè)區(qū)間
突破上區(qū)間,做多
破下區(qū)間,做空
做多后,回撤至次上區(qū)間,則認(rèn)為假突破,反手
做空類似
收盤(pán)前平倉(cāng),notaft(14.55)設(shè)置為14.55為出場(chǎng)時(shí)間,14點(diǎn)55分,適用1分鐘和5分鐘周期,其它周期自己手動(dòng)修改參數(shù)
作者: forfree    時(shí)間: 2011-6-28 17:41

rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;

這句是什么意思?
作者: 穿堂風(fēng)    時(shí)間: 2011-6-28 18:05

rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;

這句是什么意思?
forfree 發(fā)表于 2011-6-28 17:41



    過(guò)濾昨日波幅過(guò)小的情況,比如昨日一直停板,波動(dòng)為0,波幅太小沒(méi)有可操作性。
作者: kings425    時(shí)間: 2011-7-7 00:00

rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;

這句是什么意思?
forfree 發(fā)表于 2011-6-28 17:41


Rfilter=   這是個(gè)開(kāi)關(guān),用來(lái)判斷

(hitoday[1]-ltoday[1])>=i_rangemin;  過(guò)濾掉最高價(jià)減去最低價(jià)減值小于i_rangemin
作者: selffinder    時(shí)間: 2011-7-8 14:53

請(qǐng)問(wèn),V4中還有opend這個(gè)函數(shù)嗎,沒(méi)找到啊
作者: selffinder    時(shí)間: 2011-7-8 15:58

if(Date != Date[1])
{....
startnow=startnow+1;
.....}
.....
if(Time*100>=notbef and Time*100<notaft and  startnow>=2  and rfilter)
我的問(wèn)題是,對(duì)于日內(nèi)交易的話,滿足Date != Date[1]條件的不就是當(dāng)天開(kāi)盤(pán)那根K線嗎,那么startnow=startnow+1只能執(zhí)行一次。后面startnow>=2的條件怎么能滿足呢??求解答?。?hr color="#808080" noshade="noshade" size="2" width="100%"> 作者: 穿堂風(fēng)    時(shí)間: 2011-7-8 18:15

if(Date != Date[1])
{....
startnow=startnow+1;
.....}
.....
if(Time*100>=notbef and Time*100=2  and  ...
selffinder 發(fā)表于 2011-7-8 15:58



    有opend;
這塊主要是保持原有系統(tǒng)框架,運(yùn)行一次也會(huì)滿足,大于等于2,等于2也成立啊.
作者: freetiger    時(shí)間: 2011-7-9 11:06

如果論壇多些穿堂風(fēng)這樣的大俠,TB會(huì)普及得快了。謝謝分享!
作者: 紅永    時(shí)間: 2011-7-9 15:35

鼎興俱樂(lè)部也頂一個(gè)
作者: speed_fj    時(shí)間: 2011-7-10 19:26

就是RB加個(gè)反手吧
作者: selffinder    時(shí)間: 2011-7-10 22:02

謝謝穿堂風(fēng)大俠,后來(lái)我想了想是可以的。一個(gè)界面不一定就只顯示一天的k線。
作者: cntxp    時(shí)間: 2011-7-11 19:38

本帖最后由 cntxp 于 2011-7-11 19:40 編輯

頂了再學(xué)
謝lz
lz在哪看的策略
作者: selffinder    時(shí)間: 2011-7-13 10:28

問(wèn)一個(gè)細(xì)節(jié)性的問(wèn)題,我想該模型就是利用前天的最高、最低、和收盤(pán)來(lái)確定今天交易的兩個(gè)上下限。為啥上下限要通過(guò)程序中的那種方式確定呢,有什么統(tǒng)計(jì)學(xué)優(yōu)勢(shì)沒(méi)有。還有穿堂風(fēng)大蝦,這個(gè)程序的參數(shù)設(shè)定原來(lái)是用在哪個(gè)品種上的呀?用股指5分鐘測(cè)了一下,效果不好
作者: 穿堂風(fēng)    時(shí)間: 2011-7-13 12:31

問(wèn)一個(gè)細(xì)節(jié)性的問(wèn)題,我想該模型就是利用前天的最高、最低、和收盤(pán)來(lái)確定今天交易的兩個(gè)上下限。為啥上下限 ...
selffinder 發(fā)表于 2011-7-13 10:28



    算法上可以自己去改,這個(gè)系統(tǒng)在SP上很有名,算法是根據(jù)SP的特性統(tǒng)計(jì)的,生搬可能不好,知道大致原理再引申吧.
作者: 穿堂風(fēng)    時(shí)間: 2011-7-13 12:32

頂了再學(xué)
謝lz
lz在哪看的策略
cntxp 發(fā)表于 2011-7-11 19:38



    群里一個(gè)人提供的,他叫來(lái)刀刀,我翻成了TB
作者: selffinder    時(shí)間: 2011-7-15 16:06

根據(jù)R_breaker模型做了些修改,但運(yùn)行時(shí)開(kāi)倉(cāng)與我的意思不同,比如很多時(shí)候都是在剛開(kāi)盤(pán)就建倉(cāng),但我的意思是想當(dāng)其價(jià)格突破前日波動(dòng)幅度后建倉(cāng)。不知道程序哪里出了錯(cuò)誤。請(qǐng)各路大蝦特別是穿堂風(fēng)幫忙診斷一下。程序如下:
Params
        Numeric PercentOfRange1(0.5);
                Numeric PercentOfRange2(0.4);//突破參數(shù)N
        Numeric ExitOnCloseMins(14.45);//平倉(cāng)時(shí)間
        Numeric MinRange(0.004);//最小Range - 0.2%
        Numeric LastTradeMins(14.00);//最后交易時(shí)間
        Numeric BeginTradeMins(9.00);
        Numeric Lots(1);
               Numeric reverse(0.01);
               
               
Vars
        NumericSeries DayOpen;
                NumericSeries hightoday;
                NumericSeries lowtoday;
        NumericSeries preDayRange;
                   Numeric MaxProfit;
                Numeric UpperBand1;
                Numeric UpperBand2;
        Numeric LowerBand1;
                Numeric LowerBand2;
        Numeric MyPrice;
             Numeric i_reverse;
               
               
Begin
        i_reverse=reverse*OpenD(0)/100;
                       
               
        If(Date != Date[1])      
                {
                        //startnow=startnow+1;
                                DayOpen = OpenD(0);
                preDayRange = HighD(1) - LowD(1);
                //如果昨日振幅過(guò)小,則取設(shè)置的最小振幅
                preDayRange = max(preDayRange, DayOpen* MinRange);
                                UpperBand1= DayOpen + preDayRange* PercentOfRange1;
                                UpperBand2= DayOpen + preDayRange* PercentOfRange2;
                            LowerBand1 = Dayopen - preDayRange * PercentOfRange1;
                                LowerBand2 = Dayopen - preDayRange * PercentOfRange2;
                                hightoday=High;
                                lowtoday=low;
        }
                Else
       
        {
        DayOpen=DayOpen[1];
        preDayRange=preDayRange[1];
        If(High>hightoday)
        {
        hightoday=High;
        }
        If(Low<lowtoday)
        {
        lowtoday=low;
        }
               
                        }      
      
        //未開(kāi)倉(cāng)時(shí),判斷是否需要開(kāi)倉(cāng)
        if(MarketPosition == 0){
                //多頭開(kāi)倉(cāng)
                If(High >= UpperBand1 && Time < LastTradeMins / 100)
                                {
                                         MyPrice= max(UpperBand1 , open);
                        Buy(Lots,MyPrice);
                                       
                                                Return;
                                               
                    
                }
               
                //空頭開(kāi)倉(cāng)
                If(Low <= LowerBand1 && Time < LastTradeMins/100)
                                {
                        MyPrice=min(LowerBand1,open);
                                                Sellshort(Lots, MyPrice);
                                       
                                                Return;
                     
                                       
                }
                If(hightoday>=UpperBand2 And hightoday<UpperBand1 )
                {
                if(low<=Dayopen+preDayRange* PercentOfRange2*0.618)
                {
                SellShort(1,Dayopen+(UpperBand2-Dayopen)*0.618);
                Return;
                }
                }
                If(lowtoday<=LowerBand2 And LowerBand1<lowtoday )
                {
                if(High>=Dayopen-(Dayopen-LowerBand2)*0.618)
                {
                Buy(1,Dayopen-(Dayopen-LowerBand2)*0.618);
                Return;
                }
                }
                                }
        

        //多頭止損
        If(MarketPosition == 1){
              If(EntryPrice-low>=preDayRange*0.618)
                          {                                   
                        Sell(Lots,Min(EntryPrice-preDayRange,low));
                                                Return;
                }
        }

        //空頭止損
        If(MarketPosition == -1){               
                If(High-EntryPrice>=preDayRange){
                     
                        BuyToCover(Lots, Max(EntryPrice+preDayRange,High));
                                                Return;
                }
        }
               
               
               
        //收盤(pán)平倉(cāng)
        If(Time >= ExitOnCloseMins / 100){
                Sell(Lots, Close);
                BuyToCover(Lots,Close);
        }
               

     
End
作者: ww123    時(shí)間: 2011-7-17 12:14

最好有注釋,照顧下低水平的同學(xué)
作者: jlwangsdu    時(shí)間: 2011-7-18 10:20

有opend;
這塊主要是保持原有系統(tǒng)框架,運(yùn)行一次也會(huì)滿足,大于等于2,等于2也成立啊. ...
穿堂風(fēng) 發(fā)表于 2011-7-8 18:15


運(yùn)行一次startnow的值等于1吧?這時(shí)這個(gè)條件不滿足啊···
作者: kings425    時(shí)間: 2011-7-19 09:21

startnow=startnow+1
作者: shijianxulie    時(shí)間: 3 天前 09:08

是個(gè)過(guò)濾器




歡迎光臨 系統(tǒng)交易論壇 - 開(kāi)拓者期貨自動(dòng)交易平臺(tái) (http://www./forum/) Powered by Discuz! 7.2

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多