3.2 价量走势程序代码编写实例
价格和成交量被形容为期货(或股票)运动的基本元素,同时也被技术分析派认为是技术分析的最根本和最小的技术单位。由两者在一段连续的时间内的相互构造可以派生出其他所有的技术分析方法和技术揭标。所以就有许多投资者选用了价量作为研究对象,力求从最简单的分析组合、最基础的分析对象来把握对复杂市场运动的准确描述。
3.2.1 放量创出新高程序代码编写实例
放量创出新高,即成交里放大的同时,价格创出一个新的高点。需要量化的是, 成交量放大,是放大到多少,和哪一天的成交量比较?创出新高,是相对于多少天创出新高。这需要在实战中根据具体情况进行优化,为了讲解,这里采用10 日成交量均量较前一周期放大1.5 倍或以上,同时价格创出最近45 天内的新高。
先定义当前10 日成交量均量,即X1 : = MA(VOL,10) ;
再定义前一个周期成交量均盘, 即X2:= REF(X1 , 1) ;
放大1.5 倍,即X3:= X1 /X2 >1.5 ;
价格创出最近45 天内的新高, 即Y1:= HHV(CLOSE ,45);
这样,放量创出新高的程序代码如下:

3.2.2 阶段涨幅程序代码编写实例
阶段涨幅,是指某一周期内(即多少天内)涨幅或跌幅大于百分之几的商品或股票。
可以具体量化到某个值,如7 天内涨幅大于20%; 也可以把周期设成变量,百分之几也设置成变量然后再用程序代码实现。
7 天内涨幅大于20% 的程序代码如下:
X1:= REF(CLOSE,7) ;
X2:= CLOSE/X1>1.2;
如果把周期设成变量,百分之几也设置成变量,需要先设置参数,具体参数设置如图3.7 所示。

这里设置两个参数,分别是N 和M ,其中N 表示周期,最小值为3 ,最大值为100 , 缺省值为7,即默认为7 天; 而M 表示百分之几,最小值为8 ,最大值为80 , 缺省值为20 ,即默认为20% 。
然后编写程序代码如下:
X1:= REF(CLOSE, N);
X2 := CLOSE/X1>1+M/100;
这样,如图3.8 所示。

3.2.3 持续放量走高程序代码编写实例
持续放量走高,是指成交量连续放大,并且价格不断震荡上涨。为了编写理序代码,需要对持续放量走高进行量化。
连续5 天, 10 日均量连续放大,价格步步上涨。
10 日均量连续放大,先来定义当前周期10 日均茧,即X1: =MA(VOL,10) ;
再来定义上一个周期10 日均虫,即X2:= REF(X1 ,1) ;
由于均虽是连续放大,所以X3:= X1>X2 ;
由于是连续5 天均量都是持续放大的, 所以这里用到了COUNTO 函数,具体代码如下:
Y1 := COUNT(X3,5)=5 ;
再来定义上一个周期的收盘价,即Z1 :=REF(CLOSE ,1) ;
当前收盘价要大于上一个周期的收盘价,即Z2:= CLOSE>Z1 :

要求连续5 天, 当前收盘价要大于上一个周期的收盘价, 即Z3 : =COUNT(Z2,5)=5 ;
这样,持续放量走高, 即连续5 天, 10 日均量连续放大, 价格步步上涨的程序代码如下:

3.2.4 突破长期整理平台程序代码编写实例
突破长期整理平台,是指价格长期在一个小范围内震荡盘整,突破一天,价格般量突破震荡平台。突破长期整理平台有两种,分别是向上突破和向下突破。
先以向上突破长期整理平台为例来讲解,先来进行量化:
用200 日表示长期; 用价格在200 日均线附近上下波动15% 来表示长时间在小范围内震蔼盘整; 放量用成交量大于最近5 日均量的2 倍;突破是指收盘创出200 天来的新高。
先来定义200 日均价,即X1 : = MA(CLOSE , 200);
定义200 日的最高价, 即X2: = HHV(HIGH,200);
定义200 日的最低价,即X3: = LLV(LOW,200);
下面来表示价格在200 日均线附近上下被动15% 来表示长时间在小范围内震荡盘整。
定义最高价与200 日均价的差,再除以200 日均价,即X4:=(X2-X1)/X1;
定义200 日均价与最低价的差, 再除以200 曰均价,即X5:= (X1-X3)/Xl;
这样,价格在200 日均线附近上下波动15% 代码是, X6:=REF(X4,1)<0.15 && REF(X5,1)<0.15 ;
放量,即成交量大于最近5 日均量的2 倍,程序代码如下:
Y1:= MA(VOL, 5);
Y2 := VOL/REF(Y1, 1) >2 ;
突破,即收盘创出200 天来的新高, 程序代码如下:
Z1:= HIGH =X2 ;
这样,向上突破长期整理平台的程序代码如下:

向下突破长期整理平台, 与向上突破长期震荡平台代码几乎一样,只要最后一个条件不同,即不放量向上突破,而是放量向下突破,即Z1:= LOW=X3:
3.2.5 创下历史新低或新高程序代码编写实例
新高和新低是投资者经常关注的变化,因为它们通常寓意着一些重要的信息, 尤其是历史的新高或者新低,其意义应该是更加重要。
如果细心的话,在软件的函数介绍当中,屡次提到了如果HHV、LLV、MA 等引用类函数的时段为0 的话那么该函数的计算范围是本地所有的数据。
历史新低,即当日价格曾经到了历史的最低价之下,也就是"当天的最低价为上市以来所有交易曰的最低价"。
先来定义历史最低价,即X1:= LLV(LOW,0) ;
再来定义当前价格就是历史最低价, LOW = X1 ;
所以创出历史新低的程序代码如下:
X1:= LLV(LOW,0)
LOW = X1 ;
创出历史新高,代码也很简单,具体如下:
X1: = HHV (HIGH, 0)
HIGH = X1;