全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
源码编好了,就是不开单,也没信号麻烦老师看哈
2023-09-27 21:46

//------------------------------------------------------------------------

// 简称: BollingerBandit_L

// 名称: 布林强盗

// 类别: 公式应用

// 类型: 内建应用

// 输出:

//------------------------------------------------------------------------

/*

策略说明:

基于布林通道的突破系统

系统要素:

1、基于收盘价计算而来的布林通道

2、基于收盘价计算而来的进场过滤器

3、自适应出场均线

入场条件:

1、满足过滤条件,并且价格上破布林通道上轨,开多单

2、满足过滤条件,并且价格下破布林通道下轨,开空单

出场条件:

1、持有多单时,自适应出场均线低于布林通道上轨,并且价格下破自适应出场均线,平多单

2、持有空单时,自适应出场均线高于布林通道下轨,并且价格上破自适应出场均线,平空单

注 意:

此公式仅做多

*/

Params

Numeric bollingerLengths(50); // 布林通道参数

Numeric Offset(1.25); // 布林通道参数

Numeric rocCalcLength(30); // 过滤器参数

Numeric liqLength(50); // 自适应出场均线参数

Numeric Lots(4); // 交易手数

Vars

   Series<Numeric> N;

Series<Numeric> MidLine(0); // 布林通道中轨

Numeric Band(0);

Series<Numeric> upBand(0); // 布林通道上轨

Series<Numeric> dnBand(0); // 布林通道下轨

Series<Numeric> rocCalc(0); // 过滤器

Series<Numeric> liqDays(50); // 自适应出场均线的参数

Series<Numeric> liqPoint(0); // 自适应的出场均线

Events

OnBar(ArrayRef<Integer> indexs)

{

// 布林通道中轨

MidLine = AverageFC(Close,bollingerLengths);

Band = StandardDev(Close,bollingerLengths,2);

// 布林通道下轨

dnBand = MidLine - Offset*Band;

// 布林通道上轨

upBand = MidLine + Offset*Band;

// 画线

PlotNumeric(\"upBand\",upBand[1]);

PlotNumeric(\"MidLine\",MidLine[1]);

PlotNumeric(\"dnBand\",dnBand[1]);


// 进场过滤器

rocCalc=Close[1] - Close[rocCalcLength - 1];

// 满足过滤条件,并且价格突破布林通道下轨,开空单

If(N>0)

{

If(MarketPosition != -1 And rocCalc[1] < 0 And Low <= dnBand[1]) SellShort(Lots,Min(Open,dnBand[1]));

{

SellShort(Lots,Min(Open,dnBand[1]));

N=0;

}

// 满足过滤条件,并且价格突破布林通道上轨,开多单

If(MarketPosition != 1 And rocCalc[1] > 0 And High >= upBand[1]) Buy(Lots,Max(Open,upBand[1]));

{

Buy(Lots,Max(Open,upBand[1]));

N=0;

}

}

// 自适应出场均线

If(MarketPosition == 0)

{

liqDays = bollingerLengths;

}

Else

{

liqDays = liqDays - 1;

liqDays = Max(liqDays,10);

}

liqPoint = Average(Close,liqDays);

// 画线

PlotNumeric(\"liqPoint\",liqPoint[1]);


// 持有空单时,自适应出场均线高于布林通道下轨,并且价格上破自适应出场均线,平空单

If(MarketPosition == -1 And BarsSinceEntry >= 1 And High >= liqPoint[1])

   {

BuyToCover(0,Max(Open,liqPoint[1]));

   N=0;

}

If(MarketPosition == 1 And BarsSinceEntry >= 1  And Low <= liqPoint[1])

   

Sell(0,Min(Open,liqPoint[1]));

N=0;

}

//------------------------------------------------------------------------

// 编译版本 GS2014.10.25

// 版权所有 TradeBlazer Software 2003-2025

// 更改声明 TradeBlazer Software保留对TradeBlazer平

// 台每一版本的TradeBlazer公式修改和重写的权利

//------------------------------------------------------------------------

kyover

图上是没信号

还是有信号不报单

还是报单不成交

2023-09-28 09:03
wangkaiming

就比如 你这个 If(N>0)

n>0 ,好像没看有n大于0的赋值

2023-09-28 09:03
您未登录,请先 登录注册 后发表评论
顶部