开拓者期货期权程序化系统交易论坛

标题: 每根K线上返回当天的第一根K线的开盘价该怎么写啊? [打印本页]

作者: 长江7号    时间: 2008-6-17 08:16:30     标题: 每根K线上返回当天的第一根K线的开盘价该怎么写啊?

俺是菜鸟,周6开始学TB的,昨天写了个东东, 求一小时K线图上的每根K线上(从第2根K线起)返回当天的第一根K线的开盘价该怎么写啊?

我自己写了下,在6-12和6-13上运行了下,结果输出的不对啊,求老大和高手们指点:

Vars
        Numeric FirstClose;                               
Begin
       
        If(date!=date[1])
  {  If(CurrentBar==0)
          {
                FirstClose=Close;
           }
   }
FileAppend("D:\\a.log",Text(day)+"日"+Text(hour)+"点的今天第一根小时K线的收盘价等于"+Text(Firstclose));
End

12日9点的今天第一根小时K线的收盘价等于4086
12日10点的今天第一根小时K线的收盘价等于0
12日11点的今天第一根小时K线的收盘价等于0
12日13点的今天第一根小时K线的收盘价等于0
12日14点的今天第一根小时K线的收盘价等于0
13日9点的今天第一根小时K线的收盘价等于0
13日10点的今天第一根小时K线的收盘价等于0
13日11点的今天第一根小时K线的收盘价等于0
13日13点的今天第一根小时K线的收盘价等于0
13日14点的今天第一根小时K线的收盘价等于0

为什么就第一根有啊? 后面都是0呢?
作者: 哈哈    时间: 2008-6-17 08:46:59

直接调用用户函数OpenD就可以了,OpenD(0)表示当天的开盘价格
作者: 长江7号    时间: 2008-6-17 09:18:10

谢谢哈哈,
可是我要的是小时K线,每天第一根K线的收盘价哦
不懂啊~
作者: 长江7号    时间: 2008-6-17 09:24:14

我知道我上面的公式问题出在哪里了,
公式在后面bar计算时,返回的是变量的默认值0了,所以只有第一根有返回,可是怎么让后面的都返回第一根的值呢,思考中...

请斑竹,哈哈和高手们帮忙啊
作者: 小米    时间: 2008-6-17 09:30:14

呵呵.你是文字写的要开盘价,公式代码却是要收盘价了.



  1. Vars
  2.     NumericSeries firstclose;

  3. Begin
  4.     if(date!=date[1])
  5.      {
  6.         firstclose=close;
  7.        }else
  8.       {
  9.         firstclose=firstclose[1];
  10.        }
复制代码

作者: 长江7号    时间: 2008-6-17 10:58:33

哈哈,可以了
谢谢小米~~




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2