8 更聪明的趋势跟踪
在价格分析中,如果你想达到目标,那就只有一个:判断价格的运行方向,也称之为趋势。如果在这趋势方向上你建立仓位,你就该能捕捉最大的价格移动,并能够合理地控制风险。当你根据趋势的方向去选择交易,或者依靠确认正确趋势方向来设置对冲仓位时,你的交易绩效必然能够提高。
预测和跟踪
寻找趋势
有两种途径去寻找趋势。依靠分析主要的经济因素你可以得出结论:价格应当走高。需求旺盛、管理出色、技术提高以及降低成本都能对长线增氏、高分红和股价走高做出贡献。能源价格可能会因巨大的消费被推动上升,一致行动的OPEC(欧佩克)减产或西伯利亚的供货中断也会引起油价上涨。但是,基本面的评估是困难的,并主要依赖于可靠的信息。如果引入了新的因素,结论就会改变。变化必须被不断地监控和权衡。
许多交易者用一个“移动平均值”补充或替代以识别趋势。看起来,在一个简单的数学公式和驱动价格的那些事件所造成的结果间没有什么关系,但事实并非如此。一个“移动平均值”用平滑随机价格移动的方法去创建一个趋势。由于它是一个过去几天的价格平均值,减少了那些局外人由消息引起的过激反应的影响。平均较长的数据周期给出了较平滑的趋势。其结果经常是长期市场方向的一种很好的代表,并且是一种对政府金融和利息政策的有效反映。移动平均值也应用于计量经济学中,平均化已知的季节或周期性效应。许多年来股票市场分析家使用200天移动平均值作为他们的基准。
一个移动平均值看起来和它的名字完全一样:一个先前的数据周期的价格平均值。一个三天移动平均值简单地等于:
average=(price+price[1]+price[2])/3
大多数的计算机交易软件,甚至电子数据表都有移动平均值的公式,只需打入下列符号即可:
@average(price,n)
这里price是指要被平均的数据,n指所用周期的数量(例如,天数或小时数)。还有许多移动平均值计算的变种:
■加权平均值——可以对每一个数据项指定不同的价值,一个三天加权平均值是最近一天的价取60%,而先前两天值各取30%,即:
@weighted_average(price,3)=0.60xprice+0.30xprice[1]+0.30xprice[2]
■指数式移动平均值(称为指数值)是加权平均值的一种特定类型。在这种形式中每一数据项在数值上是逐渐减少的,从新到旧的数据以固定的百分数缩减。
Exponential=exponential[1] +percentagex(price—exponential
[1])
它也可以以下面的记号输入:
@exp-ma(price,smoothing_constant)
这里smoothing_constant是百分数加权值。
本书中使用的移动平均值,大多数是指数式移动平均值。这是最简单的计算,因为它不需要全部以前的数据,并且其计算结果仍然很接近其他的移动平均值。
基本面分析和趋势跟踪
经济学或基本面的分析先进行预测,紧接着是趋势评估。基本面的分析试图事先评价对当前因素的反作用,及权衡可能发生事件对市场的冲击。趋势计算则观察以前的数据,把价格移动归纳为一个净方向,并假定那个价格将会继续沿着那个方向运动。趋势跟踪系统则是对事件进行反应,而不是对它们进行预期。
基本面分析和趋势跟踪二者都是好方法,但是都不那么简单,也都不能防止操作失误。本章最关心的是趋势跟踪方法和计算机程序。新的强大的图像设备使得展示历史数据十分容易,利用计算机化的策略测试程序去寻找一个成功的系统,尽管没那么简单,但从技术上来说是不难做到的。一种方法在过去曾经有良好表现,并不意味着它在将来总能如此——至少不那么好或并非全部时间都能正常运转。
趋势交易
噪 音
在趋势的方向上交易,是安全、保守的方法。趋势系统的一个重要特性是它们让利润奔跑和截断亏损。金融分析师们称这样的状况为“资本的保守”。最可靠的趋势是较慢的趋势,例如捕捉利率的长期方向或是美元的贬值。长线趋势反映了政府政策的方向。
趋势系统不指望能在数据周期小于1小时的情况下工作,当你在短周期上观察价格(例如5分钟)时,你看到的大多数是“噪音”,噪音是由各种不同原因从世界各处进入市场的买卖单引起的。因个人原因出清股票,瞄准不同时间周期的交易目标以及减少国际商业风险的外汇交易,全都在稳定地流入市场。定单的大小各不相同,并且某些较大的定单还在寻找低成交量的周期。这些因素导致了价格缺口和短暂的快速移动,这些移动看起来似乎是一个新的价格方向。

(a) 在最低的正常波动性价位可以观察到内在噪音。在1987年10月跳水之前那一年,DOW显示了很明显的均匀波动性。25点的日间交易区间,使得一个25点的止损命令很可能被执行(无须期望价格将在一个方向上持续)。
(b) 由于噪音在日收盘价中小的变化不被重视,价格变化(从收盘到收盘)表明二至三天以上价格可能上移或下跳30点。当价格上移只有20点时,一个建议买入的趋势系统将是不可靠的。(图经TeleTrac同意转载)。
一个持续横盘期的波动性水平,可以很方便地用来测量内在噪音。如果一个价格趋势是由一个不大于市场内在噪音的水平移动所引起的,那么这个价格趋势就是不可靠的(见图8-1)。
慢趋势和滞后
虽然长线趋势是最可靠的,它对市场情况变化的反应却很慢,一个200天移动平均值仅仅勉强地对于一个股票的10日突发性变动有一点反应。如果IBM股票在20天内从50美元跃升至70美元,一个200天移动平均值将上移不多于2美元。当一个移动平均值总是在一个时过境迁的价格移动时,称该种方法为“趋势跟踪”,就显得很勉强了。
自适应的方法
为了避免噪音产生的虚假信号,同时又想消除某些在长线趋势中的滞后特性,需要一种“自适应”的方法——当市场移动时加速,而在市场没有什么方向时不做任何事。“自适应”是一个技术术语,表示指标自己根据市场状态调整其参数。但是这里还要指出:依据什么价格模式来提示移动平均值去改变速度参数,并不总是那么清楚的。
传统的解决方法
寻找最佳移动平均值的最流行的方法,是在历史数据上简单地去测试所有可能的趋势速度。计算机计算出来的答案取决于被测试数据的数量。如果你使用长期历史数据,则最佳选择将是一个非常慢的移动平均值。如果被测试的是短时间周期,计算机将找到许多能够获利的快速和慢速方案,通常它们将依靠一次独立的大幅价格跳动以便获取大部分利润。因为这些价格模式无法连续出现,较快的趋势很少能成功。
典型情况是:被测试的数据越多,将越可能得到慢速的趋势跟踪系统。短期价格的波动是随机的、不可预测的,而长期趋势是稳定的。不幸得很,净资产的大幅摆动,是与持有一个交易部位的时间相关联的。每个人都想要一个短期的、运转时不岀现重大亏损的快速趋势系统,但那样的组合是不存在的。
另一个流行的解决方法,是使用一台计算机频繁地重复测试趋势的速度。因为总是包含了最近的数据,这个趋势速度总是被期望为最佳的。这种方法还需要确定:多久重复测试一次,重复测试要用多少数据。从一个快速趋势速度跳到另一个速度产生了两个附加的问题。计算机可能要你进入一单交易,这个交易是某些时候之前就早已经进入并且已经高度获利的。这会令你担心。它也可能导致“过度配合”,孤立出一个带来短暂成功的非常短期的模式,该模式在未来却不能有效地工作。如果“最佳”选择频繁地变化,那一定是因为上一次选择根本不是最佳。
适应不同的市场特性
一个可适应不同市场情况的趋势跟踪方法是必要的:当价格无目标进行移动时,它必须比较慢;而当有必要捕捉利润时它又必须较快。频繁的重复测试不能找到这个趋势。因为一个刚出现的模式仅仅用了总的数据中的一小部分。
有一种解决方案,这就是记住某些市场模式是如何影响趋势的。首先,什么样的价格移动可以帮助我们分析呢?
■当市场沿一个方向快速移动时,快的移动平均值是最好的。
■当价格在横盘的市场中拉锯时,慢的移动平均值是最好的。
因此,如果系统能够根据市场的方向和速度的组合变换其速度,这个系统就将是“聪明”的。图8-2给出了四种实例来解释这种变换。
另外要记住的一个重要原则就是:分析大量的数据可以产生稳定可靠的结果,这样做可能给出获利较少的方案,但更加牢靠。分析少量数据会产生许多答案,它们看上去很美,但很少能在交易中帮得上忙。
从特定的情况转向一个具有普遍意义的解答
要选出一个最佳移动平均值,就是在该市场条件下能使用的速度最快的那个。那么,这四个实例有什么相同之处呢?每个例子都指出:可以使用的最快

图8-2观察价格模式和趋势
趋势是由噪音或无法预期的价格移动的情况来决定的。当市场模式(形态)由理想的平滑状态转至非常嘈杂时(从图8-3的(a)到(c)),趋势速度必须相应变慢,以防止拉锯产生亏损。

图8-3给出了两个相同的特性:价格变化的速度,以及与价格移动相关联的噪音数量。请观察具有不同数量噪音的相同的价格变化。
当价格移动向一个方向加速时,市场的速度使得噪音变得不那么重要。因此,一个趋势速度的选择是取决于噪音和方向。一个清晰的或是快速的价格移动都可以使用一个较快的均线来交易,所需要的是一个机制去感知市场的速度和拉锯的程度。这个信息然后就可以反馈回移动平均值,去调节它的速度。
“效率系数(Efficiency Ratio)”组合了这些特性。这个系数是净价格移动除以总的价格移动(每一个单独移动的绝对值之和)。它也可以被认为是价格的方向与它的波动性的比率。越是有效,趋势就越快。一个安全系数可以据此而建立,旨在选择正确的趋势。如果有任何不确定性,则一个慢速趋势就被启用。有些读者将会辨认出这个效率系数,因它近来被命名为"通用的分形效率(generalized fractal efficiency)"。
效率系数数值区间从0到1,0表示对于当前方向来说市场非常嘈杂,1表示价格高度地方向化。这样的记号是很方便的,因为它很完美地成为一个指数式平滑常数。一个小的变换标定该值并增加了稳定度(见方框8-1)。
定义趋势速度的范围
效率系数(ER)的范围是从0到1,使用一个简单的公式可以将此范围映射在趋势速度的范围里。令ER=0是最慢的速度,令ER=1是最快的速度,则这系数本身可被用作一个百分数,它在最快与最慢之间移动。如果这个趋势速度(以日计)被近似地转换为一个平滑系数(sc)[使用sc=2/(N+1):,则最慢的速度就有最小的数值,用于计算这个平滑系数的公式变为:
被标定的平滑系数=ERx(快sc-慢sc)+慢sc
从快到慢的范围被选定为2至30天。它与平滑系数sc 0.6667和0.0645有同样的作用。
被标定的速度公式则为:
被标定的平滑系数:sc=ERx(0.6667-0.0645)+0.0645
=ERx0.6022+0.0645
还需要做最后一步,因为长期30天移动平均值将仍然慢慢地移上和移下,即使在横盘的市场也如此。一个自适应移动平均值是最好的,它能在市场方向不确定时停止移动。为了完成这功能,最终的速度就是标定速度值的平方:
c=scxsc=sc^2
方框8-1波动性测量
有三种流行的方法去测量波动性。对于不同的应用所选的方法也不同。图8-4(a)-(c)给出了三种方法。(a)是简单地计算价格的净变化,从开始点到最后点位。这倾向于最保守的测量,因为它平滑了从开始到结尾之间发生的任何价格移动。(b)高一低范围更好地描述了在周期内可能产生的任意极端值。(c) 是所有变化总和,它是最概括的测量,因为能识别一个价格移动从高到低的次数。效率系数使用了最后一种方法,因为如果这个总和取一个较低数值,那就是与“效率”的严格定义相一致的。

(a)价格中的正变化。(b)高-低范围。(c)所有正变化之和。
自适应移动平均值
平滑系数每一天都要计算并且使用在指数式移动平均值的公式中,这就是一个自适应移动平均值AMA:
AMA=AMA[1]+平滑系数x(价格-AMA[1])
完整的AMA计算可在方框8-2中找到。这个趋势均线有下列特殊的性质:
■使用了一个很少的天数(本书中总是用10天)去指定一个从非常快到非常慢的趋势范围。
■当市场方向不明确时,AMA趋势线也暂停。
■当价格有重大的移动时,AMA趋势线会赶上,只产生很小的滞后。
■只有一个参数可能被改变——效率系数可以基于一个10天的计算,而这个时间周期可以用于所有的市场。过滤器(稍后详述)的大小允许赋予不同的交易速度以某些灵活性。
■AMA的原理是从分析中得出的,而非基于测试。
股票与外汇实例
下面来分析Castrol的价格,以把自适应移动平均值与一个30天标准平均值和一个30天指数式移动平均值作比较,每笔交易的注释也包含在图中。德国马克用来给出如何在一个不断改变的市场模式和速度的周期中,产生一个平滑的趋势线。它们都说明了AMA与所选市场无关的自适应能力。
方框8-2—个使用效率系统的更聪明的移动平均值
为了创立自适应移动平均值,首先需计算“效率系数”,然后将该系数转换为一个趋势速度。
步骤1:价格方向
价格方向被表示为整个时间段中的净价格变化。比如,使用n天的间隔(或n小时):
direction=price-price[n]或者
direction=@ momentum(price,n)
这里,direction是当前价格差或方向数值。
price是当前的价格(日收盘价或小时收盘价)。
price[n]是nEJ前的收盘价(或n个周期前)。
步骤2:波动性
波动性是市场噪音的总数量,它可以用许多不同的方法定义,但是这个计算使用了所有“日到日”或“小时到小时”的价格变化的总和(每一个都作为一个正数),在同样的n个周期上。
它表达为:
volatility=@ sum(@ abs(price-price[1],n)
这里:volatility是指今EJ的波动性数值。
@ abs是指绝对值(任何数的正值)。
@ sum(value,n)是n个周期中的值之和。
步骤3:效率系数(ER)
以上两个成分被组合起来,以表达方向移动对噪音之比,称之为效率系数,ER:
Efficiencv_Ratio=direction/volatjlity
用"有向性”除以"噪音”,该系数的值就从0到1变化。当市场在全部n日以同一方向移动时,则方向=波动性,效率系数=1。如果波动对于同样的价格移动是增加了,“波动性”就变得较大并且ER往小于1的方向移动。如果价格不变化,则方向=0,ER=0。
这个结果作为一个指数式平滑系数是方便的,它每天改变趋势线的一个百分比,ER=1等效于100%,对应最快的移动平均值,它应当能有效工作,因为价格在一个方向上移动而没有回撤。当ER=0时,一个非常慢的移动平均值是最好的,可以在市场趋势不明时避免贸然止损离场。
方框8-2(续表) 一个使用效率系统的更聪明的移动平均值
步骤4:变换上述系数为趋势速度
为了应用于一个指数式移动平均值,比率将被变换为一个平滑系数c,依靠使用下面的公式,每天的均线速度可以简单地用改变平滑系数来改变,成为自适应性的。这个公式是:
@ exp_ma=@ exp_ma[1]+cx(price-@ exp_ma[1])
公式表明,EMA以一个百分比c来接近于今日的收盘价。系数c与一个标准移动平均值中天数密切相关,这关系是2/(n-1),其中n是天数。
测试表明,平方平滑系数的数值大大地改进了结果,这是依靠在一个横盘的市场中阻止了趋势均线的移动。在横盘的市场中这个过程选择了非常慢的趋势,而在高度趋势化的周期中加速至非常快的趋势(但不是100%)。这个平滑系数是:
fastest:2/(N+1):2/(2+1)=0.6667
slowest=2/(N+1)=2/(30+1)=0.0645
smooth=ERx(fastest-slowest)+slowest
c=smoothxsmooth=smooth^2
平方平滑迫使c的数值趋向零。这意味着较慢的移动平均值将比快速移动平均值用得更多。这和在出现不确定状况时你就更加保守是一样的道理。
AMA=AMA[1]+cx(price-AMA[1])
Castrol
Castrol的图(图8-5)表明三条趋势线在一些关键点汇集在一起。AMA并没有提前朝上或朝下拐弯,但它给出了更少的滞后。请注意两个周期,一个是1992年12月,一个是1993年3月。在前一时期段中,AMA在几天中上移,然后后面一个半月保持横斜走向,直到其他趋势线赶上为止。在3月份也有相似的情况发生,这里AMA继续慢慢地移低,这是因为市场有一较弱的方向。
趋势相对滞后。1992年12月期间的Castrol图表显示,标准趋势线成功地上升移动,直到1993年2月底的顶峰出现,但是在12月并没有明显趋势(横盘)。12月份价格剧烈波动,在中旬如果市场再走低一点,标准和指数式移动平均值将会回吐它们所有的利润。

图中给出了三种趋势:一个标准的30天移动平均值;一个30天指数式移动平均值;10天自适应移动平均值。
(图经TeleTrac同意转载)
任何固定于一个速度的趋势均线都有个严重的问题,就是均线会花费许多时间去追赶那个已经结束了的价格移动。在12月和3月,价格移动只花了几天的时间,但趋势线却需要用一个月去追赶。当一个趋势线指标告诉你趋势下降了,它实际上只是意味着趋势均线正向下走,而价格很可能已经是上升的。
获利平仓。最快的AMA趋势速度(在12月和3月趋势剧烈上升和下跌期间所见到的)能够在重要价格移动结束之前显示出来。由于第5章中讨论过的原则,这就成为一个退出点位。12月在1000点以上的顶部,和3月份第一个低于800的点,接近或优于等待趋势结束信号发出后再退出时的价格。与较好的执行与较低的波动性相组合,在效率系数很高的时候,笔者强烈建议获利平仓。
德国马克:效率系数和AMA趋势均线
图8-6使用了德国马克任意的一个周期给出效率系数和相应的

(a)具有AMA趋势线的德国马克价格走势。
(b)效率系数。
(c)对应于变化中的AMA平滑系数的移动平均值天数。
(图转载经TeleTrac同意)
AMA趋势线。在1992年11月中,效率系数跌到0,指示出一个有更多噪音而并非趋势的周期,在这个周期中AMA趋势线变得几乎是水平的(见图8-6(a))。它指示了一个横盘阶段,并允许系统保持它的多头仓位或离场观望,这取决于交易者自己的规则。
在1992年10月到1993年6月期间,清楚的趋势使得AMA趋势线开始变慢,然后当趋势发展时它的速度就增加了。在这两种情况下,效率系数峰值超过0.80(见图8-6(b))。效率系数可以从0到0.40改变,而不使趋势线的速度改变太多。
从1993年3月到5月,市场给出了相对大的噪音,但对于效率系数而言却是低水准,导致了AMA显示出非常慢的趋势。
图8-6(c)给出了对应于平滑系数的移动平均值天数。天数显示相对于效率系数来说是颠倒过来的,因为当天数增加时趋势线变慢。天数也移动,以一种比效率系数更加极端的方式移动,停留在它的峰值价位很久(程序设置了40天的最大上限),但从快到慢的变动很快。这是由于在全部其他计算完成后平方了平滑系数的缘故:
交易法则
一个基本的趋势跟踪系统应当不会与一个完善的交易策略相混淆。这里不存在进岀时机选择的精妙方法,它也不包括用于分批进入的技术、获利平仓或其他的风险控制手段,那些特性必须进行分别分析,以保持它们在一个横向解决方案中的完整性。想要知道一个趋势跟踪方法是否比另一种方法好,只需简单地在趋势线掉头上行时建立一个多头仓位,或在趋势线掉头下行时建立一个空头仓位。
基本的买卖信号
用于自适应移动平均的交易法则是:
■当自适应移动平均值向上拐头时,买入。
■当自适应移动平均值向下拐头时,卖出。
由于趋势线捕捉了全部价格移动的结果,它代表了对趋势最好的评估。因此,买和卖的信号是建立在趋势线的方向上的,而不是价格对于趋势线的突破。
当使用指数式平滑时,均线总是在价格突破该线的同时上升或下降,使用用于自适应移动平均值信号的趋势线,其好处是公式限制了在该趋势线上变化的数量,使它能够通过使用一个小的入口过滤器来增加可靠性。
一个对付假信号的过滤器
当价格横向移动时,任何交易系统都要避免由噪音产生的假信号,所以采用过滤器很有必要。在一个无方向周期中,价格将会穿过平滑趋势线上下移动。所有的移动平均值系统都受到同样的方式影响,但它对于较快趋势的影响更加明显。相对于过滤器的大小,趋势线必须移动更大的距离才能给出一个有效的买卖信号。
在嘈杂的市场周期中,自适应移动平均值产生了非常慢的趋势。30日最大值,或0.0645平滑系数(平方后就变成了0.0041),等效于一个486天移动平均值。当价格通过AMA时,趋势均线只作出很小的变化。因此,要避免大多数价格拉锯,只需要一个很小的过滤器。
自调节式过滤器。为了与系统的自适应特性相一致,当价格波动变得更多或更少时,过滤器也要相应取较大或较小值。为了完成这点,过滤器被定义为AMA变化的一个小的百分数:
过滤器=percentagex @ std-dev(AMA-AMA[1],n)
这里:percentage是一个标准差的百分数。
@ std-dev(series,n)是价格系列n个周期的标准差。
AMA是指AMA趋势线一天的变化量。
最小的过滤器百分数0.1可被用于较快的交易,而较大的百分数1.0将可以选择出有更重要意义的价格移动的交易。典型例证是:外汇和期货市场交易较快,股票和利率市场交易较慢。通常,过滤器大小是依据20天周期的数据来计算。
向交易规则中添加过滤器。使用过滤器时,在AMA趋势线中一个周期的变化必须大于或小于过滤器的大小,以便得到一个买或卖的信号。这对于选择交易和限制假信号都可起到良好的作用。但是,当这趋势线逐渐地改变方向时产生了一个问题:在AMA趋势线中的变化可能在第一、第二和第三天不大于过滤器的值。这也许是好的,因为一个慢的趋势变化可能会转为一个相反趋势方向的继续。但是,如果这些小的变化持续产生,趋势可能反转,却无法给出一个新的交易信号。
如果新的买和卖信号是基于把AMA趋势线中一周期变化与过滤器相比较,那么在新的趋势开始很久以后一个信号才会产生。为了消除这种可能性,在AMA上最近的最低点和最高点都被记录下来。这样我们就可以不使用AMA周期的变化与过滤器比较,而是使用在AMA中自最近的最高、最低点以来总的变化与过滤器比较。
趋势变化的头一天价格移动很少,在图8-7中标志为“1”,因此没有买入信号产生。分别再取第二天和第三天的变化值,也仍小于过滤器。我们用另一种方法,在第二天比较从趋势变化的第二天到先前最低的数值总变化,再与过滤器比较,那仍然很小。第三天,当距离最低值的总移动大于过滤器时,一个信号就产生了,AMA(low+3days)>Fil-ter。
用于交易信号的新规则是:
当AMA-@ lowest(AMA,n)>过滤器,买入
当@ highest(AMA,n)-AMA>过滤器,卖岀
当计算机编程时,卖岀信号也可以写成:AMA-@ highest(AMA,n)<-filter
备用的买卖规则。在某些计算机和可编程交易机上记录最近高和低的趋势点是很困难的。一个简单的实用替代方法,就是把最后的三个趋势值的累计变化与过滤器相比较,以此产生一个买卖信号。

因为一个较慢的趋势变化也许会导致一系列日子无法突破过滤器,需要用1到3天的净变化来代替单日的变化。
这种方法在正常情况下可以有效地工作,例如:
AMA-AMA[1]>filter,买入
或AMA-AMA[2]>filter,买入
或AMA-AMA[3]>filetr,买入
测试AMA
在使用自适应移动平均值之前,测试每个市场很有必要,下列各点将有助于你:
1.最基本的参数是用于计算效率系数的天数。这个天数对快速交易者来说是接近于10。使用5以下的数字将会引起效率系数很快地从0跳到1。使用一个较大的天数会使得效率系数成为更加抗噪音的,这种性能可能很吸引长线交易者。
2.过滤器的数值被表示为趋势变化的标准差的一个百分数。因此它与价格无关。一个较大的或较小的过滤器百分数是用来改变交易的时间长度的,一个较小的数值允许较快地进入交易,而一个大的百分数将推迟进入的时机。
3.用于确定过滤器大小的标准差天数可以被固定在20,从统计上看,需要至少20天的数据取样,以获得一定的稳定性。
测试短期交易可以使用AMA天数为10,标准差为20,并只测试过滤器。更少的参数能给岀一更可靠的解答。长线的仓位通常不受过滤器的影响,因而它可以被固定在1以下的某些值。
获利平仓。再观察一下图8-6,给出的效率系数ER在0.80以上的峰值(b图)和移动平均值的天数在10以下(图c)的某些点位,这些点位利于获利。这是自适应移动平均值的一个特点:对于效率系数来说,一个高的数值不能长期保持,并将会紧跟一个反转。无论何时当该值超过了一个预定值时,都是获利的最好机会。这个预定值的大小将由市场的固有噪音来决定。

将自适应移动平均值编程
自适应移动平均值可以被设计成程序放入电子数据表或策略测试软件。下列的例子给出用于Quattro Pro(很类似于Lotus)、Telerate TeleTrac和Omega Trade Station的代码,最开始的25天没有信号值,因为过滤器需要AMA趋势线变化的20天数值,另外AMA需要附加5天数值以便启动。
电子数据表指令
方框8-3和表8-1给出了电子数据表指令和简单的结果。所有常数都放在第二行,最近的AMA高值和低值记录在M和L列中。
Telerate的TeleTrac
Telerate'sTeleTrac代码(方框8-4)使用了不同的买和卖信号计算方法,单独地比较AMA值变化的3天。它也使用MACD指标(“SIG-NAL")去计算一个具有变化平滑系数的指数式移动平均值。这个代码可以用来交易实时数据,实现的利润和亏损显示于最后一行。

Omega的Easy Language
Trade station代码对于System Writer和其他的Omega产品都是一样的。图8-8给出了使用“AMA”系统(部分1)来产生交易信号的Trade Sta-tion屏幕显示。AMA指标(部分2)与价格比例锁定,在主图中绘出AMA趋势线、“MA平滑”(部分3),沿着图底部绘出平滑常数。



