请修改代码,谢谢。

// 策略名称:ATR多空信号(5分钟分时专用+开仓K线止损)

// 适用周期:5分钟分时图

// 止损规则:开多→止损=开仓5分钟柱最低价;开空→止损=开仓5分钟柱最高价

Params

Numeric 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) Begin

TR=Max(Max(High-Low,Abs(Close[1]-High)),Abs(Close[1]-Low));

End Else Begin

TR=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) Begin

Buy(Lots,Open);        // 5分钟图多信号开多

Sell(0,Open);          // 平掉现有空单

LongEntryLow=Low;      // 存储开仓5分钟柱的最低价(用于止损)

End;


// 4.2 空单开仓:记录开仓柱最高价作为止损

If(ShortSignal) Begin

BuyShort(Lots,Open);   // 5分钟图空信号开空

BuyToCover(0,Open);    // 平掉现有多单

ShortEntryHigh=High;   // 存储开仓5分钟柱的最高价(用于止损)

End;


// 5. 止损逻辑(严格匹配5分钟图需求)

// 5.1 多单止损:价格跌破开仓5分钟柱最低价,立即平仓

If(IsLongPosition And Close<LongEntryLow) Begin

Sell(0,Close);         // 市价平仓(确保快速止损,5分钟图波动快)

End;


// 5.2 空单止损:价格突破开仓5分钟柱最高价,立即平仓

If(IsShortPosition And Close>ShortEntryHigh) Begin

BuyToCover(0,Close);   // 市价平仓(5分钟图避免滑点扩大)

End;


// 6. 常规平仓逻辑(信号反转平仓)

If(ShortSignal And IsLongPosition) Begin

Sell(0,Open);

End;

If(LongSignal And IsShortPosition) Begin

BuyToCover(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

请修改代码,谢谢。
请帮助我修改一下公式代码
请协助修改密码
请tblaocai老师帮修改用户函数
指标代码修改
请帮忙修改,提示错误
请帮助修改量化交易策略
代码修改
求EMA函数代码,谢谢
老师,帮忙修改下代码

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