交易系统,就是将一些的经验和方法通过量化和公式化,变成程序可以识别的语言,并且在历史以往的数据中进行统计和成功率检验。通过测试后投入使用,并在实际应用中不断完善改进。交易系统公式的编写主要是确定买入点和卖出点。

在软件中快捷键“CTRL+F”进入到公式编辑器界面,选择“交易系统”后,“新建”一个公式。交易系统公式与其他公式一样,遵守相同的编写规则。


交易系统中的四种交易状态由四个不同的函数表示:
1、BUY(买入仓位,买入类型,买入价格);买入函数。其中的三个参数均非必填。
买入类型有:本周期收盘(THISCLOSE)、次周期开盘(MARKET)、次周期限价单(LIMIT)、次周期停损单(STOP)。
如:IF CLOSE>OPEN THEN BUY(1000,THISCLOSE);表示收阳线则在本周期收盘价上买入1000股。
BUY(50%,LIMIT,CLOSE-0.2);表示在次周期CLOSE-0.2元位置下买入限价单,若价格达到或低于该价格则用50%资金买入。
2、BUYSHORT(买入仓位,买入类型,买入价格);空头买入函数。
如:IF CLOSE>OPEN THEN BUYSHORT(1000,THISCLOSE);表示收阳线则在本周期收盘价上空头买入1000股。
BUYSHORT(50%,LIMIT,CLOSE-0.2);表示在次周期CLOSE-0.2元位置下空头买入限价单,若价格达到或高于该价格则用50%资金空头买入。
3、SELL(卖出仓位,卖出类型,卖出价格);卖出函数。
如:IF CLOSE>OPEN THEN SELL(1000,THISCLOSE);表示收阳线则在本周期收盘价上卖出1000股。
SELL(100%,LIMIT,CLOSE+0.2);表示在次周期CLOSE+0.2元位置下卖出限价单,若价格达到或高于该价格则卖出全部持仓。
4、SELLSHORT(卖出仓位,卖出类型,卖出价格);空头卖出函数。
如:IF CLOSE>OPEN THEN SELLSHORT(1000,THISCLOSE);表示收阳线则在本周期收盘价上空头卖出1000股。
SELLSHORT(100%,LIMIT,CLOSE+0.2);表示在次周期CLOSE+0.2元位置下空头卖出限价单,若价格达到或低于该价格则卖出全部空头持仓。
除了用函数以外,买卖指示的发出也可以使用四个特殊变量标示:
1、ENTERLONG多头买入,如:ENTERLONG:CROSS(K,D);
2、EXITLONG多头卖出,如:EXITLONG:CROSS(D,K);
3、ENTERSHORT空头买入,用法同上。
4、EXITSHORT空头卖出,用法同上。
因此IF CLOSE>OPEN THEN BUY(1000,THISCLOSE);语句与ENTERLONG:CLOSE>OPEN语句的效果相同,只是前者可以设定仓位和价格。

这是交易系统编写界面,其中需要注意控制步长的大小。在进行交易测试时,如果使用了公式优化功能,系统会根据步长大小自动对参数取值进行逐一调整,步长太小会导致调整次数过多,影响程序的运算速度。如上图,N参数的调整次数为(100-1)/1=99,M参数的调整次数为(20-1)/2=9,PERCENT参数的调整次数为(100-0)/10=10,因此整个公式的计算量为99*9*10=8910。一般情况下公式的计算量控制在10000以下较为合理。
一、交易系统公式编写步骤
以KD交易系统公式编写为例,如下图:

第一步:
按照通用公式编写方法,分别设定公式的名称,分析周期,参数的各项内容等,在公式编辑栏中编写KD的表达式,并且将K,D表达为两个赋值表达式。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
第二步:
根据对KD使用的理解,得出需要编辑的条件并且加以公式化。KD指标中,如果在D小于20的区域,K线向上穿过D线,则是较好的买入时机;相反,D>80时,D线向下穿过了K线,则是较好的卖出时机,这两个买卖条件组成了一个比较完整的委托循环,达到了一个最简单交易系统的结构要求。
ENTERLONG:CROSS(K,D) AND K<20; {买入指示}
EXITLONG:CROSS(D,K) AND K>80; {卖出指示}
至此,一个交易系统公式编写完成。
二、交易系统公式编写示例
【交易策略】:“KD强市的市场中,如果股价从下方穿过了30日均线,并且当天的成交量有比较明显的放大,做买入;股价跌下5日均线之下,做卖出,当股价跌出买入价的5%时候主动止损”
【策略量化】:
1、使用KDJ中的D>40值来描述市场的强弱。
2、成交量明显放大,量化为大于5日均量的一倍。
3、买卖条件,量化为长短均线的上穿、下破。

【公式编写】:
第一个条件,买入条件:
{强市D>40}
AA:=”KDJ.D”;
A1:=AA>40;
{成交量明显放大,量化成交量大于5日均量的一倍}
A2:=VOL/MA(VOL,5)>2;
{股价上穿30日均线}
A3:=CROSS(CLOSE,MA(CLOSE,30));
{买入条件为:}
ENTERLONG: a1 and a2 and a3;
第二个条件,卖出条件:
{股价下破5日均线}
A4:=CROSS(MA(CLOSE,5),CLOSE);
EXITLONG:A4 and count(a1 and a2 and a3,20)=1;
注意,其中的COUNT()函数通过统计20天内买入条件发生的次数,来限定卖出信号发生在买入条件发生的20天内。
止损条件:

在代码编写界面,点击“交易设置”弹出如上窗口,在其中进行止损或止赢位的设置。追踪位设置的意思是,当设置了止损后,股价不跌反涨,当涨幅超过追踪位时,以追踪位的股价为基准重新乘以止损百分比计算止损价。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/773746
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!