设为首页收藏本站

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

看看人家的跨周期取数 [复制链接]

Rank: 3Rank: 3

精华
0
UID
2689
积分
168
帖子
43
主题
7
阅读权限
40
注册时间
2008-10-30
最后登录
2009-9-13
跳转到指定楼层
1#
发表于 2009-1-31 17:30:56 |只看该作者 |倒序浏览
最近看了MetaQuotes Language 4 (MQL4) ,发现,人家这才是真正的跨周期取数:

double iClose( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对的柱返回 关闭值。如果加载历史为空,函数返回0。
对于当前图表,关于收盘价格的信息在预定义数组中命名为 Close[]。
参量:
symbol   -   需应用到计算指标的货币对数据 NULL 意味当前货币对名称。 ----这个相当于期货合约吧。
timeframe   -   时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。 ------这个就是时间周期了。
shift   -   从指标缓冲器上获取的索引值。 -------这个回朔吧

示例:
  Print("对于 USDCHF H1当前柱: ",iTime("USDCHF",PERIOD_H1,i),", ",  iOpen("USDCHF",PERIOD_H1,i),", ",
                                      iHigh("USDCHF",PERIOD_H1,i),", ",  iLow("USDCHF",PERIOD_H1,i),", ",
                                      iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));


不知TB的开发人员有没有吸取点什么?

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2009-2-7 12:22:04 |只看该作者
这也只是取基础数据,高开低收等。中间变量怎么处理呢?

在处理跨周期时,shift 的取值也是个问题吧,假设5分钟和30分钟的shift还需要自行计算处理吧。

使用道具 举报

Rank: 2

精华
0
UID
245
积分
51
帖子
7
主题
1
阅读权限
30
注册时间
2007-9-1
最后登录
2010-12-27
3#
发表于 2009-9-9 22:14:50 |只看该作者
原帖由 nopain 于 2009-2-7 12:22 发表
这也只是取基础数据,高开低收等。中间变量怎么处理呢?

在处理跨周期时,shift 的取值也是个问题吧,假设5分钟和30分钟的shift还需要自行计算处理吧。 ...


MQL已经考虑了这个问题了,用iBarShift()函数可以解决这个问题,只要设定一个起始时间,在不同周期上的Bar的数量都可以通过这个函数很方便的得到。
原来在MT4上面开发的一个跨品种,跨周期的策略,想移植到TB来,看来还是有很大困难。

//-----------------------------------------------------------------------------------------------------------------------------
int iBarShift( string symbol, int timeframe, datetime time, void exact)
搜索柱开始的时间。函数返回指定开始时间的柱。如果柱的指定开始时间是省缺值, 函数将返回-1或 最近的柱 exact。

参量:
symbol   -   需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe   -   时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
time   -   查找值 (柱的开始时间)。
exact   -   未发现柱的返回模式。false - iBarShift 返回最近。 true - iBarShift 返回 -1。

示例:
  datetime some_time=D'2004.03.21 12:00';
  int      shift=iBarShift("EUROUSD",PERIOD_M1,some_time);
  Print("带有打开时间平移柱 ",TimeToStr(some_time)," 是 ",shift);

[ 本帖最后由 顺势加码 于 2009-9-9 22:24 编辑 ]

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
2689
积分
168
帖子
43
主题
7
阅读权限
40
注册时间
2008-10-30
最后登录
2009-9-13
4#
发表于 2009-9-13 15:39:12 |只看该作者
不知道TB对跨周期的研究怎么样了? 随着对MQL4的了解,发现它越来越可爱了.

TB努力啊.

使用道具 举报

Rank: 4

精华
0
UID
1271
积分
423
帖子
74
主题
21
阅读权限
50
注册时间
2008-3-5
最后登录
2021-2-8
5#
发表于 2009-9-14 22:28:39 |只看该作者
才发现mt4的优点呀,我老早希望tb能学习mt4, 等了这么长时间还是老样子。。。mt4在编译速度上非常快,而tb就慢的出奇,让我编的没有耐性,当然自己电脑不好也是一方面,在编译速度上希望tb能学习mt4,跨周期更不用说了tb跟不上mt4呀希望tb努力,还有mt4在图表上随意画趋势线,画任意条随便取个名字,就可以返回任意名字的趋势线的值,其实就是有个能根据指标名称返回指标的值的函数,所以可以画任意条趋势线返回不同的趋势线值,甚至可以编个程序自动连接两个波峰的值形成趋势线,即自动画趋势线,mt4不愧为世界公认的智能化交易软件,可惜不支持期货交易,期货界的软件高手也没人去开发作为期货的交易软件。。。。。希望TB努力也成为世界公认的智能化交易软件

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
6#
发表于 2009-9-14 22:51:44 |只看该作者

回复 5# b8866 的帖子

我是局外人,但我说一句:真正赚钱的系统,不超过200行 ,编译那是哗啦啦的

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
7#
发表于 2009-9-14 22:52:32 |只看该作者
不过TB正在着手升级编译器,尽请期待...

使用道具 举报

Rank: 4

精华
0
UID
1271
积分
423
帖子
74
主题
21
阅读权限
50
注册时间
2008-3-5
最后登录
2021-2-8
8#
发表于 2009-9-15 12:40:29 |只看该作者
赚钱的系统,不超过200行,那绝对赚不了钱,孙子带兵打仗把地形分为通形,挂形,支形,险形,远形等,把地形细分后采取不同的战略,而今天我觉的期货交易上的趋势分为初级阶段,高潮阶段,消退阶段,在不同的阶段上的获利点肯定不一样,包括止勋点应该是个变量根据不同的阶段止勋点不一样,也包括指标,如kd指标在多头初级阶段超跌值在20一下甚至更低,而多头高潮阶段中可能在30一下就超跌了,在消退阶段可能是诱多,kd指标可能不起作用,所以到了换指标的时候了,这一切说明了在多头中总结的经验会让你在空头中头破血流,应把市场趋势细分,越细越好,之后采用不同的交易策略,这样的话一个智能系统就变得复杂了,肯定超过1000行的,哈哈哈

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
9#
发表于 2009-9-15 13:01:02 |只看该作者
KD?   严重支持上千行

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 20:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部