- 精华
- 0
- 在线时间
- 15 小时
- UID
- 295218
- 积分
- 13
- 帖子
- 9
- 阅读权限
- 10
- 注册时间
- 2020-8-30
- 最后登录
- 2020-12-10
- 精华
- 0
- UID
- 295218
- 积分
- 13
- 帖子
- 9
- 主题
- 2
- 阅读权限
- 10
- 注册时间
- 2020-8-30
- 最后登录
- 2020-12-10
|
本帖最后由 yjlh20 于 2020-10-5 10:46 编辑
Params
Numeric bollingerLengths(50); // 布林通道参数
Numeric Offset(1.25); // 布林通道参数
Numeric rocCalcLength(30); // 过滤器参数
Numeric liqLength(50); // 自适应出场均线参数
Numeric Lots(0); // 交易手数
Vars
Series<Numeric> MidLine(0); // 布林通道中轨
Numeric Band(0);
Series<Numeric> upBand(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);
// 布林通道上轨
upBand = MidLine + Offset*Band;
// 画线
PlotNumeric("MidLine",MidLine);
PlotNumeric("upBand",upBand);
// 进场过滤器
rocCalc = Close - Close[rocCalcLength - 1];
// 满足过滤条件,并且价格突破布林通道上轨,开多单
If(MarketPosition != 1 And rocCalc[1] > 0 And High >= upBand[1]) Buy(Lots,Max(Open,upBand[1]));
// 自适应出场均线
If(MarketPosition == 0)
{
liqDays = liqLength;
}Else
{
liqDays = liqDays - 1;
liqDays = Max(liqDays,10);
}
liqPoint = Average(Close,liqDays);
// 画线
PlotNumeric("liqPoint",liqPoint);
// 持有多单时,自适应出场均线低于布林通道上轨,并且价格下破自适应出场均线,平多单
If(MarketPosition == 1 And BarsSinceEntry >= 1 And liqPoint[1] < upBand[1] And Low <= liqPoint[1]) Sell(0,Min(Open,liqPoint[1]));
}
例如 这个布林强盗多的TBquant 公式转换到 TB旗舰版 以后红色部分就会提示
只有序列变量和参数或数组才能 使用回溯值 错误号 L0008
谢谢
|
|