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

不明不白 [开拓者 TB]

  • 咨询内容: 本帖最后由 chairmin 于 2013-8-24 07:20 编辑

    //------------------------------------------------------------------------
    // 简称: A_FFFFF
    // 名称: FFFF
    // 类别: 公式应用
    // 类型: 用户应用
    //------------------------------------------------------------------------

    Vars
            NumericSeries preE;
            Numeric mar;
    Begin
            mar= MarketPosition;
            if (AItime(750)==True) preE = 999;
            if (AItime(750)==False)  preE = 111;
            Commentary("preE="+Text(preE));
            Commentary("myenter="+Text(mar));
            if (AItime(700)==true)
            {
                    Buy(1,Close+2);
            }
            if (AItime(700)==False)
            {
                    SellShort(1,Close-2);
            }
    End



    //------------------------------------------------------------------------
    // 简称: AItime
    // 名称: 信号许可交易时间
    // 类别: 用户函数
    // 类型: 用户函数
    // 输出: 布尔型
    //------------------------------------------------------------------------

    Params
            Numeric Num(5);
    Vars
            Bool Con1(False);
            Numeric sj;
            Numeric bartime;
    Begin
            sj = Mod( CurrentTime * 1000000 , 10000 );// 取当前系统时间分钟和秒
            bartime = Mod ( Time * 1000000 , 10000);

                           If( (bartime == 1500 or bartime == 3000 or bartime == 4500 Or bartime ==0000 )and (CurrentTime<0.085899 or CurrentTime> 0.150200) ) con1 = True ;


            If(BarInterval==15)  //当 当前K线周期值 = 15时
            {
                    If((   sj>=(1460-Num) and sj<1500  ) or ( sj>=(4460-Num) and sj<4500 ) or ( sj>=(2960-Num) and sj<3000 ) or ( sj>=(5960-Num) and sj<6000 ) )
                    {
                            con1 = True;
                    }
            }
            If(BarInterval==30)
            {
                    If ( (sj>=(2960-Num) and   sj<3000) or (  sj>=(5960-Num) and sj<6000) )    con1 = True;
            }
            If(BarInterval==60)
            {
                    If(sj >= (5960-Num) and sj < 6000)   con1 = True;               
            }       
           
            Return Con1;
    End

     

  • TB技术人员: 看来我注定只能用文华

     

  • TB客服: 楼主的代码里用到了currenttime,这个时间是不断变化,所以,你计算出来的AItime的值是变化的,会造成信号的消失

     

  • 网友回复: 本帖最后由 chairmin 于 2013-8-22 14:20 编辑
    ample 发表于 2013-8-21 14:58
    楼主的代码里用到了currenttime,这个时间是不断变化,所以,你计算出来的AItime的值是变化的,会造成信号 ...


    但是空单都不能建出来,每次都是只开多单。这是为什么? 难道是因为递一个BAR 是空的信号?  学艺不精,还得努力

     

  • 网友回复: 主要还是跟AItime函数的编写有关,因为,计算出来的值全是true

 

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

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容