求高手修正程序

// 定义参数 Params Numeric pb1Length(4); // 瀑布线1的周期 Numeric pb2Length(6); // 瀑布线2的周期 Numeric pb3Length(9); // 瀑布线3的周期 Numeric pb4Length(13); // 瀑布线4的周期 Numeric pb5Length(18); // 瀑布线5的周期 Numeric pb6Length(24); // 瀑布线6的周期 Numeric TickSize(1); // 每个价位的单位(根据合约设置) Vars NumericSeries pb1; // 瀑布线1 NumericSeries pb2; // 瀑布线2 NumericSeries pb3; // 瀑布线3 NumericSeries pb4; // 瀑布线4 NumericSeries pb5; // 瀑布线5 NumericSeries pb6; // 瀑布线6 BoolSeries BuySignal; // 买入信号 BoolSeries SellSignal; // 卖出信号 Begin // 计算6条瀑布线 pb1 = Average(Close, pb1Length); pb2 = Average(Close, pb2Length); pb3 = Average(Close, pb3Length); pb4 = Average(Close, pb4Length); pb5 = Average(Close, pb5Length); pb6 = Average(Close, pb6Length); // 在主图中显示瀑布线 PlotNumeric("PB1", pb1); PlotNumeric("PB2", pb2); PlotNumeric("PB3", pb3); PlotNumeric("PB4", pb4); PlotNumeric("PB5", pb5); PlotNumeric("PB6", pb6); // 生成买入信号:价格从下方上穿pb6达到2个价位 BuySignal = CrossOver(Close, pb6 + 2 * TickSize); // 生成卖出信号:价格从上方跌破pb6达到1个价位 SellSignal = CrossUnder(Close, pb6 - 1 * TickSize); // 交易逻辑 If (BuySignal && MarketPosition != 1) // 如果没有持仓且出现买入信号 { Buy(1, AskPrice); // 以对手价(卖一价)开仓做多 } If (SellSignal && MarketPosition == 1) // 如果持有多头且出现卖出信号 { Sell(1, BidPrice); // 以对手价(买一价)平仓 } End上述程序是AI编写的,但在TB中有语法错误。求高手修改成可以在TB上运行的程序。程序的大致要求如下:1.定义6条瀑布线,参数分别为4,6,9,13,18,24,并分别命名为pb1,pb2,pb3,pb4,pb5,pb6。瀑布线能在主图中显示出来。2.如果价格从下方往上穿越pb6达到2个价位时,以对手价开仓做多。开仓后,如果价格一直在pb6上方,则一直持有,如果价格跌破pb6达到1个价位,则多单以对手价平仓。

https://bbs.tbquant.net/thread/20241205162315158864 按照帖子里的要求发代写需求贴