中间语句。重复使用的语句也可以定义成中间语句。
6、设计其他公式语句:
其他类型的公式显示的不是指标线,而是相应的操作,如条件选股公式显示的是选股结果,交易系统公式显示的是交易指示,五彩K线公式显示的是K线颜色。这些公式需要有一条或几条逻辑表达式表示这些操作的语句,当语句返回0时表示不需要进行相应的操作,当返回非0时表示需要进行相应的操作。其他的语句都应设定为中间语句。
条件选股公式只有一条逻辑表达式语句,用来表示选股条件是否成立,例如CLOSE>REF(close;1)语句,表示选出当期收盘价高于上日收盘价的股票。其他的语句必须设定为中间语句,否则编辑器出现“只能有一个输出结果”的警示。
交易系统公式需要1-4条逻辑表达式语句,分别为多头和空头的切入切出条件语句,分别用ENTERLONG, EXITLONG, ENTERSHORT, EXITSHORT表示多头买入、多头卖出、空头切入、空头切出条件,当这些语句返回非0时,表示需要进行相应的操作。其他的语句必须设定为中间语句,否则编辑器出现“非交易信号变量只能用:=赋值”的警示。这四个条件中必须至少设定一个条件。
五彩K线公式可以有1…6条逻辑表达式语句,最多描述6种不同的颜色。
7、设计计算参数:
我们有时需要调节公式中的常数来看公式的表现,可以直接进入公式修改,更方便的方法是用计算参数来指代公式中的常数,需要调节公式时不需进公式只需调节参数就可以了。比如,经常要修改REF(close;1)中的第二个参数1,这时可以把它设为一个计算参数N,公式写成REF(close;N),到时调节N即可。计算参数包括参数名称、最小值、最大值、缺省值四个部分。参数名称用于标识参数,本例我们将参数名定位N,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。设定参数后,在图形分析窗口显示该指标时,指标名跟着有参数,右键点击参数即可对它进行修改。对于交易系统公式,每个参数还包括一个测试步长,在优化参数时系统从最小值到最大值逐一调整参数,每次调整的增量就是测试步长。例如最小值1,最大值30,步长10,则系统将测试参数1,11,21。最大测试步数为10000次。每个公式可以带有最多16个计算参数。
公式编制
这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
收盘价线
这是最简单的公式:
CLOSE
均线的画法
计算N日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(X;N)表示X的N日平均。
例如:
MA1: MA (CLOSE;5) , coloryellow ;
表示为: 参数名 画一条5日收盘价的均线 设置该线为黄色
涨幅
涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价*100%, 昨日收盘价的公式为:REF(CLOSE;1),因此涨幅的公式:
(CLOSE…REF(CLOSE;1))/REF(CLOSE;1)
换手率
换手率指当期的成交量占流通股本的比例。
公式:
VOL/CAPITAL
VOL为当期成交量,CAPITAL为流通股本。
创新高
创新高指当日最高价是最近一段时间的最高价:
HIGH=HHV(HIGH;N)
其中的HIGH为当期最高价,HHV(X;N)是求N周期内X最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。
横盘整理
横盘整理指最近一段时期价格在一定幅度之内摆动:
(HHV(CLOSE;10)…LLV(CLOSE;10))/CLOSE=2 AND MONTHn/100;{这是5日均线增长比率,比率越大,其上长的斜率就越大}
n是参数,n%是5日均线的增长比率,因此n定5以上可能其的斜率就越大,你可试试。)
(对于时间限制的问题,我们就以‘庄家进出’公式来作分析了解。
Var1:=IF(YEAR》=2034 AND MONTH》=1;0;1);
{VAR1赋值:如果年份》=2034 AND 月份》=1;返回0;否则返回1}
{点评:这个语句在配合其它语句使用的情况下可起到时间限制作用}
VarC:=MA(SUM(IF(CLOSE》REF(CLOSE;1);VOL;IF(CLOSE昨收;返回成交量(手);否则返回(如果收盘价=2034 和 月份》=1时,则VAR1=0,这样以后计算出来的结果全是0,这时该指标便毫无意义了,起到了时间限制的作用。}
分界线: EMA(VarC;26)*Var1; LINETHICK2; COLORf0f000;
{输出分界线: VARC的26日异同移动平均*VAR1; LINETHICK2; COLORF0F000}
庄家线1: EMA(VarC;1)*Var1; COLORRED;
{输出庄家线1: VARC的1日异同移动平均*VAR1; 画红色}
庄家线2: EMA(VarC;6)*Var1; COLORYELLOW;
{输出庄家线2: VARC的6日异同移动平均*VAR1; 画黄色}
庄家线3: EMA(VarC;12)*Var1; COLOR00ff00 ;
{输出庄家线3: VARC的12日异同移动平均*VAR1; COLOR00FF00 })
=
颜色代码
如:colorred{红}
colormagenta(COLORf00ff0){品红} coloryellow{黄} colorgray{灰} colorffff00{兰} colorblue{青} colorwhite{白} colorgreen{绿} colorbrown{棕}
linethick{07指标线粗细} linethick{同时显示柱状线和指标线}
circledot{空心园点} pointdot{小点} pointdot,linethick2{实心方点}
crossdot{X点状线} cmcledot{0点状线} stick{显示} colorstick{显示}
linestick{显示} 希望各位指标爱好者自己动手进行配色修改,这样才会记得
牢,学得透,不断探索,不断前进。一花开放不是春,万紫千红春满园。
走势形态特征指标:为了满足大家选股的需要,这里主要介绍股票走势特征、形态特征指标的编制。
走势形态特征指标编制的基础。
(1)、放量、缩量(成交量函数为VOL)
A、放量
a。今天成交量较昨天增加了1倍,表示如下:
VOL/REF(VOL;1)》2
b。今天成交量较10个交易日平均成交量放大了1倍,表示如下:
a:=ma(vol;10);
Vol/a》2
或者直接用如下公式表示:
vol/ma(vol;10)》2;
c。今日的5日均量较10个交易日平均成交量放大了1倍,表示如下:
a:=ma(vol;10);
b:=ma(vol;5);
b/a》2;
d。今日的成交量超过了整个流通盘的5%,表示如下:
vol/capital》0。05;其中capital代表流通盘。
B、缩量
a。今日成交量较昨日减少了一半,表示如下:
vol/ref(vol;1)ref(c;1);n)/nopen;
count(up;n)=n;
注:count(x;n);统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。n为指标参数,可在参数设定范围内设定参数范围。
(8)、连续n日内收阴线
up:=closeref(close;1);n)=n;
注:count(x;n);统计n周期中满足x条件的周期数,若n=0则从第一个有效值开始。N为指标参数,可在参数设定范围内设定参数范围。
(10)、连续n天下跌
count(chhv(if(barscount(c)=1;high;0);0))+1=1;
注:barscount(x),若x非0,则将当前位置到n周期前的数值设为1。
(12)、创历史新高
hhv(close;0)=close;
注:hhv(x;n),求n周期内x最高值,n=0则从第一个有效值开始。
(13)、创历史新低
llv(close;0)=close;
注:llv(x;n),求n周期内x最小值,n=0则从第一个有效值开始。
(14)、单日放量
a:=ref(ma(vol;5);1);
vol/a》n and vol/capital*100》m;
注:n为指标参数,代表今日成交量和前一日的5日均量的比值,可在参数设定范围内设定参数范围。
(15)、阶段缩量
sum(vol;n1)/capital=n2;
注:n1为要统计的阶段时间,n2为y放量比例,可在参数设定范围内设定参数范围。
(17)、持续放量
a:=vol》ref(vol;1);
count(a;n)=n;
注:其中条件a的含义为成交量较上一交易日放大,n为要统计的阶段时间,可在参数设定范围内设定参数范围。
(18)、持续缩量
a:=vol=n and hhv(a;n)n2*a;n)》n3;
注:a。barscount(x)第一个有效数据到当前的天数。Barscount(c)对于日线数据取得上市以来总交易日数。
b。完整含义:n日内五日均量的最大值小于最小值的n1倍,成交量大于等于五日均量的n2倍的情况发生的次数多于n3次。
(20)、放量上攻
a:=(c…ref(c;1))/ref(c;1)》=(n/100);
sum(vol;n1)/capital》=(n2/100) and count(vol》ref(vol;1);n3 )=n3 and count(a;n3)=n3;
完整含义:每日股价涨幅均大于n%,n1日内累计换手率大于n2%,并且成交量连续在n3日内放大。
(21)、温和放量上攻
股价小幅上扬
a1:=close/ref(close;1);
a2:=a1》1 and a11 and b1