止盈止损价格计算

If(BuySignal && MarketPosition == 0) // 如果有买入信号且当前无持仓 { If(Abs(MarketPosition) < MaxPosition) // 如果持仓数量小于最大持仓限制 { Buy(1, Open); // 开多仓1手,使用开盘价成交 EntryPrice = Open; // 记录开仓价格 StopLossPrice = (EntryPrice * (1 - StopLossPercent)); // 计算止损价格:开仓价*(1-止损百分比) TakeProfitPrice = (EntryPrice * (1 + TakeProfitPercent)); // 计算止盈价格:开仓价*(1+止盈百分比) Commentary("买入信号!综合评分: " + Text(FinalScore, 2)); // 显示买入信号信息 Commentary("止盈价格: " + Text(TakeProfitPrice)); Commentary("止损价格: " + Text(StopLossPrice)); } } //// ===== 卖出逻辑 ===== If(SellSignal && MarketPosition == 0) // 如果有卖出信号且当前无持仓 { If(Abs(MarketPosition) < MaxPosition) // 如果持仓数量小于最大持仓限制 { SellShort(1, Open); // 开空仓1手,使用开盘价成交 EntryPrice = Open; // 记录开仓价格 StopLossPrice = EntryPrice * (1 + StopLossPercent); // 计算止损价格:开仓价*(1+止损百分比) TakeProfitPrice = EntryPrice * (1 - TakeProfitPercent); // 计算止盈价格:开仓价*(1-止盈百分比) Commentary("卖出信号!综合评分: " + Text(FinalScore, 2)); // 显示卖出信号信息 } } // ===== 平仓逻辑 ===== If(MarketPosition > 0) // 如果持有多头仓位(持仓数大于0) { //// 止损平仓 If(Low <= StopLossPrice) // 如果最低价触及或低于止损价格 { Sell(0, Min(Open, StopLossPrice)); // 平仓,使用开盘价和止损价中的较小值 Commentary("止损平仓"); // 显示止损信息 } // 止盈平仓 Else If(High >= TakeProfitPrice) // 如果最高价触及或高于止盈价格 { Sell(0, Max(Open, TakeProfitPrice)); // 平仓,使用开盘价和止盈价中的较大值 Commentary("止盈平仓: " + Text(Open)); // 显示止盈信息 } //// 信号反转平仓 Else If(FinalScore <= SellThreshold) // 如果综合评分转负,达到卖出阈值 { Sell(0, Open); // 平仓,使用开盘价 Commentary("信号反转平仓"); // 显示反转平仓信息 } } Else If(MarketPosition < 0) // 如果持有空头仓位(持仓数小于0) { //// 止损平仓 If(High >= StopLossPrice) // 如果最高价触及或高于止损价格 { BuyToCover(0, Max(Open, StopLossPrice)); // 平仓,使用开盘价和止损价中的较大值 Commentary("止损平仓"); // 显示止损信息 } // 止盈平仓 Else If(Low <= TakeProfitPrice) // 如果最低价触及或低于止盈价格 { BuyToCover(0, Min(Open, TakeProfitPrice)); // 平仓,使用开盘价和止盈价中的较小值 Commentary("止盈平仓"); // 显示止盈信息 } // 信号反转平仓 Else If(FinalScore >= BuyThreshold) // 如果综合评分转正,达到买入阈值 { BuyToCover(0, Open); // 平仓,使用开盘价 Commentary("信号反转平仓"); // 显示反转平仓信息 } } }请老师帮吗看看止盈止损价格是不是计算有问题,用主力连续运行计算显示是后复权,价格应该如何计算,用主力合约计算应该如何计算,现在是开仓后就平仓,计算的价格和平仓价格也不一样。请老师解惑,或有相关文档推荐一下

你这代码ai味儿很浓啊