yjlh20 发表于 2020-10-5 10:43:45

TBquant 公式如何 转换到 TB旗舰版? 只有序列变量和参数或数

本帖最后由 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;
               
                // 满足过滤条件,并且价格突破布林通道上轨,开多单
                If(MarketPosition != 1 And rocCalc > 0 And High >= upBand) Buy(Lots,Max(Open,upBand));
               
                // 自适应出场均线
                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 < upBand And Low <= liqPoint) Sell(0,Min(Open,liqPoint));
        }       

例如 这个布林强盗多的TBquant 公式转换到 TB旗舰版 以后红色部分就会提示

只有序列变量和参数或数组才能 使用回溯值     错误号  L0008

谢谢

Yuen_Lee 发表于 2020-10-5 13:40:38

没用过TBQuant。你把变量声明Series<Numeric>改写成NumericSeries试试?Begin下第一行屏蔽//OnBar(ArrayRef<Integer> indexs)
页: [1]
查看完整版本: TBquant 公式如何 转换到 TB旗舰版? 只有序列变量和参数或数