8姑娘内心的二维世界
我们刚才看到的表格,就是8姑娘内心的二维世界。
在这个世界里,每一列代表一个K线位置,每一行代表一个变量。
这个世界就被分割成了一个一个的小方格,在每个方格中都存储着一个数据。
横向来看,是以变量为单位的,在不同的K线位置上都有一个值,这些值共同组成了一个序列,这个序列的名称就是这一行的变量名称。
纵向来看,是以K线位置为单位的,一个K线位置上可以有很多变量,一个变量在一个K线位置上只存储一个数值。
这张表随着时间推移,横向向右扩展。随着变量个数的增加,纵向向下扩展。
在横向,有6个默认的变量序列,这是行情的基础数据。是8姑娘已经理解的,所以,我们在编写模型时拿来就能用。
你在模型里定义了一个新变量,就相当于给这张表格的一行取了一个名字,这张表也就向下扩展了一行。理论上,这张表格可以无限向下扩展。
除了系统默认的前6行,你自定义的所有变量都是衍生数据,从前6行的基础数据变换而来。
定义一个变量,除了要赋予他名字之外,还要给他思想,这才是变量存在的真正意义。
所谓的思想,简单一点说就是变量数据的计算公式。这个公式可以简单到只是一个常数,也可以非常复杂。
但是有一个要求,就是公式中用到的所有变量名称在前面都已经定义过了,不能在后面定义或者没有定义。
也就是说,你定义的第一个变量,一定是只用到了6个基础行情数据。
我们把模型加载到K线图的过程,对于8姑娘而言,就是扩展她内心世界的过程。先从上到下,再从左到右。
细心的朋友可能会问了,刚才那个KDJ指标,我平时看盘的时候是三条线啊,但是为什么在8姑娘的内心还有一个RSV呢?
这是一个悲伤的故事,仅是因为变量名称和表达式之间连接的方式不同。
RSV后面用到了:=连接,所以他并不像K、D、J这三个喊着金汤勺出生的家伙,他们是用:连接的。所以RSV只能在后台默默无闻的工作,被所有人所忽视。
对于一个复杂的模型,往往只有极少数的变量有机会显示出来,更多的变量只能存在于后台。
看来任何一个世界都不是绝对公平的。
好了,理解了8姑娘的内心世界,我们应该清楚跟她沟通的规则了,这也是我们编写模型需要遵守的基本规则:
1.系统对基础数据预留了变量名称,使用这些变量不需要事先定义。
2.定义一个变量首先要给他取一个名字,不能与前面出现过的任何一个名字重复,然后用:或者:=与后面的表达式连接,表达式用分号表示结束
3.表达式里,如果用到了衍生变量,必须在前面是已经定义过的。
你回头看一下,第一幅图中的2、4、5、6行是不是符合这三条规则?
[此贴子已经被作者于2015/11/29 14:18:25编辑过]