跨周期问题

//------------------------------------------------------------------------
// 简称: JailBreakSys_L
// 名称: 基于价格区间突破的交易系统
// 类别: 公式应用
// 类型: 内建应用
// 输出:
// 策略说明:        基于通道突破的判断
// 系统要素:
//                1. 计算50根k线最高价的区间
//                2. 计算30根k线最低价的区间
//                
// 入场条件:
//                1.价格高于50根K线最高价的区间入场
// 出场条件:
//                1. 当前价格低于30根K线最低价的区间出场
//                2. 当前价格低于入场价一定ATR波动率幅度出场
//
//----------------------------------------------------------------------//
Params
    Numeric Length1(50);                                //长周期区间参数
    Numeric Length2(30);                                //短周期区间参数
    Numeric IPS(4);                                        //保护止损波动率参数
    Numeric AtrVal(10);                                    //波动率参数
    Numeric initcapital(50);                            //单位:万    国债期货可以改成50
    Numeric  Acceleration(0.05);                       //抛物线的加速系数
    Numeric  FirstBarMultp(5);                           //用于计算在进场Bar设置止损价的系数
    
Vars
    Series<Numeric> myprice;                            //临界价格
    Series<Numeric> myprice_temp;                       //临时的临界价格
    Series<Numeric> myprice_new;                        //记录因为止损而产生的新的临界价格
    Series<Numeric> nn;                                 //向前计算的日期
    Series<Numeric> temp;                               //临时数据
    Series<Numeric> temp2;                              //临时数据
    Series<Numeric> temp3;                              //临时数据
    Series<Numeric> temp4;                              //临时数据
    Series<Numeric> temp5;                              //临时数据
    Series<Numeric> temp666;                              //记录每日开仓次数
    Series<Numeric> temp777;                              //记录每日开仓次数
    Series<Numeric> temp666777;                              //过度的
    
    
    Series<Numeric> i;                                  //循环参数
    
    Numeric lots(1);        //下单手数
    
    
    
    Series<Numeric>  StopPrice_up;    //跟踪止损价
    Series<Numeric>  HighValue_up;    //多头进场之后的盈利峰值价
    Series<Numeric>  AF_up;            //跟踪Acceleration
    Numeric StopATR_up;
    
    
    

    Series<Numeric>  StopPrice_down;    //跟踪止损价
    Series<Numeric>  lowValue;    //多头进场之后的盈利峰值价
    Series<Numeric>  AF_down;            //跟踪Acceleration
    Numeric StopATR_down;
    
    
    
    
    
    
    //Numeric myprice;
    //Numeric temp;
    //Array<Array<Numeric>> myprice;

    
    Series<Numeric> ProtectStopL;
    Series<Numeric> ATR;
    Series<Numeric> Upperband;
    Series<Numeric> Lowerband;
    Series<Numeric> Exitlong;
    Series<Numeric> Exitshort;
    Numeric L2;
    Numeric L1;
    Numeric Minpoint;
Events
    
    OnInit()
    {
            SetBeginBarMaxCount(100);
            SetInitCapital(initcapital*10000);    //设定初始资金
            SetMarginRate(0.1);                    //设定保证金比例
            SetBeginBarMaxCount(1);
    }
    OnBar(ArrayRef<Integer> indexs)
    {

          Range[0:0]              //用15分钟数据计算
        {


        //确定临界价格
        if (hour*60+minute>=9*60+45 and hour*60+minute<=24*60+0) 
        {
          if (hour*60+minute==9*60+45)
             {
             myprice=open;
             //temp666=0;
             }
            
        
               
         
           //myprice= closeD(temp);
            //Print("临界价格:"+Text(myprice)+"日期:"+Text(Date)+"成交价:"+Text(myprice_temp)+"成交价:"+Text(temp5)+"成交价:"+Text(temp2));
            //Print("临界价格:"+Text(myprice)+"天数:"+Text(temp)+"日期:"+Text(temp-temp[1])+"日期:"+Text(Open)+"日期:"+Text(Date));

        
        
        //根据资金量确定开平仓量
        Lots=IntPart(Portfolio_CurrentCapital*1/(myprice*contractunit*BigPointValue)); //计算开仓手数,根据当前资金量计算,乘数代表杠杆倍数
        //Lots=0;
        
        
        //统计触碰次数
        if (high>=max(myprice,myprice_new) And low<=max(myprice,myprice_new))
        {
            temp5=temp5+1;
            }
        
        }
        
        
        //if (Mod(Minute, 15)==0)
        //{
        //temp666=0;
        //}
        
        
        temp666=0;
        
        }
        
        
        
        
        //Print("交易次数:"+Text(Minute));
        
        
        
        
        
         Range[1:1]              //用1分钟数据计算
        {
        
        
        
        if (hour*60+minute>=9*60+45 and hour*60+minute<=24*60+0)
        
        {
        
        
       
       
       
        if (Mod(Minute, 15)==0)
        {
        temp777=data0.temp666;
        }
        
        
        
        
        
        
        //系统入场
        If(Marketposition <>1 And Close[1] >= data0.myprice And Vol > 0 And data0.myprice<>InvalidNumeric And temp777==0)        //价格大于临界价格入场做多
        {
            temp4=temp4+1;                                                                            //记录交易次数
                    
            
            
            Buy(lots, Open);           //回测的时候用,假设冲击冲本为1%   国债期货可以改成0.1%
            temp777=1;
            
            //print("11111");
        }
        
        
            
        
        
        
        
        
    
        
    
        
        
        
        
        //记录盈利峰值价和跟踪止损价
        StopATR_up = Average(TrueRange,3);
        If(MarketPosition==1 And BarsSinceEntry==0)
        {
            StopPrice_up=low-StopATR_up*FirstBarMultp;
            AF_up=Acceleration;
            HighValue_up=High;
            
        }Else If(MarketPosition==1 And BarsSinceEntry>0)
        {
            If(High>HighValue_up)  HighValue_up=High;
            If(HighValue_up>HighValue_up[1] And AF_up<0.2)
            {
                AF_up=AF_up+Min(Acceleration,0.2-AF_up);
            }
            StopPrice_up=StopPrice_up+AF_up*(HighValue_up-StopPrice_up);
        }
        
        
        
        
        
        
        //向下突破跟踪止损价多头出场
        If(MarketPosition==1 And BarsSinceEntry>0 And Low[1]<=StopPrice_up[1] And Vol > 0 And temp777==0)
        {
            Sell(0,Open);
            //SellShort(0,Open);
            myprice_new=StopPrice_up[1];
            temp4=temp4+1;
            temp777=1;
        }
        
        
        
        
        
        
        
        
        
        
        }
        
        
        
        
        
        
        
        
        
        
            //在图标上画出跟踪止损价
        //PlotNumeric("myprice",myprice);
        PlotAuto("StopPrice_up", StopPrice_up,StopPrice_up,blue,Enum_Line,Enum_Solid,Enum_4Pix);
        PlotAuto("myprice", data0.myprice,data0.myprice,Green,Enum_Line,Enum_Solid,Enum_4Pix);
        
        
        
        
        //在图标上画出跟踪止损价
        //PlotNumeric("myprice_new",myprice_new);
        //PlotAuto("StopPrice_down",StopPrice_down,StopPrice_down,White,Enum_Line,Enum_Solid,Enum_4Pix);
        //PlotAuto("myprice_new", myprice_new,myprice_new,Red,Enum_Line,Enum_Solid,Enum_4Pix);
        
        
        //PlotAuto("low",low,low,Blue,Enum_Line,Enum_Solid,Enum_4Pix);
        
        
        
        //PlotAuto("BarsSinceEntry", BarsSinceEntry,BarsSinceEntry,blue,Enum_Line,Enum_Solid,Enum_4Pix);
        
        
        
        
        
        Print("temp777:"+Text(temp777)+"日期:"+Text(date)+"时:"+Text(hour)+"分:"+Text(minute)+"Mod(Minute, 15):"+Text(Mod(Minute, 15))+"temp666:"+Text(temp666));
        
        
        }
        
        
        
}
//------------------------------------------------------------------------
// 编译版本    GS2014.10.25
// 版权所有    TradeBlazer Software 2003-2025
// 更改声明    TradeBlazer Software保留对TradeBlazer平
//            台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

跨周期问题
请教TB跨周期问题
跨周期问题
关于策略选股里面,选股公式,跨周期问题
TB跨周期问题,为了避免引入未来数据,是否会系统性的延迟一根K线
跨周期函数
持仓时间等问题
关于跨周期的问题
关于跨周期的问题
跨周期模型回测问题

temp777的赋值没有按照条件被赋值为0,请问是怎么回事

打开你的程序,我看到的是temp777既有0也有1,你的情况再详细说明看看吧   

这种问题就是一个调试的过程

你这个说法过于模糊,我代码看了有0也有1

说的再具体点吧