设为首页收藏本站

 找回密码
 注册
查看: 4137|回复: 2
打印 上一主题 下一主题

请教:是否可以递归的方法(不知是否表达准确?)来代替循环 [复制链接]

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
跳转到指定楼层
1#
发表于 2007-8-16 15:51:54 |只看该作者 |倒序浏览
  1. Vars
  2.         Numeric AmountCum;
  3.         Numeric VolCum;       
  4.         NumericSeries AvgSettlePrice;
  5.         NumericSeries HighestClose(0);    // 当日以来的收盘价的最大值
  6.         NumericSeries LowestClose(0);    // 当日以来的收盘价的最小值
  7. Begin       
  8.         If(CurrentBar == 0)
  9.         {
  10.                 HighestClose = Close;
  11.                 LowestClose = Close;
  12.         }Else
  13.         {
  14.                 HighestClose = Max(Close,HighestClose[1]);
  15.                 LowestClose = Min(Close,LowestClose[1]);
  16.         }
  17. End
复制代码


上面是我在 帖子 http://www.tradeblazer.net/forum ... &extra=page%3D2 附件中摘录的部分代码,目的是求"当日以来的收盘价的最大值"和"当日以来的收盘价的最小值".

我对编程只有粗浅的了解,我的疑问是:在TB里面,是否可以经常的使用这种递归的方法(也许我的表达不准确)来代替循环?谢谢

[ 本帖最后由 nopain 于 2007-8-16 21:12 编辑 ]

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
2#
发表于 2007-8-16 19:33:33 |只看该作者
怎么没有回复?
怎么没有回复?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
3#
发表于 2007-8-16 21:18:21 |只看该作者
原帖由 ddbq 于 2007-8-16 15:51 发表

Vars
        Numeric AmountCum;
        Numeric VolCum;       
        NumericSeries AvgSettlePrice;
        NumericSeries HighestClose(0);    // 当日以来的收盘价的最大值
        NumericSeries LowestClose(0);    // 当日以来的收盘价的最小值
...


其实这种算法不算是递归。只是运用一点技巧,合理运用公式执行的外循环。
因为公式会从图表中第一个Bar开始,依次调用每个公式。
假定我们写的公式是技术指标MyIndicator,
用C语言来表达,外面其实还有这样一个循环。
for(int i=0;i<BarCount;i++)
{
     MyIndicator;
}

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 10:55

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部