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

我想文本输出两个BAR之间的数据该怎么写? [开拓者 TB]

  • 咨询内容: 比如我想统计MACD金叉时间,死叉时间,金叉和死叉之间的BAR数量,之间的最高价、最低价。并输出到指定的文本文档。
    我知道输出到指定的文本文档的函数了,
    但怎么得到金叉时间,死叉时间,怎么算出之间的BAR的数量,怎么统计之间的最高价、最低价不知道。
    想请老师提供一个源代码供我们学习。谢谢!!!

    谢谢!!!
    谢谢!!!
    谢谢!!!
    谢谢!!!
    谢谢!!!
    谢谢!!!
    谢谢!!!
    谢谢!!!
    谢谢!!!

     

  • TB技术人员:
    1. Params
    2.         Numeric FastLength(12);
    3.         Numeric SlowLength(26);
    4.         Numeric MACDLength(9);
    5. vars
    6.         NumericSeries MACDValue;
    7.         Numeric AvgMACD;
    8.         Numeric MACDDiff;
    9.         bool crossup;
    10.         bool crossdown;
    11.         numericseries count1;
    12.         numericseries count2;
    13.         NumericSeries high1;
    14.         numericseries low2;
    15.         numericseries myhigh;
    16.         numericseries mylow;
    17.         numeric uphgih;
    18.     numeric downlow;
    19. begin
    20.        
    21.         MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
    22.         AvgMACD = XAverage(MACDValue,MACDLength);
    23.         MACDDiff = MACDValue - AvgMACD;
    24.         /* PlotNumeric("MACD",MACDValue);
    25.         PlotNumeric("MACDAvg",AvgMACD);
    26.         If (MACDDiff >= 0)       
    27.                 PlotNumeric("MACDDiff",MACDDiff,0,Red);
    28.         Else
    29.                 PlotNumeric("MACDDiff",MACDDiff,0,Green);
    30.         PlotNumeric("零线",0);           */
    31.         crossup = crossover(MACDValue,AVGMACD);
    32.         crossdown = CrossUnder(MACDValue,AVGMACD);
    33.         If(crossup == true)
    34.         {
    35.                 count1 = 1;
    36.                 mylow = low2[1];
    37.         }else If(crossdown == true)
    38.         {
    39.                 count2 =1;
    40.                 myhigh = high1[1];
    41.         }else
    42.         {
    43.                 count1 = count1+1;
    44.                 count2 = count2+1;
    45.         }
    46.         high1 = Highest(high,count1);
    47.         low2 = Lowest(low,count2);
    48.         Commentary("count1:"+Text(count1));
    49.         Commentary("count2:"+Text(count2));
    50.         PlotNumeric("myhigh",myhigh);
    51.         PlotNumeric("mylow",mylow);
    52. end
    53.        
    复制代码

     

  • TB客服: 谢谢!!!!

     

  • 网友回复:
    小米 发表于 2016-4-26 09:12

    谢谢版主的回复!我学习了一下,发现你的代码和我需求的还是有一点出入,我想要学的还没有完全得到解决。

    1.我想要得到的是一个金叉到一个死叉为区间的数据结果(或一个死叉到一个金叉为区间),你的程序是一个金叉到下一个金叉为区间的结果。(或一个死叉到下一个死叉为区间)。

    2.能不能直接计算出结果,以文本的形式输出到指定文本文档。
    (具体有一,金叉和死叉之间的BAR数,
          二,金叉到死叉区间的最高价最低价和开仓BAR收盘(金叉或死叉形成为开仓BAR)的差值。
          三,最高价和最低价到开仓价的BAR数。
          四,最高价和最低价的差值。
          五,金叉收盘价到死叉收盘价的差值。



    最重点的是金叉到死叉的区间怎么描述??


    谢谢!!!!!!

    谢谢!!!!!!

    谢谢!!!!!!

    谢谢!!!!!!

     

  • 网友回复:
    zhoukaike 发表于 2016-4-26 12:19
    谢谢版主的回复!我学习了一下,发现你的代码和我需求的还是有一点出入,我想要学的还没有完全得到解决。 ...


    1,原来使用count2的地方,都使用count1来替换,去掉count2这个变量即可
    2,可以使用filappend, 将所需的内容输出到指定文本文档中。
        建议自己先学习后再来摸索,自己来实现需求吧。

 

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

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


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

相关文章

    没有相关内容