新旧版本两个布林通道模型的对比

我2021年之前长期使用交易开拓者旗舰版,2022年后转用文华,现在准备改回交易开拓者进行交易,发现平台已经更新到V3,重新写了一遍模型,发现止盈条件方面在输出结果的时候有不同的地方,请教两个版本的异同。下面第一个是V3版本的模型,第二个是交易开拓者旗舰版的模型。

V3版本模型:
//------------------------------------------------------------------------
// 简称: BollingerBandit_Multi_WithStop
// 名称: 布林强盗_多空合并版(带止盈)
// 类别: 策略应用
// 类型: 内建应用
// 输出:
//------------------------------------------------------------------------
/* 
策略说明:
        基于布林通道的多空突破系统,增加止盈条件
        止盈机制: 开仓后动态跟踪价格高低点,突破反向边界时平仓
修改要点:
        1. 声明开仓后最高价/最低价序列变量
        2. 开仓时初始化高低点
        3. 持仓期间更新高低点
        4. 增加高低点突破平仓条件
*/
Params
    Numeric bollingerLengths(35);    // 布林通道周期
    Numeric Offset(1.25);            // 通道宽度系数
    Numeric StdDevDown(1.0);         // 止盈标准差倍数(新增参数)[1](@ref)
    Numeric Lots(0);                 // 交易手数                
Vars
    Series<Numeric> MidLine;         // 布林通道中轨
    Numeric Band(0);
    Series<Numeric> upBand;          // 布林通道上轨
    Series<Numeric> dnBand;          // 布林通道下轨
    Series<Numeric> HighAfterEntry;  // 开仓后最高价(新增)[citation:用户消息]
    Series<Numeric> LowAfterEntry;   // 开仓后最低价(新增)[citation:用户消息]
  
Events
    OnReady()
    {
        Range[0:DataSourceSize() - 1]
        {
            setPlotOption("MidLine", "begin-bar", bollingerLengths);
            setPlotOption("upBand", "begin-bar", bollingerLengths);
            setPlotOption("dnBand", "begin-bar", bollingerLengths);
            
        }
    }
    OnBar(ArrayRef<Integer> indexs)
    {
        // 布林通道计算(使用前值)
        MidLine = AverageFC(Close[1], bollingerLengths);
        Band = StandardDev(Close[1], bollingerLengths, 2); 
        upBand = MidLine + Offset * Band;
        dnBand = MidLine - Offset * Band;
        
        // 画布林通道
        PlotNumeric("MidLine", MidLine);
        PlotNumeric("upBand", upBand);
        PlotNumeric("dnBand", dnBand);
       
        //=== 动态止盈轨计算(新增模块)=== [citation:用户消息]
        If (BarsSinceEntry == 0) // 开仓当根K线
        {
            // 初始化:基于开仓时中轨和标准差设定止盈轨道
            HighAfterEntry = MidLine + 8 * Band;
            LowAfterEntry = MidLine - 8* Band;
        }
       
        PlotNumeric("HighAfterEntry", HighAfterEntry);
        PlotNumeric("LowAfterEntry", LowAfterEntry);
        
        //=== 开仓逻辑(检测上根K线条件)===
        // 多单开仓:上根K线突破上轨
        If(MarketPosition != 1 &&    CrossOver(Close[1], upBand[1]) )
        {
            Buy(Lots, Open);         // 以下根K线开盘价执行
        }
        
        // 空单开仓:上根K线突破下轨
        If(MarketPosition != -1 &&  CrossUnder(Close[1],dnBand[1]) )
        {
            SellShort(Lots, Open);   // 以下根K线开盘价执行
        }
        
        //=== 平仓逻辑(检测上根K线条件)===
        // 原有平仓:多单平仓(回归中轨)
        If(MarketPosition == 1 && BarsSinceEntry >= 1 
           && Close[1] <=  MidLine )
            Sell(0, Open);  // 以下根K线开盘价执行
        
        // 原有平仓:空单平仓(回归中轨)
        If(MarketPosition == -1 && BarsSinceEntry >= 1 
           && Close[1] >=  MidLine )
            BuyToCover(0, Open);  // 以下根K线开盘价执行
        
        //=== 新增止盈平仓(检测上根K线条件)=== [citation:用户消息]
        // 多单止盈:价格跌破开仓后最低轨道
        If(MarketPosition == -1 && BarsSinceEntry >= 1 
           && Close[1] <= LowAfterEntry[1])
            BuyToCover(0, Open);
        
        // 空单止盈:价格突破开仓后最高轨道
        If(MarketPosition == 1 && BarsSinceEntry >= 1 
           && Close[1] >= HighAfterEntry[1])
           sell(0, Open);
    }
开拓者旗舰版模型://------------------------------------------------------------------------
// 简称: BOLLGAI
// 名称: 
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------




Params//参数区
Numeric Length(300);//均线参数
Numeric StdDevUp(1.5);//上下轨标准差参数
Numeric StdDevDowm(8);//上下轨标准差参数
Numeric Lots1(1);//交易手数
Numeric Lots2(2);//交易手数

Vars//变量
NumericSeries UpperBand;//上轨
NumericSeries LowerBand;//下轨
NumericSeries AveMa;//均线
Numeric StdValue;//标准差
NumericSeries HighAfterEntry;        // 开仓后出现的最高价
NumericSeries LowAfterEntry;         // 开仓后出现的最低价

NumericSeries Opelong;//长持仓量
NumericSeries Opeshort;//短持仓量

Begin
   //过滤集合竞价
	If(!CallAuctionFilter()) return;	
AveMa=Average(Close[1],Length);//均线
StdValue = StandardDev(Close[1],Length);//标准差


Opelong=Average(OpenInt[1],300);//长持仓量

Opeshort=Average(OpenInt[1],150);//短持仓量

UpperBand=Avema+StdDevUp*StdValue;//上轨
LowerBand=Avema-StdDevUp*StdValue;//下轨

PlotNumeric("UpperBand",UpperBand);//上轨划线
PlotNumeric("LowerBand",LowerBand);//下轨划线

PlotNumeric("AveMa",AveMa);//均线

//满足条件进行交易

If(MarketPosition!=1 &&CrossOver(Close[1],UpperBand[1]) && Opelong<Opeshort)
{
        Buy(Lots2,Open);
}

If(MarketPosition!=1 &&CrossOver(Close[1],UpperBand[1]) && Opelong>Opeshort)
{
        Buy(Lots1,Open);
}
If(MarketPosition!=-1 &&CrossUnder(Close[1],LowerBand[1]) && Opelong<Opeshort )
{
        SellShort(Lots2,Open);}
		
If(MarketPosition!=-1 &&CrossUnder(Close[1],LowerBand[1]) && Opelong>Opeshort )
{
        SellShort(Lots1,Open);}


If(MarketPosition==1 && Close[1]<AveMa[1] )
{
        Sell(0,Open);

}

If(MarketPosition==-1 && Close[1]>AveMa[1])
{

        BuyToCover(0,Open);}
		
		
		//记录开仓后高低点
    
	
	   If(BarsSinceentry == 1)
    {
        HighAfterEntry = Avema[1]+StdDevDowm*StdValue;
        LowAfterEntry = Avema[1]-StdDevDowm*StdValue;
    }
	
If(MarketPosition==1 && Close[1]> HighAfterEntry[1] && BarsSinceentry >1)
{
        Sell(0,Open);

}

If(MarketPosition==-1 && Close[1]<LowAfterEntry[1] && BarsSinceentry >1)
{

        BuyToCover(0,Open);}
PlotNumeric("HighAfterEntry",HighAfterEntry);//上轨划线
PlotNumeric("LowAfterEntry",LowAfterEntry);//下轨划线	

End


//------------------------------------------------------------------------


//------------------------------------------------------------------------
// 编译版本	GS2015.12.25
// 用户版本	2023/06/24 09:16:49
// 版权所有	gjqh85330520
// 更改声明	TradeBlazer Software保留对TradeBlazer平台
//			每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------


简语言版本中的布林策略交易属性设置
布林线放在副图
【智大领峰-指标-K线】布林假突破计数
在5根K线内下破过布林下轨(上破布林上轨)如何表达
如何评价两个模型
请问同一画布的两个画板能否订阅不同的行情,如何实现?谢谢!
指令价模型只能在简语言版本实现吗?
怎么样才能:在均线金叉的时候订按布林线下轨作基准价订阅对应的期权
改成tb的模型
TB旗舰版和TBQuant的效率对比实验

TBQ没有TB好用。研究了几天TBQ还是放弃了。

新产品肯定是优于老产品的

另外每个指标的参数周期你确定一致么?

参数这个是可以调整的,但理论上止盈条件是开仓当根K线布林中轨的八倍标准差,也就是理论上开仓后止盈条件不会随着价格变化而变化

但这个实现这个结果

?什么意思?

你这个图你想说什么什么问题呢?我看到开仓以后,这个绿线白线确实都没有变化了呀?不是直到平仓了才变化吗?

好几个问题了,怎么感觉完全不知道你在问什么呢?你能仔细确认一下你的问题吗?

你这两个计算标准差的不一样

一个是总体标准差,一个是样本标准差