3月13日 | 线上培训 - TBQuant3图表开平仓信号管理-1

3月20日 | 线上培训 - TBQuant3图表开平仓信号管理-2
3月27日 | 线上培训 - TBQuant3线上答疑
4月3日 | 线上培训 - TBQuant3线上答疑
4月17日 | 线上培训 - TBQuant3线上答疑
4月24日 | 线上培训 - TBQuant3线上答疑
5月8日 | 线上培训 - TBQuant3线上答疑
5月29日 | 线上培训 - TBQuant3线上答疑
6月5日 | 线上培训 - TBQuant3线上答疑
1月24日 | 智大领峰 - 线上培训 - 用MACD判断趋势
6月19日 | 线上培训 - TBQuant3 - A函数调试2
//------------------------------------------------------------------------
// 简称: ttlesson_0313_2025
// 名称: 
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    //此处添加参数
    Numeric cishu(25);
Vars
    //此处添加变量
    Global Numeric aa;
    Series<Numeric> ma1;
    Series<Numeric> ma1_1;
    Series<Numeric> ma2;
    Series<Numeric> ma3;
    Series<Numeric> enter_con(0);//策略状态变量
    Series<Numeric> my_cishu(0);//当前交易次数
Defs
    //此处添加策略函数
    
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        
    }
    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
         ma1 = Average(close,5);
        ma1_1 = Average(close,10);
         ma2 = Average(close,60);
         ma3 = Average(close,180);
        Commentary("MarketPosition="+text(MarketPosition));
        if( CrossOver(ma2[1],ma3[1]) and enter_con==0 ) // 0 没仓 => 1 建立底仓
        {
            Buy(1,open);
            enter_con = 1;
            
        }
        /////1 -> 2提前离场
        if( CrossUnder(ma1[1],ma1_1[1]) and enter_con ==1 and my_cishu < cishu) //当前的交易次数<限制次数
        {
            Buy(1,open);
            my_cishu = my_cishu +1;
        }
        if(enter_con ==1 and CrossUnder(ma1_1[1],ma2[1]) )// 停止加仓,并减半仓
        {
            sell(CurrentContracts/2,open);
            PlotAuto("平半","平半",close);
            enter_con = 2;//  2的路径 要想一想 2->0 2->1
        }
        
        if(CrossUnder(ma2[1],ma3[1]) and (enter_con ==1 or enter_con==2) )// 1状态并不是最终, 1和2共同点是大于0
        {
            sell(0,open);
            enter_con = 0;
            my_cishu = 0;
        }
        Commentary("enter_con="+text(enter_con));
        
        Commentary("my_cishu="+text(my_cishu));
        PlotAuto("ma1",ma1);
        PlotAuto("ma1_1",ma1_1);
        PlotAuto("ma2",ma2);
        PlotAuto("ma3",ma3);
    }
    

//------------------------------------------------------------------------
// 编译版本    2025/3/13 153550
// 版权所有    wangkaiming
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------