国外知名策略-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
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
相关文章
-
指定的模型还没有相关内容!