國外知名策略-dual thrust分享 [開拓者 TB]
- 咨詢內容:
oliverzrl的老弟在一個貼子中提到他的股指系統是根據dual thrust系統為雛形,所以特意找了一下這個系統。
dual thrust是八幾年一個老外寫的,目前在自動化交易里應該還能排到前三吧。
這個系統核心相當簡單,我一直都相信越簡單越有效,而且作者的思想很有借鑒之處,為方便與大家分享,我重寫了一個TB版本。
原形很簡單,很多人經驗都比我豐富,一定能擴充不少,如加入止損,止贏,加入資金/風險管理,改成日內系統等,從而打造成為自己的一個利器。
寫在前面的話:
從看dual thrust的原形到重寫TB代碼,用時大概半小時,因為我本人是從事研發工作,代碼從構思開始就會首先考慮邏輯思維的嚴密和健壯性,但也很可能有疏忽之處,比如這個系統我就沒有加入漲跌停和最小幅度控制(我只想原汁原味重寫,其它的大家自己擴充吧),所以大家在提問的時候,不要先入為主的認為我會犯很多低級錯誤,一定要認真讀過代碼,并對TB機制有足夠的了解,這也是對我的尊重吧,坦白說,前幾次發分享系統,看到大家的回復,我有些失落。
另外:很多朋友通過QQ直接跟我溝通,因為本人用于維持生計的工作跟期貨沒任何關系,而且一直都很忙,寫系統時要么是在上班的時候忙里偷閑偷偷摸摸的寫上一段,要么就是利用休息時間,像重寫這個系統就是在凌晨3點多,所以很多留言和詢問我可能沒有時間去關注,碰到沒有回復的朋友,還請諒解。
如果以后有時間的話,我會再重寫一些MT4上比較有價值的策略和大家分享。 - TB技術人員:
dual thrust系統原形
- Inputs: K1(.5),K2(.5),Mday(1),Nday(1);
- Vars: BuyRange(0), SellRange(0);
- Vars: BuyTrig(0),SellTrig(0);
- Vars: HH(0),LL(0),HC(0),LC(0);
- If CurrentBar > 1 Then Begin
- HH = Highest(High,Mday);
- HC = Highest(Close,Mday);
- LL = Lowest(Low,Mday);
- LC = Lowest(Close,Mday);
- If (HH - LC) >= (HC - LL) Then Begin
- SellRange = HH - LC;
- End Else Begin
- SellRange = HC - LL;
- End;
- HH = Highest(High,Nday);
- HC = Highest(Close,Nday);
- LL = Lowest(Low,Nday);
- LC = Lowest(Close,Nday);
- If (HH - LC) >= (HC - LL) Then Begin
- BuyRange = HH - LC;
- End Else Begin
- BuyRange = HC - LL;
- End;
- BuyTrig = K1*BuyRange;
- SellTrig = K2*SellRange;
- If MarketPosition = 0 Then Begin
- Buy at Open of next bar + BuyTrig Stop;
- Sell at Open of next bar - SellTrig Stop;
- End;
- If MarketPosition = -1 Then Begin
- Buy at Open of next bar + Buytrig Stop;
- End;
- If MarketPosition = 1 Then Begin
- Sell at Open of next bar - SellTrig Stop;
- End;
- End;
- Inputs: K1(.5),K2(.5),Mday(1),Nday(1);
- TB客服:
本人重寫的TB源碼
轉載注明出處- //------------------------------------------------------------------------
- // 簡稱: dual_thrust
- // 名稱:
- // 類別: 公式應用
- // 類型: 用戶應用
- // 輸出: 穿堂風
- //------------------------------------------------------------------------
- Params
- Numeric K1(0.5);
- Numeric K2(0.5);
- Numeric Mday(1);
- Numeric Nday(1);
- Numeric lots(1);
- Numeric offset(0);
- Vars
- Numeric BuyRange(0);
- Numeric SellRange(0);
- Numeric BuyTrig(0);
- Numeric SellTrig(0);
- Numeric HH;
- Numeric LL;
- Numeric HC;
- Numeric LC;
- Numeric i_offset;
- Numeric BuyPosition;
- Numeric SellPosition;
- Begin
- If(CurrentBar > 44*Max(Mday,Nday))//使用的是5分鐘周期,其它的周期自己做相應修改
- {
- i_offset = offset*MinMove*PriceScale;
- 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))
- {
- SellRange = HH - LC;
- }
- Else
- {
- SellRange = HC - LL;
- }
- HH = Highest(HighD(1),Nday);
- HC = Highest(CloseD(1),Nday);
- LL = Lowest(LowD(1),Nday);
- LC = Lowest(CloseD(1),Nday);
- If((HH - LC) >= (HC - LL))
- {
- BuyRange = HH - LC;
- }
- Else
- {
- BuyRange = HC - LL;
- }
- BuyTrig = K1*BuyRange;
- SellTrig = K2*SellRange;
-
- BuyPosition = OpenD(0)+BuyTrig;
- SellPosition = OpenD(0)-SellTrig;
-
- PlotNumeric("BuyPosition",BuyPosition);
- PlotNumeric("SellPosition",SellPosition);
- If(MarketPosition == 0)
- {
- If(High>=BuyPosition)
- {
- Buy(lots,Max(Open,BuyPosition)+i_offset);
- Return;
- }
-
- If(Low<=SellPosition)
- {
- SellShort(lots,Min(Open,SellPosition)-i_offset);
- Return;
- }
- }
- If(MarketPosition == -1)
- {
- If(High>=BuyPosition)
- {
- Buy(lots,Max(Open,BuyPosition)+i_offset);
- Return;
- }
- }
- If(MarketPosition == 1)
- {
- If(Low<=SellPosition)
- {
- SellShort(lots,Min(Open,SellPosition)-i_offset);
- Return;
- }
- }
- }
- End
- //------------------------------------------------------------------------
- // 編譯版本 GS2010.12.08
- // 用戶版本 2011/07/24 02:14
- // 版權所有 穿堂風
- // 更改聲明 TradeBlazer Software保留對TradeBlazer平臺
- // 每一版本的TrabeBlazer公式修改和重寫的權利
- //------------------------------------------------------------------------
- //------------------------------------------------------------------------
- 網友回復:
RB 5分鐘周期
使用默認參數,未作優化
其它品種大家可以去試試
1.jpg (93.48 KB, 下載次數: 27) 2011-7-24 03:52:55 上傳 下載次數: 27
2.jpg (69.76 KB, 下載次數: 10) 2011-7-24 03:52:56 上傳 下載次數: 10
- 網友回復:
參數設置說明
3.jpg (40.65 KB, 下載次數: 7) 2011-7-24 03:57:13 上傳 下載次數: 7
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
相關文章
-
指定的模型還沒有相關內容!