中孚期货期权网
返回首页

期货软件TB系统源代码解读系列65-价格与均线的相关差策略解读

admin未知
 策略说明:

1.系统将当前价格和MA之差定义为DRD

2.计算RDV: N天DRD的加和除以DRD绝对值的加和  

入场条件:

1.设置ETLong为入市阈值,如果RDV>ETLong,则入场做多

2.设置ETShort为入市阈值,如果RDV<ETShort,则入场做空

出场条件: 

1.如果RDV下穿0, 多头平仓

2.如果RDV上穿0, 空头平仓

做多系统代码及解读如下:

Params

Numeric ETLong(5); //声明数值参数ETLong,初值5,设置做多参数。//

Numeric RMALen(15);//声明数值参数RMALen,初值15.//

Vars

NumericSeries RDV(0); //声明数值序列变量RDV,初值0,NDV和TDV的比值(全在均值之上100,全之下-100,围绕均线趋近0)。//

NumericSeries TDV(0); //声明数值序列变量TDV,初值0,收盘价与15周期均值的差值绝对值的合计。//

NumericSeries NDV(0); //声明数值序列变量NDV,初值0,收盘价与15周期均值的差值的合计。//

NumericSeries RMA(0); //声明数值序列变量RMA,初值0,即15周期均值。//

NumericSeries DRD(0); //声明数值序列变量DRD,初值0,即收盘价与15周期均值的差值  。//

Begin

If(!CallAuctionFilter()) Return;// 集合竞价和小节休息过滤。//

//初始设置。//

RMA = Average(Close, RMALen); //15周期均值计算。//

DRD = Close - RMA; //  收盘价与15周期均值的差值  。//      

NDV = Summation(DRD, RMALen); //15周期的差值求和。//

TDV = Summation(Abs(DRD), RMALen); //15周期的差值绝对值,求和。//

If(TDV > 0)//假如TDV值大于0.//

RDV = 100 * NDV/TDV; //NDV和TDV的比值。//

//多头开仓。//

If (MarketPosition==0 And RDV[1] > ETLong And Vol > 0)//当前没有持仓,且前一个RDV[1]值大于5,且成交量大于0.//

Buy(0,Open);//开盘价买入。//

//多头平仓。//

If (MarketPosition==1 And BarsSinceEntry>0 And RDV[1]<0 And Vol > 0)//当前持有多单,且建仓数位大于0,且前一个RDV[1]小于0,且成交量大于0.//

Sell(0,Open);//平仓。//

End

 
 
 

 

 

做空代码及结果如下:

Params

Numeric ETShort(-5);

Numeric RMALen(15);

Vars

NumericSeries RDV(0);

NumericSeries TDV(0);

NumericSeries NDV(0);

NumericSeries RMA(0);

NumericSeries DRD(0);

Begin

If(!CallAuctionFilter()) Return;

RMA = Average(Close, RMALen); 

DRD = Close - RMA;         

NDV = Summation(DRD, RMALen); 

TDV = Summation(Abs(DRD), RMALen); 

If(TDV > 0)

RDV = 100 * NDV/TDV; 

If(MarketPosition==0 And RDV[1] < ETShort And Vol > 0)

SellShort(0,Open);

If (MarketPosition==-1 And RDV[1] > 0 And Vol > 0)

BuyToCover(0,Open);

End

 

版权声明:本网未注明“来源:中国期货期权网”的稿件均为转载稿,本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如对稿件内容有疑议,认为转载稿涉及版权等问题,请在两周内来电或来函与中孚期货期权网联系,我们将在第一时间处理



微信扫码二维码 “零佣金”期货开户