设为首页收藏本站

 找回密码
 注册
楼主: 前线小卒
打印 上一主题 下一主题

求助ATR的表达 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
11#
发表于 2007-10-17 18:00:24 |只看该作者
原帖由 前线小卒 于 2007-10-17 16:16 发表
还没懂,下次我什么情况下用 Numeric,什么情况下用NumericSeries?


简单的来说内,您需要用value[nOffset]这样回溯数据就需要定义为NumericSeries.
另外一种情况是作为参数传入,比如例子中的Highest,它的第一个参数需要是NumericSeries类型,所以Value1也必须是序列型

使用道具 举报

Rank: 2

精华
0
UID
543
积分
73
帖子
17
主题
4
阅读权限
30
注册时间
2007-10-15
最后登录
2019-4-5
12#
发表于 2007-10-18 08:48:25 |只看该作者
版主,初次编写tb,对于参数的调用有些问题。下面编了个求前10bar的收盘价的斜率,其中调用的情况请说明:
//------------------------------------------------------------------------
// 简称: try
// 名称:
// 类别: 技术指标
// 类型: 振荡类
// 输出:
//------------------------------------------------------------------------

Params
    NumericSeries price(1);
        Numeric lenth(10);
Begin
Price=close;
FileAppend("c:\\a.log",LinearRegSlope(Price,lenth));
End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2007/10/17 21:52
// 版权所有        hugingco
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
13#
发表于 2007-10-18 09:00:10 |只看该作者
原帖由 hugingco 于 2007-10-18 08:48 发表
版主,初次编写tb,对于参数的调用有些问题。下面编了个求前10bar的收盘价的斜率,其中调用的情况请说明:
//------------------------------------------------------------------------
// 简称: try
// 名称:
// 类别:  ...


FileAppend是输出信息到文件,您的目的应该是要在图上显示吧?
您这样的需求只需这么些就可以了!
  1. Params
  2.     Numeric Length(10);
  3. Begin
  4.     PlotNumeric("斜率",LinearRegSlope(Close,Length));
  5. End
复制代码

使用道具 举报

Rank: 2

精华
0
UID
543
积分
73
帖子
17
主题
4
阅读权限
30
注册时间
2007-10-15
最后登录
2019-4-5
14#
发表于 2007-10-18 09:28:18 |只看该作者
我打开日线图执行上面代码,发现数据一直在变,原想最多最后的数据由于最后收盘变动而变动。但好像有许多数据在变。后我加上日期:
//------------------------------------------------------------------------
// 简称: try
// 名称:
// 类别: 交易指令
// 类型: 多头建仓
// 输出:
//------------------------------------------------------------------------
Params
    Numeric Length(10);
Begin
    FileAppend("d:\\a.log",Text(day)+text(LinearRegSlope(Close,Length)));
End


//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2007/10/18 09:09
// 版权所有        hugingco
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
结果发现,18日的数据在不停的添加,请问程序是如何执行的?
另外我想将17日,16日15日14日的斜率赋值给数组a(1)-a(4)如何编写?
谢谢

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
15#
发表于 2007-10-18 09:54:56 |只看该作者
FileAppend函数是往文件追加内容!
公式执行时,开始是全部执行,后面行情更新时,只执行最后1个Bar,所以最后一个Bar的数据会一直追加到文件中!

TB不支持数组的操作!
如果您想取前几日的斜率,要这样写!

  1. Params
  2.     Numeric Length(10);
  3. Vars
  4.     NumericSeries LRS;
  5.     Numeric preLRS1;    // 前一日的LRS
  6.     Numeric preLRS2;    // 前二日的LRS
  7. Begin
  8.     LRS = LinearRegSlope(Close,Length);
  9.     preLRS1 = LRS[1];
  10.     preLRS2 =  LRS[2];
  11. ....
  12.     PlotNumeric("斜率",LRS);
  13. End
复制代码

[ 本帖最后由 nopain 于 2007-10-18 09:58 编辑 ]

使用道具 举报

Rank: 2

精华
0
UID
543
积分
73
帖子
17
主题
4
阅读权限
30
注册时间
2007-10-15
最后登录
2019-4-5
16#
发表于 2007-10-18 10:23:20 |只看该作者
如果要计算连续三根斜率 的平均值是否是lrs+prelrs1+prelrs2)/3?

使用道具 举报

Rank: 2

精华
0
UID
543
积分
73
帖子
17
主题
4
阅读权限
30
注册时间
2007-10-15
最后登录
2019-4-5
17#
发表于 2007-10-18 10:27:03 |只看该作者
//------------------------------------------------------------------------
// 简称: try
// 名称:
// 类别: 交易指令
// 类型: 多头建仓
// 输出:
//------------------------------------------------------------------------
Params
    Numeric Length(10);
Vars
    NumericSeries LRS;
    Numeric PRELRS1;    // 前一日的LRS
    Numeric PRELRS2;    // 前二日的LRS
Begin
    LRS = LinearRegSlope(Close,Length);
    PRELRS1 = LRS[1];
    PRELRS2 = LRS[2];
    FileAppend("d:\\a.log",Text(day)+" "+TEXT(LinearRegSlope(Close,Length))+" "+text((LRS+PRELRS2+PRELRS1)/3));
End


//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2007/10/18 09:09
// 版权所有        hugingco
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
结果无法识别字符;括号不匹配
请教

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
18#
发表于 2007-10-18 11:26:37 |只看该作者
+号用成全角的了!
修改后如下:

  1. FileAppend("d:\\a.log",Text(day)+" "+TEXT(LRS)+" "+text((LRS+PRELRS2+PRELRS1)/3));
复制代码

使用道具 举报

Rank: 2

精华
0
UID
13884
积分
59
帖子
19
主题
0
阅读权限
30
注册时间
2010-7-8
最后登录
2014-5-11
19#
发表于 2011-12-9 13:32:15 |只看该作者
这个try法。。。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-29 01:52

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部