老师帮忙检查一下源码,回测没有交易盈亏数据是什么原因
//------------------------------------------------------------------------
// 简称: DaySession_Breakout_L
// 名称: 白盘开盘突破做多策略(带14:45强制平仓)
// 类别: 策略应用
// 类型: 内建应用
//------------------------------------------------------------------------
// 策略说明:
//            1. 仅在国内商品期货白盘时段交易(9:00-15:00)
//            2. 统计开盘半小时(9:00-9:30)的最高/最低价
//            3. 使用9:29时的ATR值计算交易参数
//            4. 价格突破基准高点+4跳时做多
//            5. 设置固定止损和ATR止盈
//            6. 无论盈亏,14:45强制平仓
//
// 入场条件:
//            1. 白盘时段(9:30之后)
//            2. 价格 ≥ 基准最高价 + 4跳
//            
// 出场条件: 
//            1. 止损: 价格 ≤ 基准最高价 - 35跳
//            2. 止盈: 价格 ≥ 基准最高价 + 达标ATR值
//            3. 强制平仓: 每日14:45以收盘价平仓
//----------------------------------------------------------------------//
Params
    Numeric ATRPeriod(14);         // ATR计算周期
    Numeric AfternoonStart(1330);  // 下午开盘时间(13:30)
    Numeric ForceExitTime(1445);   // 强制平仓时间(14:45)
    
Vars
    Numeric MinPoint;              // 最小变动单位(1跳价格)
    Numeric BaseHigh(0);           // 基准最高价(开盘半小时内)
    Numeric BaseLow(0);            // 基准最低价(开盘半小时内)
    Numeric StdATR(0);             // 标准ATR值
    Numeric TargetATR(0);          // 达标ATR值
    Bool    FirstBarFlag(True);    // 当日第一根Bar标志
    Bool    ATRCalculated(False);  // ATR已计算标志
    Series<Numeric> ATRVal;        // ATR值序列
    Numeric EntryPrice;            // 理论进场价
    Numeric StopLossPrice;         // 止损价格
    Numeric TakeProfitPrice;       // 止盈价格
    Numeric CurrentTime;           // 当前时间(HHMM格式)
    Bool    ForceExitFlag(False);  // 强制平仓已执行标志
    Numeric ForceExitPrice;        // 强制平仓价格标记

Events
    OnBar(ArrayRef<Integer> indexs)
    {
        // 计算最小变动单位
        MinPoint = MinMove * PriceScale;
        CurrentTime = Time / 100;  // 转换为HHMM格式
        
        // 初始化强制平仓价格标记
        ForceExitPrice = InvalidNumeric;
        
        // 当日第一根Bar初始化
        If (Date != Date[1])
        {
            BaseHigh = High;
            BaseLow = Low;
            FirstBarFlag = True;
            ATRCalculated = False;
            ForceExitFlag = False;
        }
        
        // 只处理白盘时段(9:00-15:00)
        If (CurrentTime >= 900 && CurrentTime < 1500)
        {
            // 开盘半小时内(9:00-9:30)更新基准高/低价
            If (CurrentTime >= 900 && CurrentTime < 930)
            {
                If (FirstBarFlag)
                {
                    BaseHigh = High;
                    BaseLow = Low;
                    FirstBarFlag = False;
                }
                Else
                {
                    If (High > BaseHigh) BaseHigh = High;
                    If (Low < BaseLow) BaseLow = Low;
                }
                
                // 在9:29计算ATR值
                If (CurrentTime >= 929 && CurrentTime < 930 && !ATRCalculated)
                {
                    ATRVal = AvgTrueRange(ATRPeriod);
                    StdATR = IntPart(ATRVal) + 1;
                    TargetATR = IntPart(1.2 * StdATR);
                    ATRCalculated = True;
                    
                    // 计算理论交易价格
                    EntryPrice = BaseHigh + 4 * MinPoint;
                    StopLossPrice = BaseHigh - 35 * MinPoint;
                    TakeProfitPrice = BaseHigh + TargetATR * MinPoint;
                    
                    // 使用字符串连接输出多个值
                    Commentary("基准高价:" + Text(BaseHigh) + " 基准低价:" + Text(BaseLow));
                    Commentary("标准ATR:" + Text(StdATR) + " 达标ATR:" + Text(TargetATR));
                    Commentary("进场价:" + Text(EntryPrice) + " 止损价:" + Text(StopLossPrice) + " 止盈价:" + Text(TakeProfitPrice));
                }
            }
            
            // 9:30之后交易时段
            If (CurrentTime >= 930 && ATRCalculated && !ForceExitFlag)
            {
                // 检查是否到达强制平仓时间(14:45)
                If (CurrentTime >= ForceExitTime)
                {
                    If (MarketPosition == 1)
                    {
                        Sell(0, Close);
                        ForceExitFlag = True;
                        ForceExitPrice = Close; // 记录平仓价格
                        Commentary("14:45强制平仓! 价格:" + Text(Close));
                    }
                    Return; // 跳过当日后续交易
                }
                
                // 多头入场条件
                If (MarketPosition == 0 && High >= EntryPrice && Vol > 0)
                {
                    Buy(1, Max(Open, EntryPrice));
                    Commentary("做多进场! 价格:" + Text(Max(Open, EntryPrice)));
                }
                
                // 多头持仓管理
                If (MarketPosition == 1)
                {
                    // 止损出场
                    If (Low <= StopLossPrice && Vol > 0)
                    {
                        Sell(0, Min(Open, StopLossPrice));
                        Commentary("止损出场! 价格:" + Text(Min(Open, StopLossPrice)));
                    }
                    // 止盈出场
                    Else If (High >= TakeProfitPrice && Vol > 0)
                    {
                        Sell(0, Min(Open, TakeProfitPrice));
                        Commentary("止盈出场! 价格:" + Text(Min(Open, TakeProfitPrice)));
                    }
                }
            }
            
            // 下午开盘重新激活交易(防止上午未触发)
            If (CurrentTime >= AfternoonStart && !ATRCalculated && CurrentTime < ForceExitTime)
            {
                ATRVal = AvgTrueRange(ATRPeriod);
                StdATR = IntPart(ATRVal) + 1;
                TargetATR = IntPart(1.2 * StdATR);
                ATRCalculated = True;
                
                EntryPrice = BaseHigh + 4 * MinPoint;
                StopLossPrice = BaseHigh - 35 * MinPoint;
                TakeProfitPrice = BaseHigh + TargetATR * MinPoint;
            }
        }
        
        // 绘制关键价格线
        PlotNumeric("BaseHigh", BaseHigh);
        PlotNumeric("EntryPrice", EntryPrice);
        
        // 绘制止损止盈线
        If (MarketPosition == 1)
        {
            PlotNumeric("StopLoss", StopLossPrice);
            PlotNumeric("TakeProfit", TakeProfitPrice);
        }
        
        // 标记强制平仓时间点 - 使用价格点标记代替垂直线
        If (CurrentTime == ForceExitTime)
        {
            PlotNumeric("ForceExit", High + 5 * MinPoint, Red);
            Commentary("到达强制平仓时间:14:45");
        }
    }


怎么没有回测结果呢?
老师,这样才知道策略源码含未来数据?
怎么设置交易手数?测试没有回测数据怎么处理,deepseek写的
建立【数据库】初始化失败是什么原因?
交易条件达成后,并不执行卖出,是什么原因?
参数优化无结果的原因是什么?
回测数据
策略研究回测数据与模拟账户交易K线计算指标数据不一致
”数据同步,生产信号没有发单“是什么意思
老师帮忙看下,账号注册后没有模拟资金账号

这是想表达什么意思

表达的时间大于九点半

看下帮助文档这个表达方式

替我回答了。

不过我总感觉,上面像ai写的

估计ai在进化

已经越来越贴近tb了

不打好基础,用不好AI的

这句话应该挂社区头版横幅