炒股交易系统的编写案例
交易系统是多个条件的组合,通过不同条件的叠加、修正,系统自动地在满足投资者组合条件的个股K线图中添加买卖信号。
1.均线交易系统
在大智慧中,选择菜单【公式】→【公式管理】,或在键盘上按下快捷键“Ctrl+F”,则出现“公式管理器”窗口,在此窗口中选择“交易系统”,再点击【新建】按钮,则弹出指标公式编辑器。在此编辑器中的“公式名称”中输入“MA”,在“公式描述”中输入“均线交易系统”。
本例的买入条件是:当个股5日均线上穿20日均线时买入50%。卖出条件是:当个股5日均线下穿20日均线时全部卖出。这是一个最常见的操作思路,怎么来编写交易系统呢?下面是公式表达:
5日均线上穿20日均线(买人条件): CROSS(MA(Cose,5),MA(Cose,20)5日均线下穿20日均线(卖出条件): CROSS(MA( Close,20), MA(Close,5)为了方便修改指标,可以将5日均线、20日均线设定成参数: SHORT和LONG,其默认值分别为5和20。另外,买入的资金量设置为参数 Percent在“参数精灵”中加上“短期( Param#1)均线上穿长期( Param#2)均线买入资金量的 Param#3%,长期均线上穿短期均线全部卖出”根据前面的介绍,使用BUY和SELL函数,可得到如下均线MA交易系统公式:
IF CROSS(MA(CLose SHORT),MA(Close. LONG)) THEN
BUY(PERCENT%);
ELSE IF CROSS(MA(CIose. LONG). MA(Close, SHORT)) THEN
SELL(100%)
在编辑窗口中输入上面的公式,得到完整的均线交易系统,如图2.19所示。
单击国按钮可以调试编写的代码。如果有错误,就会在下方出现错误提示。如果读者在编辑器中输入的代码无误,单击退出X按钮则退出代码编辑状态。
在使用该交易系统时,用鼠标右键点击发出的买卖提示上下箭头,在弹出的右键菜单中选择“调整参数”,就可以很方便地修改本交易系统中的三个参数— SHORT、LONG和 PERCENT。
图2-19均线交易系统
2.KD交易系统
投资者知道,对于KD指标,如果在D小于20的区域发生了K线上穿过D线是很好的买入条件;相反,当D大于80并且发生了D线下穿过了K线,则是很好的卖出条件。如何编辑呢?
第一步:在大智慧中,选择菜单【公式】【公式管理】,或在键盘上按下快捷键“Curl+F”,则出现“公式管理器”窗口,在此窗口中选择“交易系统”,再点击【新建】按钮,则弹出指标公式编辑器。在此编辑器中的“公式名称中输入“KD”,在“公式描述”中输入“随机指标交易系统”。再设定参数,并编写KD的表达式,并且将K、D表达为两个中间表达式。中间表达式用符号“:=”表示,如下所示:
RSVI=(Closc-LLV(LOW. N))/(HHVCHIGH. N)-LLV(LOW, N)).100;
K:= SMA(RSV. MI.1);
D:=SMA(K. M2. 1)
第二步:根据对KD使用的理解,得出需要编辑的条件并且加以公式化。本例的买入条件是:如果在D小于20的区域发生了K线向上穿过D线则以50%的资金买入。卖出条件是:当D大于80并且发生了D线向下穿过了K线,则全部卖出。这两个条件组成了一个比较完整的交易系统。公式表达如下:
公式1
在公式的编辑窗口中输入上面的代码,得到完整的KDJ交易系统,如图2-20所示。
图2-20KD交易系统
经过上面的两个步骤,完成了投资理念的公式化,这只是完成交易系统的最简单的一个环节,其后的测评与优化,直至实战检测,维护都是十分重要的工作,这一部分将在后面的测试系统中详细介绍。
3.均线与KD综合交易系统
通过上面的例子,已经掌握了如何将单个指标转化为交易系统公式的方法。那么,如何将多个指标转化为交易系统公式,即如何编制多条件的交易系统公式呢?本节将上面的均线交易系统和KD交易系统合并,得到个多条件的综合交易系统。
本例的买入条件:当5周期均线上穿20周期均线,且前一个周期的KDJ指标J值小于50,或者KDJ指标发生KD金叉且J值小于30时,以50%的资金买入。用公式表达为
5周期均线上穿20周期均线且前一个周期的KDJ指标J值小于50CROSS(MAl, MA2)and REF(, 1)<50)
KDJ指标发生KD金叉且J值小于30:( CROSSO(K,D)andJ<30)
本例的卖出条件:5周期均线向下交叉10周期均线且前一个周期的KDJ指标的J值大于50,或者KDJ指标发生KD死叉且KDJ指标的J值大于70时,卖出50%的股票。用公式表达为:
5周期均线向下交叉10周期均线且前一个周期的KDJ指标J值大于50: CROSS(MA2. MAl)and REF(, 1)>50)
KDJ指标发生KD死叉且KDJ指标J值大于70: CROSSOD, Kand J>70
这样就可以得到如图2-21所示的均线与KDJ多条件的综合交易系统。
图2-21均线与KDJ综合交易系统
图2-22是中国铝业2009年1-8月的日K线图。在中国铝业K线图使用本例的均线与KDJ综合交易系统的指示,可见系统指示按照买入和卖出条件发出了指示。如果投资者对此指标的买卖指示不满意,可以使用前文介绍的优选交易系统获得最优参数。
图2-22中国铝业日K线图上的均线与KD综合交易系统指示
4.量价综合交易系统
投资者往往有类似下面的投资策略:“在一个KD强势的市场中,如果股价从下方穿过了10日均线,并且当天的成交量有比较明显的放大,才会买入。卖出条件是:股价跌到10日均线之下,则立即抛出,当股价跌幅超过买入价的5%时,主动止损。”
本节就以这个投资策略为例来编写一个量价综合交易系统。首先需要公式化以上的思路:(1)采用KDJ指标中的D>40来描述强势市场;(2)成交量明显放大公式化为“当日成交量大于5日均量的1倍”;(3)长期和短期均线交叉。
第一步:在大智慧中,选择菜单【公式】→【公式管理】,或在键盘上按下快捷键“Ctr+F”,则出现“公式管理器”窗口,在此窗口中选择“交易系统”,再点击【新建】按钮,则弹出指标公式编辑器。在此编辑器中的“公式名称中输入“量价综合”,再设定参数 Percent。
公式2
第三步:编写卖出条件。
股价从上方下穿过了10日均线
A4:=CROSS(MA(Close, 10). Close)
IF A and COUNT(AI and A2 and A3. 20=1 THEN
SELL(100%);
其中, COUNT()是用来限定卖出信号发生在买入条件发生的20天内。那么,最终完整的量价综合公式如图2-23所示。
第四步:在图2-23中单击“公式设置”按钮,则出现如图2-24所示的“交易系统设置”窗口,在此窗口可设置交易系统的初始资金、平仓条件(如止损、止贏条件等)。在本例中,在交易系统平仓条件中设定当与买入价相比损失率达到5%的时候主动止损出局。
通过以上四步就得到了一个量价综合交易系统。读者还可以在此基础上,根据实际情况逐步完善。
5.股价交易系统
有的投资者的操作策略类似如下:“如果股价连续下跌4天,当天(即第5天)收盘价与开盘价之差超过5日收盘价与开盘价之差的均值,逢低买入;如果股价连续上涨4天,当天(即第5天)收盘价与开盘价之差小于5日收盘价与开盘价之差的均值,就卖出。”
图2-23量价综合交易系统公式
图2-24设定交易系统平仓条件
本节就以这种操作策略为例来编写一个股价交易系统。首先需要公式化以上的思路:
(1)连续下跌4天表示为:REF( Close,1)<REF( Close,2) and REF(Close. 2)<REF(Close. 3)and REF(Close, 3)<REF(Close, 4) and REF(Close. 4)<REF(Close. 5)
(2)5日收盘价与开盘价之差的均值表示为: MA(Close-Open,5)*(1+N/100)。这里N是参数。这样可以得到如图2-25所示的股价交易系统公式。
图2-25股价交易系统公式
有的投资者对某只股票非常熟悉,了解这只股票的庄家的操盘方式,就会在心中形成这样一个简单的思路:“如果股价下跌到N(例如7元)以下,就以10%的资金买入;反之,如果股价上涨到M(例如10元)以上,就卖出10%的股票”。图2-26就是以这种思路而编写的绝对股价交易系统。
图2-26绝对股价交易系统