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

标题: 看看人家的跨周期取数 [打印本页]

作者: PYZFL    时间: 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的开发人员有没有吸取点什么?
作者: nopain    时间: 2009-2-7 12:22:04

这也只是取基础数据,高开低收等。中间变量怎么处理呢?

在处理跨周期时,shift 的取值也是个问题吧,假设5分钟和30分钟的shift还需要自行计算处理吧。
作者: 顺势加码    时间: 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 编辑 ]
作者: PYZFL    时间: 2009-9-13 15:39:12

不知道TB对跨周期的研究怎么样了? 随着对MQL4的了解,发现它越来越可爱了.

TB努力啊.
作者: b8866    时间: 2009-9-14 22:28:39

才发现mt4的优点呀,我老早希望tb能学习mt4, 等了这么长时间还是老样子。。。mt4在编译速度上非常快,而tb就慢的出奇,让我编的没有耐性,当然自己电脑不好也是一方面,在编译速度上希望tb能学习mt4,跨周期更不用说了tb跟不上mt4呀希望tb努力,还有mt4在图表上随意画趋势线,画任意条随便取个名字,就可以返回任意名字的趋势线的值,其实就是有个能根据指标名称返回指标的值的函数,所以可以画任意条趋势线返回不同的趋势线值,甚至可以编个程序自动连接两个波峰的值形成趋势线,即自动画趋势线,mt4不愧为世界公认的智能化交易软件,可惜不支持期货交易,期货界的软件高手也没人去开发作为期货的交易软件。。。。。希望TB努力也成为世界公认的智能化交易软件
作者: 只求薄利    时间: 2009-9-14 22:51:44     标题: 回复 5# b8866 的帖子

我是局外人,但我说一句:真正赚钱的系统,不超过200行 ,编译那是哗啦啦的
作者: 只求薄利    时间: 2009-9-14 22:52:32

不过TB正在着手升级编译器,尽请期待...
作者: b8866    时间: 2009-9-15 12:40:29

赚钱的系统,不超过200行,那绝对赚不了钱,孙子带兵打仗把地形分为通形,挂形,支形,险形,远形等,把地形细分后采取不同的战略,而今天我觉的期货交易上的趋势分为初级阶段,高潮阶段,消退阶段,在不同的阶段上的获利点肯定不一样,包括止勋点应该是个变量根据不同的阶段止勋点不一样,也包括指标,如kd指标在多头初级阶段超跌值在20一下甚至更低,而多头高潮阶段中可能在30一下就超跌了,在消退阶段可能是诱多,kd指标可能不起作用,所以到了换指标的时候了,这一切说明了在多头中总结的经验会让你在空头中头破血流,应把市场趋势细分,越细越好,之后采用不同的交易策略,这样的话一个智能系统就变得复杂了,肯定超过1000行的,哈哈哈
作者: 只求薄利    时间: 2009-9-15 13:01:02

KD?   严重支持上千行




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