- 精华
- 0
- 在线时间
- 59 小时
- UID
- 116726
- 积分
- 166
- 帖子
- 57
- 阅读权限
- 40
- 注册时间
- 2013-4-2
- 最后登录
- 2014-7-16
- 精华
- 0
- UID
- 116726
- 积分
- 166
- 帖子
- 57
- 主题
- 8
- 阅读权限
- 40
- 注册时间
- 2013-4-2
- 最后登录
- 2014-7-16
|
发表于 2013-4-12 13:19:27
|显示全部楼层
本帖最后由 米小兔 于 2013-4-12 13:21 编辑
修改:
1) 修正最后交易时间限制的bug;
2) 加上交易信号的文字注释;
3) 增加参数RangeRatio,振幅相对一开盘价达到一定值启用追踪止损;- //------------------------------------------------------------------------
- // 简称: ITF_Breakout_V1
- // 名称: 国贸期货上海营业部量化交易组客户QQ群:186100158
- // 类别: 公式应用
- // 类型: 用户应用
- // 输出:
- //------------------------------------------------------------------------
- Params
- Numeric Lots(1);
- Numeric TimesBreakout(1); //当天每个关键点位突破开仓次数;
- Numeric StopRatio(0.4); //追踪止损空间为当天振幅的倍数;
- Numeric RangeRatio(1); //振幅相对一开盘价达到一定值启用追踪止损;
- Numeric TimeBegin(9.05); //开盘至此时的高低点被突破开仓;
- Numeric TimeEnd(14.50); //最后交易时间;
- Numeric TimeExit(14.55); //收盘清仓时间;
- Numeric Offset(0); //滑价补偿;
- Vars
- NumericSeries DayHigh; //当天最高价;
- NumericSeries DayLow; //当天最低价;
- NumericSeries DayOpen; //当天开盘价;
- NumericSeries DayOpenHigh; //当天开盘后一定时间内的最高价;
- NumericSeries DayOpenLow; //当天开盘后一定时间内的最低价;
- NumericSeries DayHigh_1; //前一交易日最高价;
- NumericSeries DayLow_1; //前一交易日最低价;
- NumericSeries StopFollowingSpace; //追踪止损空间;
- NumericSeries DayRange; //当天振幅=DayHigh-DayLow;
- NumericSeries TimesBreakoutLong(0); //突破开多次数;
- NumericSeries TimesBreakoutShort(0); //突破开空次数;
- NumericSeries BarsDayHigh; //当天最高价bar的索引;
- NumericSeries BarsDayLow; //当天最低价bar的索引;
- Numeric MinPoint;
- Numeric MyPrice;
- Begin
- MinPoint = MinMove*PriceScale;
- //当天最高价最低价;
- If(Date!=Date[1])
- {
- DayHigh = High;
- DayLow = Low;
- DayOpen = Open;
- DayHigh_1 = DayHigh[1];
- DayLow_1 = DayLow_1[1];
- DayOpenHigh = DayHigh;
- DayOpenLow = DayLow;
- TimesBreakoutLong = 0;
- TimesBreakoutShort = 0;
- }
- else
- {
- DayHigh = Max(High,DayHigh[1]);
- DayLow = Min(Low,DayLow[1]);
- }
- If(Time<TimeBegin/100)
- {
- DayOpenHigh = DayHigh;
- DayOpenLow = DayLow;
- }
- // Commentary("DayHigh="+Text(DayHigh));
- // Commentary("DayLow="+text(DayLow));
- Commentary("DayOpenHigh="+Text(DayOpenHigh));
- Commentary("DayOpenLow="+Text(DayOpenLow));
-
- DayRange = DayHigh - DayLow; //当日振幅;
- StopFollowingSpace = DayRange[1]*StopRatio; //追踪止损空间;
-
- If(High>DayHigh[1])
- {
- BarsDayHigh = CurrentBar;
- }
- If(Low<DayLow[1])
- {
- BarsDayLow = CurrentBar;
- }
- //平仓2:追踪止损,回撤幅度达到当日振幅的0.382;
- If(BarsSinceEntry>0 and DayRange[1]/DayOpen>=RangeRatio/100)
- {
- //平多;
- If(Low<=DayHigh[1]-StopFollowingSpace and MarketPosition==1)
- {
- MyPrice = Min(Open,DayHigh[1]-StopFollowingSpace)-Offset*MinPoint;
- Sell(Lots,MyPrice);
- PlotString("追踪止损","追踪止损",High,White);
- }
- //平空;
- If(High>=DayLow[1]+StopFollowingSpace and MarketPosition==-1)
- {
- MyPrice = Max(Open,DayLow[1]+StopFollowingSpace)+Offset*MinPoint;
- BuyToCover(Lots,MyPrice);
- PlotString("追踪止损","追踪止损",High,White);
- }
- }
- //平仓3:反向开仓条件成立;
- If(High>DayOpenHigh[1] and MarketPosition==-1)
- {
- MyPrice = Max(Open,DayOpenHigh[1])+MinPoint;
- BuyToCover(Lots,MyPrice);
- PlotString("反向突破","反向突破",High,White);
- }
- if(Low<DayOpenLow[1] and MarketPosition==1)
- {
- MyPrice = Min(Open,DayOpenLow[1])-MinPoint;
- Sell(Lots,MyPrice);
- PlotString("反向突破","反向突破",High,White);
- }
-
- //开仓;
- If(Time>=TimeBegin/100 and time<=TimeEnd/100)
- {
- if(High>DayOpenHigh and TimesBreakoutLong<TimesBreakout and MarketPosition!=1)
- {
- MyPrice = Max(Open,DayOpenHigh)+MinPoint+Offset*MinPoint;
- Buy(Lots,MyPrice);
- TimesBreakoutLong = TimesBreakoutLong + 1;
- }
- if(Low<DayOpenLow and TimesBreakoutShort<TimesBreakout and MarketPosition!=-1)
- {
- MyPrice = Min(Open,DayOpenLow)-MinPoint-Offset*MinPoint;
- SellShort(Lots,MyPrice);
- TimesBreakoutShort = TimesBreakoutShort + 1;
- }
- }
- //平仓1:收盘清仓;
- If(Time>=TimeExit/100 and MarketPosition!=0)
- {
- If(MarketPosition==1)
- {
- Sell(Lots,Open-(Offset-1)*MinPoint);
- }
- If(MarketPosition==-1)
- {
- BuyToCover(Lots,Open+(Offset-1)*MinPoint);
- }
- }
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2010.12.08
- // 用户版本 2013/04/10 09:36
- // 版权所有
- // 更改声明 TradeBlazer Software保留对TradeBlazer平台
- // 每一版本的TrabeBlazer公式修改和重写的权利
- //------------------------------------------------------------------------
复制代码 |
|