您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

时间周期问题 [开拓者 TB]

  • 咨询内容: If(CurrentBar > 45*Max(Mday,Nday))//使用的是5分钟周期,其它的周期自己做相应修改
    请问以上代码,修改周期,怎么修改,比如10分,20分钟,1小时

     

  • TB技术人员: 可否提供更多的代码,如果仅仅是想改变分析周期,在超级图表中右键商品设置,属性中可进行更改。如果是逻辑周期改变,需要改你那个45参数

     

  • TB客服: //------------------------------------------------------------------------
    // 简称: DualThrust
    // 名称: DUALTHRUST
    // 类别: 公式应用
    // 类型: 用户应用
    // 输出:
    //------------------------------------------------------------------------
    Params

    Numeric K1(0.5);

    Numeric K2(0.5);

    Numeric Mday(1);

    Numeric Nday(1);

    Numeric lots(1);

    Numeric offset(0);




    Vars

    Numeric BuyRange(0);

    Numeric SellRange(0);

    Numeric BuyTrig(0);

    Numeric SellTrig(0);

    Numeric HH;

    Numeric LL;

    Numeric HC;

    Numeric LC;

    Numeric i_offset;

    Numeric BuyPosition;

    Numeric SellPosition;



    Begin

    If(CurrentBar > 44*Max(Mday,Nday))//使用的是5分钟周期,其它的周期自己做相应修改

    {

            i_offset = offset*MinMove*PriceScale;

            HH = Highest(HighD(1),Mday);

            HC = Highest(CloseD(1),Mday);

            LL = Lowest(LowD(1),Mday);

            LC = Lowest(CloseD(1),Mday);



            If((HH - LC) >= (HC - LL))

            {

                    SellRange = HH - LC;

            }

            Else

            {

                    SellRange = HC - LL;

            }



            HH = Highest(HighD(1),Nday);

            HC = Highest(CloseD(1),Nday);

            LL = Lowest(LowD(1),Nday);

            LC = Lowest(CloseD(1),Nday);



            If((HH - LC) >= (HC - LL))

            {

                    BuyRange = HH - LC;

            }

            Else

            {

                    BuyRange = HC - LL;

            }



            BuyTrig = K1*BuyRange;

            SellTrig = K2*SellRange;

            

            BuyPosition = OpenD(0)+BuyTrig;

            SellPosition = OpenD(0)-SellTrig;

            

            PlotNumeric("BuyPosition",BuyPosition);

            PlotNumeric("SellPosition",SellPosition);



            If(MarketPosition == 0)

            {

                    If(High>=BuyPosition)

                    {

                            Buy(lots,Max(Open,BuyPosition)+i_offset);

                            Return;

                    }

                   

                    If(Low<=SellPosition)

                    {

                            SellShort(lots,Min(Open,SellPosition)-i_offset);

                            Return;

                    }

            }



            If(MarketPosition == -1)

            {

                    If(High>=BuyPosition)

                    {

                            Buy(lots,Max(Open,BuyPosition)+i_offset);

                            Return;

                    }

            }



            If(MarketPosition == 1)

            {

                    If(Low<=SellPosition)

                    {

                            SellShort(lots,Min(Open,SellPosition)-i_offset);

                            Return;

                    }

            }

    }

    End

     

  • 网友回复: 这个穿堂风的,代码,不知道怎么修改周期。想学习,学习

     

  • 网友回复: 这个是这样的,你只要改44这个系数就可以了,首先要搞清楚44是怎么算出来的,一天的交易时间为4*60-15=225,每五分钟画一根k线,则需要画225/5=45根k线,所以如果以五分钟为时间周期,必须首先有前一天的数据,也就是说5分钟k线至少应该有45根,才能开始计算。同理,你可以推出,如果是15分为周期(4*60-15)/15=15根k线,此时,只需要把44,改为14就可以了。这个公式应该有年头了,所以还没有算上夜盘的交易时间,所以你只能用他跑塑料或者丙烯,如果想跑股指,五分钟,需要把44改为45,如果需要跑大连或者郑州的夜盘品种,五分钟,需要把44改为74

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容