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

图表没有信号,但却有FileAppend建仓记录输出,恳请请指点。 [开拓者 TB]

  • 咨询内容: 以下代码插入螺纹的1小时图表中,目的是为了实现保存建仓的bar索引值,在图表没有信号发生,建仓的bar索引值却变更了,从FileAppend输出到文本的文档看,图表上没有发生信号时,在输出文本文档里却会产生了建仓的bar索引值变更的输出记录,所以感到困惑,请指点,谢谢!




    Vars
    Numeric MyVar0;     //定义0号变量
    Numeric MyVar1;     //定义1号变量
    Begin
    FileAppend("C:\\每个BAR序列值.log","每个BAR序列值CurrentBar = "+Text(CurrentBar));     //将每个bar的索引值输出到C盘,文件名称为“每个BAR序列值”

    If(BarStatus==2 && Time==0.090000 && High==Low) return;   //避免未开盘交易时发单
    MyVar0 = getGlobalVar(0);    //将全局变量初始值赋值给0号变量
    MyVar1 = getGlobalVar(1);     //将全局变量初始值赋值给1号变量



    If (BarStatus==0 && MyVar0==InvalidNumeric && MyVar1==InvalidNumeric)

    {                           
                    SetGlobalVar(0,0);//给0号全局变量赋值为0
                    SetGlobalVar(1,0); //给1号全局变量赋值为0                        
    }
    If (Marketposition==-1);
    {
       if((close[1]-open[1])>18  )
    {
                     BuyToCover(1,open);        
             }
    }


    If (Marketposition==1);
    {
         if((open[1]-close[1])>18)
            {
                     Sell(1,open);
             }

    }
    If (Marketposition==0);

    {
    if((open[1]-close[1])>18)
            {
                     SellShort (1,open);
    SetGlobalVar(0, CurrentBar);//将当前空头建仓的bar的索引值赋值给0号全局变量
    FileAppend("C:\\ 建仓的BAR序列值.log","CurrentBar = "+Text(getGlobalVar(0)) + "空头建仓");     //将当前空头建仓的bar的索引值输出到C盘,从此输出文档发现,图表没有信号发生,但有建仓记录输出。
             }
         if((close[1]-open[1])>18 )
             {
                     Buy (1,open);
    SetGlobalVar(1, CurrentBar);   //将当前多头建仓的bar的索引值赋值给1号全局变量FileAppend("C:\\ 建仓的BAR序列值.log","CurrentBar = "+Text(getGlobalVar(1)) + "多头建仓");    //将当前多头建仓的bar的索引值输出到C盘,从此输出文档发现,图表没有信号发生,但有建仓记录输出。

             }
    }

    End

     

  • TB技术人员: 因希望能够通过三个全局变量保存近三个信号的bar索引值。

     

  • TB客服: 以下代码插入螺纹的1小时图表中,目的是为了实现保存建仓的bar索引值,在图表没有信号发生,建仓的bar索引值却变更了,从FileAppend输出到文本的文档看,图表上没有发生信号时,在输出文本文档里却会产生了建仓的bar索引值变更的输出记录,所以感到困惑,请指点,谢谢!




    Vars
    Numeric MyVar0;     //定义0号变量
    Numeric MyVar1;     //定义1号变量
    Begin
    FileAppend("C:\\每个BAR序列值.log","每个BAR序列值CurrentBar = "+Text(CurrentBar));     //将每个bar的索引值输出到C盘,文件名称为“每个BAR序列值”

    If(BarStatus==2 && Time==0.090000 && High==Low) return;   //避免未开盘交易时发单
    MyVar0 = getGlobalVar(0);    //将全局变量初始值赋值给0号变量
    MyVar1 = getGlobalVar(1);     //将全局变量初始值赋值给1号变量



    If (BarStatus==0 && MyVar0==InvalidNumeric && MyVar1==InvalidNumeric)

    {                           
                    SetGlobalVar(0,0);//给0号全局变量赋值为0
                    SetGlobalVar(1,0); //给1号全局变量赋值为0                        
    }
    If (Marketposition==-1);
    {
       if((close[1]-open[1])>18  )
    {
                     BuyToCover(1,open);        
             }
    }


    If (Marketposition==1);
    {
         if((open[1]-close[1])>18)
            {
                     Sell(1,open);
             }

    }
    If (Marketposition==0);

    {
    if((open[1]-close[1])>18)
            {
                     SellShort (1,open);
    SetGlobalVar(0, CurrentBar);//将当前空头建仓的bar的索引值赋值给0号全局变量
    FileAppend("C:\\ 建仓的BAR序列值.log","CurrentBar = "+Text(getGlobalVar(0)) + "空头建仓");     //将当前空头建仓的bar的索引值输出到C盘,从此输出文档发现,图表没有信号发生,但有建仓记录输出。
             }
         if((close[1]-open[1])>18 )
             {
                     Buy (1,open);
    SetGlobalVar(1, CurrentBar);   //将当前多头建仓的bar的索引值赋值给1号全局变量
    FileAppend("C:\\ 建仓的BAR序列值.log","CurrentBar = "+Text(getGlobalVar(1)) + "多头建仓");    //将当前多头建仓的bar的索引值输出到C盘,从此输出文档发现,图表没有信号发生,但有建仓记录输出。

             }
    }

    End

     

  • 网友回复: 发现排版有问题,所以重排版,请高手以第三楼的代码测试。

 

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

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


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

相关文章

    没有相关内容