標(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源碼
作者: 穿堂風(fēng) 時(shí)間: 2011-6-27 16:39 本帖最后由 穿堂風(fēng) 于 2011-6-27 17:28 編輯 TB源碼
作者: 穿堂風(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 過(guò)濾昨日波幅過(guò)小的情況,比如昨日一直停板,波動(dòng)為0,波幅太小沒(méi)有可操作性。 作者: kings425 時(shí)間: 2011-7-7 00:00 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]) 有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è)上下限。為啥上下限 ... 算法上可以自己去改,這個(gè)系統(tǒng)在SP上很有名,算法是根據(jù)SP的特性統(tǒng)計(jì)的,生搬可能不好,知道大致原理再引申吧. 作者: 穿堂風(fēng) 時(shí)間: 2011-7-13 12:32 群里一個(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 運(yùn)行一次startnow的值等于1吧?這時(shí)這個(gè)條件不滿足啊··· 作者: kings425 時(shí)間: 2011-7-19 09:21 startnow=startnow+1 作者: shijianxulie 時(shí)間: 3 天前 09:08 是個(gè)過(guò)濾器
|
|