开拓者期货期权程序化系统交易论坛
标题:
推荐一个学习TB公式的好方法
[打印本页]
作者:
skywalker
时间:
2007-10-1 00:26:37
标题:
推荐一个学习TB公式的好方法
学习编程需要大量的例子,总是有人抱怨说TB的例子太少,即便是论坛上的例子仍然太少。其实最好的例程库已经在TB中附带了,就是TB的系统用户函数库。每一个TB的用户函数都是可以用公式编辑器打开查看源代码的,并且在每个函数的属性和帮助文件中都写了该函数的含义和用法。
那么,最好的学习TB公式的方法就是自己重写用户函数!你先查看帮助文件,看某个函数的含义和用法,然后自己尝试着重写该函数,如果有问题写不下去了,那么就查看系统自带的该用户函数源代码。两相对照,很快你就能学会TB公式的写法啦
如果你想学习TB公式的写法,我推荐你重写以下几个用户函数:
1、Summation求和函数
从这个函数中你能学到IF语句,FOR循环语句的用法,以及序列变量的用法。
2、Average求平均函数
从这个函数中你能学到如何进行函数调用,并且把早先写的Summation函数用一用,增强点成就感
3、Extremes求极值函数
这个函数比较长,有74行代码。它几乎用到了所有的编程技巧。IF语句,FOR语句,序列参数,序列变量,而且它还用了稍微高级的引用变量。如果你能写出这个函数,那么你在公式上就已经入门了。
4、NthExtremes求N极值函数
这个函数是Extremes函数的一个变种,你不需要自己完全重写,但是如果你能把源代码读懂的话,那么要重写文华上几乎所有的指标对你来说都是轻而易举的事情了。
然后再写两个指标,看看如何来使用函数:
1、MA指标
学习如何来使用Average函数返回的数据
2、Spread价差指标
学习如何使用多数据源调用
我要重申一下TB公式系统的架构:
公式系统最底层的东西就是函数,系统函数或者用户函数。函数负责准备数据,这是个数据层。而指标、K线形态、特征走势和交易指令是表现层,他们负责把函数准备好的数据呈现出来。指标通过画线来呈现数据,K线形态和特征走势通过画点来呈现数据,而交易指令通过帐户操作来呈现数据。他们都只负责把数据以不同的方式呈现出来,而数据是由函数来准备的。正因为此,所以函数是最底层的,函数是用来被调用的。指标、K线形态、特征走势和交易指令都可以调用函数,但是指标却不能调用指标,指标也不能调用交易指令。这是与其他软件不同的地方。
[
本帖最后由 skywalker 于 2007-10-1 00:34 编辑
]
作者:
nickchen
时间:
2007-10-1 01:11:43
非常好 谢谢了 以后多指教
作者:
mht88
时间:
2007-10-1 22:02:41
好,继续学习
作者:
wfxxzf
时间:
2007-10-2 18:51:56
标题:
难
没有文华的简单,比较长,建议kd,macd模型编出来供学习
作者:
jvya
时间:
2007-12-11 14:48:22
这篇文章太好了,
给出了一条学习指导线路。从初学到入门。
绝对应该置顶。
让初学能早看到。会大大有帮助。我就是好久了刚看到。
强烈建议置顶
作者:
php168
时间:
2007-12-13 16:28:49
以后多指教,继续学习
作者:
guidaon
时间:
2007-12-14 20:04:41
继续学习
作者:
jvya
时间:
2007-12-18 22:16:42
好贴不能埋下去。顶
建议改下顺序,由易到难。好下手。
1、MA指标
2、Summation求和函数
3、Average求平均函数
之后。。。。。依序
作者:
stevenx8
时间:
2008-1-11 21:12:26
这是条好路子,偶慢慢来,试试看。
作者:
cqzzbszz
时间:
2008-5-24 23:59:59
这是初学者的指路明灯啊
作者:
前线小卒
时间:
2008-5-25 09:20:26
版主能每个语法用一个实例讲解吗?
作者:
guotie
时间:
2008-5-25 09:43:00
这篇文章应该置顶。
thx
作者:
feng1234567
时间:
2008-6-27 10:38:37
走过,路过,学习过。
谢谢
作者:
myangsoft
时间:
2008-9-5 14:28:24
好贴 以后多学习学习了
作者:
larsir
时间:
2009-8-29 18:10:32
好贴,早看到就好了!顶!
作者:
larsir
时间:
2009-8-30 18:56:59
标题:
学习进行中
已经接触TB两个月了,前天看了斑竹的文章后,按照斑竹的步骤,已经搞懂了summation和average函数,也搞清了MA指标和spread价差指标,感觉都还比较顺利。现在开始攻Extremes了,不过初看了一遍函数都还没完全看懂哦。感觉对于初学者来说这地方有点难度哦。写一个程序开始要不要先要构建一个框架,分成一块一块来写啊? 感觉斑竹可以把Extremes函数的编写思路过程和详细步骤作一个详细的讲解说明贴上来,大家再跟着学习讨论,应该很有代表性,可以省掉很多答疑的时间哦!
作者:
larsir
时间:
2009-8-30 22:04:46
If ( CurrentBar < Length - 1)
Else If(CurrentBar == Length - 1 || MyBar[1] == Length - 1)
Else
Extremes函数的基本框架就是上面那个吧? 第一种情况返回无效值明白,第二种情况和第三种情况能不能麻烦解释一下哦?
作者:
myangsoft
时间:
2009-9-2 00:05:27
谢谢楼主
作者:
枫林飞鹄
时间:
2009-9-9 22:21:47
新手学习中,谢谢
作者:
zyj4311151
时间:
2009-9-24 23:15:07
标题:
回复 1# skywalker 的帖子
顶
作者:
chengjun1201
时间:
2009-9-26 09:31:04
thank you rw rok
作者:
TBlzx
时间:
2010-3-7 20:50:11
标题:
回复 1# skywalker 的帖子
受益匪浅啊!!!学习,感谢
作者:
jiaoyizhe
时间:
2011-6-30 14:24:59
这个学习方法不错
作者:
ZCQ
时间:
2011-6-30 17:56:33
这个方法不错
作者:
白驹过隙
时间:
2011-7-2 17:29:56
顶下!能让人省去很多弯路!
作者:
mel_6e
时间:
2011-9-13 16:13:46
顶下 陈老板
作者:
xiaoshansanzhi
时间:
2011-11-1 18:16:52
回复
1#
skywalker
很好的建议
作者:
nzgnsilyn
时间:
2012-2-16 12:56:38
先学习了,编程好些年不用了,又重新拾起来了
作者:
nzgnsilyn
时间:
2012-2-16 15:14:59
今天收获很多
作者:
rookies
时间:
2012-7-15 23:11:33
好帖子,相逢恨晚
作者:
倔强
时间:
2012-7-21 09:38:10
虽然看不懂 但是一定要顶
作者:
欧莱雅男士
时间:
2012-11-7 10:06:53
非常感谢前辈的指点,我还在四处找寻学习公式的方法呢,原来家门口就有
作者:
zztt
时间:
2012-11-18 03:01:06
谢谢。很好的建议啊!
作者:
CHAXINQING
时间:
2012-11-18 16:25:14
需要耐心 慢慢来
作者:
圣殿英灵
时间:
2013-2-17 15:09:16
mark一下尝试自己写
作者:
天崖
时间:
2013-2-17 15:52:24
受益匪浅啊!!!学习,感谢
作者:
Tracymao
时间:
2013-2-19 15:33:09
很有用~
作者:
hepang
时间:
2013-3-22 18:32:39
juedui绝对应该给新手设计一条路径 按部就班的前行
作者:
zcmbuer
时间:
2013-3-26 10:45:25
NthExtremes这个函数看了2天完全摸不着头绪,版主可否指点一二,万分感激
作者:
Ngchibun
时间:
2013-4-9 18:31:56
不错不错,大有收获
作者:
LiuxiaoqiangTB
时间:
2013-8-27 18:51:12
指标却不能调用指标,这是TB的大大的缺陷啦!
作者:
suncrb
时间:
2014-8-5 11:41:37
这是初学者的指路明灯啊
作者:
zhangwu
时间:
2016-10-4 10:56:04
很好,怎么来?怎么用?怎么记?,正确的学习逻辑
作者:
fly1398
时间:
2017-12-9 16:52:24
多多学习,谢谢
作者:
hyqh900707171
时间:
2017-12-16 15:48:08
太好了,楼主太棒了,我是新手。程序什么的都不是很懂。这篇文章为我指明了方向,信心无比强烈!
作者:
maxachillesmax
时间:
2019-8-4 23:13:35
谢谢,学习了Extremes的写作,看了好久才看懂 - -
注释是真的少
If ( CurrentBar <= Length - 1 || MyBar[1] == Length - 1)
这两个下面 的逻辑 是一样的
其实我感觉CurrentBar <= Length - 1的循环次数可以不用for i = 1 to Length - 1 ,可以减少为1 to CurrentBar 。版主 觉得呢
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2