没想到是maxbarsback污染的问题...
Params
    numeric offset(5);
    
    
Vars
    Series<array<numeric>> pft_price;
    Series<array<numeric>> lst_price;
    numeric profit_price;
    numeric lost_price;
    numeric size;
Defs
    
Events
    OnInit()
    {
        printclear;
    }
    OnBar(ArrayRef<Integer> indexes)
    {
        If(close[1] > open[1] and CurrentContracts < 5 and CurrentBar>MaxBarsBack)
        {
            print("***"+dateTimeToString(date+time)+"***");
            print("开仓");
            buy(1, open);
            profit_price = open + 2*offset * minmove * PriceScale;
            lost_price = open - offset * MinMove * PriceScale;
            numeric size;
            //记录止盈价格
            {
                size = GetArraySize(pft_price[0]);
                print(text(size));
    
                if(size == 0)
                {
                    pft_price[0][0] = profit_price;
                }
                Else
                {
                    numeric i;
    
                    for i = 0 to size - 1
                    {
                        If(profit_price > pft_price[0][i])
                        {
                            If(i == size - 1) ArrayPushBack(pft_price[0], profit_price);
                            else Continue;
                        }
                        Else
                        {
                            ArrayInsert(pft_price[0], i, profit_price);
                            break;
                        }
                    }
                }
    
                print("pft:" + textarray(pft_price[0]));
    
            }
            //止盈价格记录结束
            //记录止损价格
            {
                {
                    size = GetArraySize(lst_price[0]);
                    print(text(size));
    
                    if(size == 0)
                    {
                        lst_price[0][0] = lost_price;
                    }
                    Else
                    {
                        numeric i;
    
                        for i = 0 to size - 1
                        {
                            If(lost_price < lst_price[0][i])
                            {
                                If(i == size - 1)
                                {
                                    ArrayPushBack(lst_price[0], lost_price);
                                    print("末尾插入");
                                }
                                else Continue;
                            }
                            Else
                            {
                                ArrayInsert(lst_price[0], i, lost_price);
                                break;
                                print("中间插入");
                            }
                        }
                    }
    
                    print("lst:" + textarray(lst_price[0]));
    
                }
            }
            //止损价格记录结束
            PlotNumeric("pft",pft_price[0][0]);
            PlotNumeric("lst",lst_price[0][0]);
        }
        //while开始
        If(BarsSinceEntry>0 and low<=lst_price[0][0])//止损触发//
        {
            sell(1,min(open,lst_price[0][0]));
           print("***"+dateTimeToString(date+time)+"***");
             print("止损");
             ArrayErase(lst_price[0], 0, 1);
            
            size = GetArraySize(pft_price[0]);
            ArrayErase(pft_price[0], size-1, 1);
        }//while结束
         //while开始
        If(BarsSinceEntry>0 and high>=pft_price[0][0])//止盈触发
        {
            sell(1,max(open,pft_price[0][0]));
            print("***"+dateTimeToString(date+time)+"***");
            ArrayErase(pft_price[0], 0, 1);
           size = GetArraySize(lst_price[0]);
            ArrayErase(lst_price[0],size-1, 1);
            print("止盈");
        }//while结束
        
        
        
        
        If(BarStatus == 2)
        {
            print("---2---");
            print("pft");
            print(textarray(pft_price[0]));
            print("lst");
            print(textarray(lst_price[0]));
        }
    
        PlotString("ct", text(CurrentContracts));
    }

v2版本,完稿

MaxBarsBack的使用问题
MaxBarsBack值超级大
TBquant1349P1的显示问题
回测报告的平仓价格是开盘价,实盘交易的平仓价格是突破价。请问如何回测不准的问题?
依旧是可用资金问题
可能是Bug的一个问题
K线取值是整数还是小数点的问题
工作区的右边是策略编辑是怎么实现的?
发现程序bug-可能是平台出了问题
为何输出的数据是空值,但是我之前输出的数据是正确的