交易开拓者——螺纹钢、PTA、豆粕、SR自动交易(CL_RedRover_L和CL_RedRover_S策略,CL_DisplacedBoll_*,CL_Traffic_Jam_*)

//------------------------------------------------------------------------
// 简称: CL_DisplacedBoll_L 
// 名称: 基于平移布林通道的系统多
// 类别: 公式应用 
// 类型: 内建应用
// 输出:
//------------------------------------------------------------------------


//----------------------------------------------------------------------//
// 策略说明:
// 			基于平移的boll通道突破系统
//
// 系统要素:
// 			1. 平移的boll通道
//
// 入场条件:
// 			1、关键价格突破通道上轨,则开多仓
//			2、关键价格突破通道下轨,则开空仓
//
// 出场条件:
// 			1、关键价格突破通道上轨,则平空仓
//			2、关键价格突破通道下轨,则平多仓
//
//    注:当前策略仅为做多系统, 如需做空, 请参见CL_DisplacedBoll_S
//
//----------------------------------------------------------------------//

Params
	Numeric AvgLen(3);  					//boll均线周期参数
	Numeric Disp(16);   					//boll平移参数
	Numeric SDLen(12);  					//boll标准差周期参数
	Numeric SDev(2);    					//boll通道倍数参数
	
Vars
	Numeric Price;            		    	//关键价格
    NumericSeries AvgVal(0);     			//中轨
	NumericSeries SDmult(0) ;    			//通道距离
	NumericSeries DispTop(0);    			//通道高点
	NumericSeries DispBottom(0); 			//通道低点
	Numeric MinPoint;	         			//最小变动价位
	
Begin
	// 集合竞价和小节休息过滤
	If(!CallAuctionFilter()) Return;
	
	//指标计算
    MinPoint = MinMove*PriceScale;  		//最小变动价位
	Price = Close;                    		//关键价格
	
	//平移boll通道计算
	AvgVal = Average(Price,AvgLen);        
	SDmult = StandardDev(Price,SDLen,2)*SDev;
	DispTop = AvgVal[Disp] + SDmult;
	DispBottom = AvgVal[Disp] - SDmult;

	// PlotNumeric("DispTop",DispTop);
	
	//系统入场
	If(MarketPosition == 0)
	{
		If(High >= DispTop[1])
		{
			Buy(0,Max(Open,DispTop[1]));
		}
	}
		
	//系统出场
	If(MarketPosition == 1 and BarsSinceEntry > 0)
	{
		If(Low <= DispBottom[1])
		{
			Sell(0,Min(Open,DispBottom[1])); 
		}
	}

End

//------------------------------------------------------------------------
// 编译版本	GS2014.10.25
// 版权所有	TradeBlazer Software 2003-2014
// 更改声明	TradeBlazer Software保留对TradeBlazer平
//			台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
//------------------------------------------------------------------------
// 简称: CL_DisplacedBoll_S 
// 名称: 基于平移布林通道的系统空 
// 类别: 公式应用 
// 类型: 内建应用
// 输出:
//------------------------------------------------------------------------
 

//----------------------------------------------------------------------//
// 策略说明:
// 			基于平移的boll通道突破系统
//
// 系统要素:
// 			1. 平移的boll通道
//
// 入场条件:
// 			1、关键价格突破通道上轨,则开多仓
//			2、关键价格突破通道下轨,则开空仓
//
// 出场条件:
// 			1、关键价格突破通道上轨,则平空仓
//			2、关键价格突破通道下轨,则平多仓
//
//    注:当前策略仅为做空系统, 如需做多, 请参见CL_DisplacedBoll_L
//
//----------------------------------------------------------------------//

Params
	Numeric AvgLen(3);  					//boll均线周期参数
	Numeric Disp(16);   					//boll平移参数
	Numeric SDLen(12);  					//boll标准差周期参数
	Numeric SDev(2);    					//boll通道倍数参数
	
Vars
	Numeric Price;               			//关键价格
    NumericSeries AvgVal(0);     			//中轨
	NumericSeries SDmult(0) ;    			//通道距离
	NumericSeries DispTop(0);    			//通道高点
	NumericSeries DispBottom(0); 			//通道低点
	Numeric MinPoint;	         			//最小变动价位	
	
Begin
	// 集合竞价和小节休息过滤
	If(!CallAuctionFilter()) Return;
	
	//指标计算
    MinPoint = MinMove*PriceScale;  		//最小变动价位
	Price = Close;                    		//关键价格
	
	//平移boll通道计算
	AvgVal = Average(Price,AvgLen);        
	SDmult = StandardDev(Price,SDLen,2)*SDev;
	DispTop = AvgVal[Disp] + SDmult;
	DispBottom = AvgVal[Disp] - SDmult;

	// PlotNumeric("DispBottom",DispBottom);
	
	//系统入场
	If(MarketPosition == 0)
	{
		If(Low <= DispBottom[1])
		{
			SellShort(0,Min(Open,DispBottom[1]));
		}
	}		
		
	//系统出场
	If(MarketPosition == -1 and BarsSinceEntry > 0)
	{
		If(High >= DispTop[1])
		{
			BuyToCover(0,Max(Open,DispTop[1]));
		}
	}
	
End

//------------------------------------------------------------------------
// 编译版本	GS2014.10.25
// 版权所有	TradeBlazer Software 2003-2014
// 更改声明	TradeBlazer Software保留对TradeBlazer平
//			台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

发表评论