请修改代码,谢谢。

// 策略名称:ATR多空信号(5分钟分时专用+开仓K线止损)// 适用周期:5分钟分时图// 止损规则:开多→止损=开仓5分钟柱最低价;开空→止损=开仓5分钟柱最高价ParamsNumeric ATRLength(60); // ATR计算周期Numeric EMA60Length(60); // 中轨EMA周期(5分钟图对应300分钟趋势)Numeric Dx(5); // 短线EMA周期(5分钟图对应25分钟趋势)Numeric N(15); // HH/LL计算周期(5分钟图对应75分钟高低点)Numeric Lots(1); // 开仓手数(5分钟图建议1-2手控制风险)Vars// 基础变量Numeric TR;Numeric ATR;Numeric MidLine;Numeric UpperLine;Numeric LowerLine;Numeric ShortMA;Numeric HH;Numeric LL;Numeric TT;Numeric NN;Numeric YY;Numeric TradeLine;Bool LongSignal;Bool ShortSignal;// 止损专用变量(存储开仓K线高低点)Numeric LongEntryLow; // 多单开仓5分钟柱最低价Numeric ShortEntryHigh; // 空单开仓5分钟柱最高价Bool IsLongPosition; // 多单持仓标识Bool IsShortPosition; // 空单持仓标识Begin// 1. 计算ATR与轨道线(5分钟图适配)If(CurrentBar>=1) BeginTR=Max(Max(High-Low,Abs(Close[1]-High)),Abs(Close[1]-Low));End Else BeginTR=High-Low;End;ATR=EMA(TR,ATRLength);MidLine=EMA(Close,EMA60Length);UpperLine=MidLine+ATR;LowerLine=MidLine-ATR;ShortMA=EMA(Close,Dx);// 2. 计算多空信号(5分钟图高低点判断)HH=HHV(High,N);LL=LLV(Low,N);TT=BarsLast(HH>HH[1]);NN=BarsLast(LL<LL[1]);YY=IfElse(TT<NN,1,IfElse(TT>NN,-1,0));TradeLine=IfElse(YY>=0,LL,HH);LongSignal=Cross(NN,TT); // 5分钟图“多”信号ShortSignal=Cross(TT,NN); // 5分钟图“空”信号// 3. 持仓状态判断IsLongPosition=MarketPosition==1;IsShortPosition=MarketPosition==-1;// 4. 开仓逻辑(同步记录开仓5分钟柱高低点)// 4.1 多单开仓:记录开仓柱最低价作为止损If(LongSignal) BeginBuy(Lots,Open); // 5分钟图多信号开多Sell(0,Open); // 平掉现有空单LongEntryLow=Low; // 存储开仓5分钟柱的最低价(用于止损)End;// 4.2 空单开仓:记录开仓柱最高价作为止损If(ShortSignal) BeginBuyShort(Lots,Open); // 5分钟图空信号开空BuyToCover(0,Open); // 平掉现有多单ShortEntryHigh=High; // 存储开仓5分钟柱的最高价(用于止损)End;// 5. 止损逻辑(严格匹配5分钟图需求)// 5.1 多单止损:价格跌破开仓5分钟柱最低价,立即平仓If(IsLongPosition And Close<LongEntryLow) BeginSell(0,Close); // 市价平仓(确保快速止损,5分钟图波动快)End;// 5.2 空单止损:价格突破开仓5分钟柱最高价,立即平仓If(IsShortPosition And Close>ShortEntryHigh) BeginBuyToCover(0,Close); // 市价平仓(5分钟图避免滑点扩大)End;// 6. 常规平仓逻辑(信号反转平仓)If(ShortSignal And IsLongPosition) BeginSell(0,Open);End;If(LongSignal And IsShortPosition) BeginBuyToCover(0,Open);End;// 7. 5分钟图画图(清晰显示关键信号)PlotNumeric("中轨",MidLine,Yellow);PlotNumeric("上轨",UpperLine,Red);PlotNumeric("下轨",LowerLine,Green);PlotNumeric("短线",ShortMA,White);PlotNumeric("做多线",IfElse(YY>=0,TradeLine,NULL),Red);PlotNumeric("做空线",IfElse(YY<0,TradeLine,NULL),Green);// 标注开仓止损位(5分钟图直观查看)If(IsLongPosition) PlotNumeric("多单止损",LongEntryLow,Magenta,Linethick2);If(IsShortPosition) PlotNumeric("空单止损",ShortEntryHigh,Cyan,Linethick2);// 信号文字标注If(LongSignal) PlotString("多","多",Low,Red);If(ShortSignal) PlotString("空","空",High,Green);End

这只是看着很想tb语言,但是实际上不知所云的代码。建议谁写的让谁修改