博庭公司推出的金魔方软件继承了飞狐交易师优秀的技术分析功能,并且增加了许多新特性,尤其是在公式系统和程序化交易方面,衷心期望金魔方再创辉煌!
金魔方用于编写公式的语言称为金语言(KingLanguage,KL),它有许多增强的特性,我们将逐步讲解。金魔方在公式树中增设了一项新的智能交易公式类型,它与旧的交易系统公式相似而又不同。
旧交易系统的范式是:交易信号: 条件表达式
新智能交易的范式是:If 条件表达式Then 交易指令
与交易系统的四种信号对应,新智能交易也有四种基本指令,如下所示:
交易类别:老交易系统信号 –> 新智能交易指令
开多、多头开仓、买入开仓、买入:ENTERLONG–> Buy
平多、多头平仓、卖出平仓、卖出:EXITLONG–> Sell
开空、空头开仓、卖出开仓、空头卖出:ENTERSHORT–> SellShort
平空、空头平仓、买入平仓、空头回补:EXITSHORT–> BuyTocover
旧交易系统只能定义交易信号,但无法在公式中进行仓位控制等复杂操作。
新智能交易公式可以通过交易指令的参数以及许多交易相关函数进行各式各样的精细控制。
最好的学习方法是多实践。让我们开始创建公式,在公式树【智能交易】下【新建文件夹】,命名为“攻略”,然后在其下【新建公式】,输入名称“例1_1”,确定后,出现公式编辑器,输入以下源代码:
编写好公式后,点击工具栏第1个按钮进行编译,如果无误,编译信息窗会提示编译通过,这就可以应用公式了。此时可以看到“攻略”文件夹下多了个“例1_1”公式,双击它或拖放到主图上,这时出现【策略设置】,有【属性】【自动交易】【公式参数】三个页面,先初略看看,不管细节,点确定后:
可以看到,收盘价上穿均线后的次周期开盘价出现紫色的三角箭头指示买入价位,收盘价下穿均线后的次周期开盘价出现反向的三角箭头指示卖出价位,这两个箭头间紫色连线表示这笔交易盈利,蓝色则表示亏损。把鼠标移到三角箭头,出现浮动信息窗,可以看到交易详情,包括数量、价格、开平仓配对等信息。在主图左上角公式名称处,右键菜单【查看测评报告】,选择【交易明细】页面,可以看到交易详情:
在主图左上角公式名称处,右键菜单【策略设置】,点选【公式参数】页面,修改这3个参数的值,点确定后看看均线和交易信号发生了什么变化?
金魔方的智能交易公式可输出指标线以及画线、文字等对象,便于核对交易信号与指标线的关系、提示报警等,甚至可直接代替技术指标等其它类型的公式。与飞狐公式逐行执行不同,它的运行模式是逐根计算的,才能实现复杂的仓位控制。
我们看到期指主连的K线图下边有复权标记,这是因为股指期货存在换月价差,为了走势的连续性和指标、测评的正确性,需要做复权处理,把鼠标移到复权标记处可看到换月价差信息。
Buy、Sell表示操作股票时的买入、卖出,如果我要操作期货呢?既做多也做空,我们试试下面的公式:
如图所示,多了蓝色箭头表示空头交易,我们发现,多头平仓交易与空头开仓交易同时执行,查看交易明细证实了这一点。这是因为:
1、 单一策略只能持多仓、持空仓、无持仓三种状态,不允许多空双向同时持仓。
2、 某交易指令开仓时,如果已有反向持仓,先自动平掉旧仓再反手开新仓。
本例在市场中始终持仓,空头开仓时会自动先平掉原有的多头持仓,反之亦然。多空交易交错发生,不需要写平仓指令。
这种机制使得编写公式特别简洁,如果允许同时持有多头和空头仓,公式的逻辑和函数、语句将变得很复杂,难以掌握。虽然单一策略不能同时有多头和空头的持仓,但不同策略可以持有不同方向的仓位,例如策略A持有多头,策略B持有空头,它们互不干扰,而且,不同的策略可以编写在同一个公式文件中,如何实现?敬请持续关注本攻略!
以上例子属于趋势交易策略,我们再试试用布林通道实现振荡交易策略。
如图所示,可以用AllowSameEntries函数控制同方向连续开仓的最大次数,如果没有用到这个函数,或者把S参数设置为1,则在已有持仓情况下,不再连续开同方向的仓,大家可以试试。默认不能连续开同向仓,也是为了使大多数策略的公式编写简单,逻辑清晰。
从以上的例子,我们知道,不带任何参数的交易指令是在信号发生的下一周期开盘时进行交易的,因为本周期收盘时才能确定信号最终不变的状态,但那一瞬间却是下不到单的。
在公式编辑器中把鼠标移到Buy函数名处,出现浮动信息窗,看到函数说明,我们发现其实它有很多参数,如何应用这些参数?如何使用其它的下单方式、控制下单时机、价位和数量吗?如果想在收盘时下单怎么办呢?另外,默认的交易数量是如何定的呢?回想起【策略设置】中有“委托数量”的设置,是在那里设置的吗?
且听下回分解!
花生网版权所有,转载请注明出处!