128
上上上上上上上上上上上上 文文文文文文文文文文文 8.1 文文文文 1

–‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

上海文华财经资讯有限公司

文华赢智程序化交易软件 8.1 功能说明

1

Page 2: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2014 年版

目录第一部分 程序化能帮我们做什么.....................................................................................................1

一、 程序化交易比手动交易的优势..................................................................................1

二、 程序化的价值不仅仅是自动下单...............................................................................2

第二部分 如何实现程序化交易.........................................................................................................2一、 第一步 整理思路,编写模型优势..............................................................................2

二、 第二步 模型测试和优化势..........................................................................................3

三、 第三步 加载模型进行自动交易..................................................................................8

第三部分 程序化的典型应用...........................................................................................................15一、 信号预警盒子实现半自动提醒势.............................................................................15

二、 公式条件单 - 按条件实现只开/平............................................................................20

三、 过滤模型 - 开平对应实现趋势跟踪策略.................................................................24

四、 非过滤模型 - 实现加仓、资金管理策略.................................................................28

五、 多模型组合分散交易风险........................................................................................31

六、 挖掘微观市场数据实现高频交易.............................................................................37

第四部分 模型测试详解...................................................................................................................50一、 海量数据检测模型....................................................................................................50

二、 分析报告分分钟检验模型好坏................................................................................55

三、 敏感性测试了解模型脾性........................................................................................64

四、 参数优化让模型达到最优........................................................................................68

第五部分 模组使用详解...................................................................................................................75第六部分 下单组件使用详解...........................................................................................................90第七部分 常见问题解决.................................................................................................................100第八部分 如何查阅函数表.............................................................................................................128

2

Page 3: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

第一部分 程序化能帮我们做什么

一、 程序化交易比手动交易的优势

(一)什么是程序化交易?

程序化交易是一种在计算机和网络技术的支持下,瞬间完成您预先设置好的组合交易指令的一种交易手段。您可将您的交易思路,通过文华提供的函数、语法及编辑平台,编写成交易模型,实现自动开平仓、自动止损、自动止盈。(二)程序化交易比手动交易的优势

1、程序化交易反应速度快于人脑     手动交易时,从眼睛看到到大脑确认再到按键买卖至少需要 1~2 秒的时间,期货价格瞬息万变,1-2 秒足以让价格跑远,这样会提高我们的交易成本,如果长期累积下来,也损失了一笔不小的财富。     而程序化交易由电脑盯盘,从信号发出到电脑下单交易仅需要几毫秒时间(1 毫秒=千分之一秒)。在瞬息万变的交易市场里面,这种速度可让我们在机会出现时第一时间进出场,降低交易成本,让交易者积累更多的财富。2、程序化交易没有人性的弱点     人手交易的最大障碍是什么?是交易者内心的思想波动。因为人的大脑每时每刻都在涌现出不同的想法。这些想法有可能会对交易思路造成干扰。明明有的时候按规则要止损了,但是有可能就因为交易者心里面的一丝犹豫,而导致错过了最好的平仓时机,令亏损扩大。     程序化交易的最大特点是克服了人手交易的不确定性,电脑本身没有感情,可严格按照程序化的设定不间断地连续交易,完全可实现人脑无法达到的稳定性。 3、程序化交易可复制成功     人只有两只眼,同一时间只能观察一个合约,但每天存在交易机会的合约有很多,您只

1

Page 4: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

能愁于空有一身好本领,却无法分身把收益最大化。     而程序化交易可同时监测几十个合约、周期,只要把您成功的交易经验转化程序化可读懂的语言,程序化就可帮您复制成功。

二、 程序化的价值不仅仅是自动下单

程序化也是研究的平台

  在近几年的交易中,有这样一种现象正悄然形成,一些年轻的投资者虽然进入期货市场的时间不长,但却一样可以拥有良好的收益情况并且将回撤也控制的很到位。从前成功的交易人几乎都是交易经验丰富的老期货,为什么近几年却能够涌现出年轻的优秀交易员呢?这其中,程序化扮演了重要的角色。    计算机的最大特点是高效率的数据运算和高智能的数据分析,1 分钟周期一天有 225根K线数据,按照每年 250个交易日计算,如果想要分析出 1 分钟周期一年的均线走势,我们需要计算至少 5.6 万根 K线数据,这个统计由人来完成可能需要几天,但计算机只需要几秒钟。我们可利用程序化语言将想要统计的数据告诉计算机,由计算机帮我们完成计算,例如挖掘历史行情研究 K线震动幅度和行情涨跌的规律、探究开盘跳空幅度和当日行情涨跌幅之间的规律等等。     当我们觉得自己似乎发现了一些规律希望验证时,程序化平台自带的效果测试功能可帮助我们在历史数据上验证规律是否有效,策略是否可行。我们还可通过程序化平台自带的策略优化功能对思路进行完善,大大缩短了投资者确立自己交易策略的时间。

2

Page 5: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

第二部分 如何实现程序化交易

一、 第一步 整理思路,编写模型优势做程序化自动交易,首先要有模型(注:这里提到的模型是指在编辑平台上使用麦语言

编写的包含变量、交易条件、交易指令等的源码),程序化会按照模型编写的条件执行。     如下图①-④ 是如何建立一个模型:

3

Page 6: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

二、 第二步 模型测试和优化势

(一)测试模型在历史 K 线的效果

当有了模型后,我们通常是不敢马上进行实盘交易的,因为我们不了解模型,不知道它与我们的交易思路是否相符,盈利率是多少、胜率是多少、多久会出一次交易信号等等。只有了解了模型信任模型才能放心的在实盘中应用它,所以在实盘交易前需要检验模型在历史k线上的效果。    如下图所示:通过①处的【回测】,可非常直观的看每个信号在 k线图上的位置,从而去检查模型的信号位置是否是与我们的交易思路相符,如果不符,说明模型编写有问题,需要进一步检查源码。

4

Page 7: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

通过下图②处的【分析报告】,可查看详细的模型分析报告,360 度检验模型。如:报告中红框位置显示模型的盈利率很高,但权益最大回撤值也比较大,这样的模型虽然收益高但在实盘中可能会有权益锐减的情况,说明这个模型并不是稳健型模型。

5

Page 8: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二)了解模型(查看模型交易明细)

资金最大回撤发生在哪一根 K线?出现资金最大回撤时的几笔交易的盈亏都是多少?模型测试的每笔交易的时间和价格具体是多少?这一系列问题都可在“交易明细”中找到答案。交易明细以表格的形式给出了模型完整的成交明细,让我们深度了解模型。    如下图红框位置所示:通过【交易明细】按钮,查看详细的效果测试成交明细。

6

Page 9: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(三)测试模型的敏感度

    两个收益率相同的模型,滑点对收益率影响小的那一个,显然是更优的模型。而敏感性测试图能以滑点和收益率为横、纵坐标,用线的形式直观显示出滑点变化对收益率的影响,帮助我们找到更好的模型。除了以滑点和收益率为横纵坐标外,还可显示以手续费和收益率、开仓手数和平仓盈亏等多种参数为横纵坐标的测试图,从各个方面测试模型的敏感度。  如下图红框位置所示:选择横坐标和纵坐标要考量的变量后,点击【计算】按钮查看敏感性测试图。

7

Page 10: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(四)优化模型参数

我们会发现在一段时间内表现很好的模型,过了一段时间就好像失效了一样,这种情况可能是由于模型参数不再适应当前市场行情引起的,我们需要统计历史数据寻找新的最优参数,但单凭人工计算几乎是不能的。利用“参数优化”功能,可在指定的范围内让计算机筛选出最适合当前行情的参数。    如下图所示:通过①【初选】按钮,进行大范围海选抽样。通过②【精选】按钮,在已经筛选的优质参数附近寻找更优的参数。参数优化原理,请参数说明书“参数优化让模型达到最优”。

8

Page 11: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

三、 第三步 加载模型进行自动交易

(一)加载模型进行全自动交易(运行模组): 仅有模型是不能全自动交易的,我们需要将模型、合约、周期 k线、委托手数、委托方式等组合在一起形成一个模组,才能全自动下单,如下图① -④所示是如何新建一个全自动运行模组。注:点击下图①运行模组全自动时,如之前有加载过模组,则直接运行模组,否则需要新建模组。

9

Page 12: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

10

Page 13: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

11

Page 14: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

模组保存好后,软件会弹出如下图所示的“模型手动初始化”确认框,对红框中的模组可用资金、持仓手数和价格赋予初始值,点击【确认】后模组开始运行。如何设置初始值请参考说明书“模组使用详解”。

12

Page 15: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

“模组手动初始化”完成后,会弹出如下图所示界面,表明程序化全自动开始运行。

13

Page 16: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二)加载模型进行半自动交易(信号预警盒子)    有些交易者在进出场时不仅依靠可产生信号的程序化模型,有时还需要结合无法量化的画线综合分析确定,这样需求的用户可使用信号预警盒子。信号预警盒子在满足模型条件时会弹出下单确认框,手动确认后才下单,更详细的介绍请参考说明书“信号预警盒子实现半自动提醒”。    如下图①-④所示是如何加载一个半自动模型:

14

Page 17: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

当满足条件时,会弹出如下图红框中所示确认窗口。

15

Page 18: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

第三部分 程序化的典型应用

一、 信号预警盒子实现半自动提醒势做多品种交易的投资者,需要建立多窗口来监控行情或技术指标,而两只眼睛想要在盘

中时刻关注到每一个品种的指标情况是不太可能的。信号预警盒子可在机会出现时给出提醒解放了交易者的双眼,让这一切变得简单、可行。(一)案例

16

Page 19: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

如下图,在信号预警盒子中加入四组预警合约,预警的合约和模型可自己设定,当条件满足时,会有声音报警并弹出如下图红框中所示确认窗口,点击下单按钮就能直接下单,让投资者不再因错过机会而懊恼。

(二)信号预警盒子的调出和操作1、调出:如下图①-④所示是如何加载一个半自动模型:

17

Page 20: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、预警盒子停止弹框、删除和隐藏:删除:点击下图绿框的“×”删除某合约的预警设置;停止:点击下图红框的“√”模型信号继续出现,但满足条件不弹框预警。隐藏:点击下图黄框的“×”预警盒子在后台运行,后台运行的预警盒子满足条件同样可弹框。

3、信号预警盒子相关下单参数进行设置:

18

Page 21: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

如下图所示操作步骤,设置信号预警盒子相关下单参数。

(三)相关常见问题解答

1、当前图表为其他分析合约,预警合约在后台运行,满足条件能弹框吗?答:可以的,如下图所示,盒子即使在后台运行,满足了条件也可弹框提示。

19

Page 22: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、 信号预警盒子中最多可加载多少个预警项目?答:软件中的信号预警盒子最多可加载 100个预警项目。3、每次打开软件需要自己重新加载信号预警盒子里的项目么?答:对于上一次关闭软件时处于运行状态的预警项目,再次打开软件软件会自动加载。4、信号预警设置—>【信号持续时间提示】是什么含义?答:设置相应的提示时间,软件会在项目出现信号第 N 秒后弹出提示框,进行提示。5、信号预警设置—>【信号消失提示】是什么含义?答:设置相应的提示时间,软件会在项目信号消失第 N 秒后弹出提示框,提示信号消失。6、信号预警设置—>【下单设置】中的“半自动”和“手动确认信号下单”分别代表什么含义?答:下单设置的方式有两种,一种是半自动、一种是手动确认信号下单 。

20

Page 23: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

“半自动”是指出现信号后软件会弹出下单确认提示。 “手动确认信号下单”是指出现信号后,软件会在主图右上方显示提示(下图红框所示) ,点击提示再弹出下单确认窗口。

7、为什么信号预警没有提示音?答:点击菜单的【程序化】—>【声音提示设置】,勾选【启用声音提示】,软件会在出现信

号时自动播放相应提示音。 8、为什么设置了 6 个预警项目,点击【多项平铺】屏幕只显示 4 个窗口?答:点击菜单的【程序化】—>【盒子设置】,在弹出的信号预警设置中将【平铺设置】改为

6图(3*2)即可,如果预警项目更多,可根据需要对盒子进行【平铺设置】。9、【盒子设置】中的“K 线走完确认信号”是什么意思?答:“K线走完确认信号”是指模型出现信号时,如果当前 K线还没有走完,不会认为信号有效,

不做信号提示;直到当前 K线走完,才认为信号为有效信号,进行信号提示。

二、 公式条件单 - 按条件实现只开/平我们常会在交易中设置时间条件单或价格条件单,但如果想利用更灵活一些的思路作为

21

Page 24: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

条件单的触发条件,如:5日均线和 20日均线死叉平仓等,则是传统条件单做不到的。“公式条件单”可按照指标策略编写条件单,让条件单不再停留在简单的价格条件和时间条件上。

(一) 公式条件单和普通的程序化模型的区别公式条件单与普通的程序化模型不完全相同,普通的程序化模型是一套完整的策略,有

对应的开平仓指令,可进行从开到平这样一次完整的交易,而公式条件单是单一的思路,只能实现开/平一种指令形式,其本质,是一种特殊的条件单。(二) 公式条件单的编写规则1、 公式条件单源码中必须有一句“CONDITION_ORDER”语句

22

Page 25: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、未来函数可写进条件单;3、BARSSK、 BARSBK、 BKPRICE、SKPRICE 不允许写入公式条件单;例: C>REF(C,1)&&BARSSK>2,BP;

      CONDITION_ORDER; (×)

4、指令分组,不允许写入公式条件单;例:C>REF(C,1),SP('B');

     CONDITION_ORDER; (×)

5、每个公式条件单只能写 BK、SK、BP、SP其中一种指令,可写多行指令;例 1:C<MA(C,5),BP;

      C>REF(C,1),BP;

      CONDITION_ORDER; (√)

例 2:C<MA(C,5),BP;

      C>REF(C,1),SP;

      CONDITION_ORDER; (×)

6、每个公式条件单只能写 BPK、SPK其中一种指令,且只能写一行指令;例 1:C>REF(C,1),BPK;

      CONDITION_ORDER; (√)

例 2:C>REF(C,1),BPK;

      C<REF(C,1),SPK;

      CONDITION_ORDER; (×)

7、支持 CLOSEOUT 指令。8、每个公式条件单只能写 BK(N)、SK(N)、BP(N)、SP(N)其中一种指令,可写多行指令;但不允许带手数的指令和不带手数的指令混写。

23

Page 26: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(三) 公式条件单的加载使用

1、如下图所示,点击软件上方菜单的【程序化】—>自动交易运行模组—>一/二/三号组群2、在程序化组群菜单栏中选择“公式条件单”, 按照正常加载模组步骤进行加载。

(四) 相关常见问题解答1、模型的历史信号是否对公式条件单有影响?答:模型的历史信号对公式条件单没有影响,在模组运行时,公式条件单每一个信号都不考虑 历史信号,完全根据公式写的条件出信号。

24

Page 27: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、如果账户持仓小于公式条件单指令所写的持仓,如何处理?答:账户持仓如果不够,有几手平几手;账户持仓多余指令所写的持仓时按照指令中的手数平

仓。3、公式条件单中全部条件都产生信号后,公式条件单是继续循环运行还是终止?答:全部条件都产生信号后,会自动终止运行。4、同一根 K 线上是否支持出多个信号?答:一根 K线上信号确定以后(复核后),会计算下一个信号,支持一根 K线上先后出现多个

信号。但是,在模型具有 MONO_SIGNAL 语句的情况下,一根 K线只支持一个信号,取最

先出现的信号作为有效信号。5、如果公式条件单的某一个信号没有成交,那么它之后的信号会受到影响么?答:公式条件单各个信号是独立的,上一个信号没有执行完的情况下,新信号不理会现有的挂

单,照常执行。6、 为什么我的条件单在加载的时候没有弹出初始化窗口?答:带手数的公式条件单模组不会弹出初始化对话框; 不带手数的公式条件单模组弹出初始化对话框,可设置每次下单手数(CLOSEOUT除 外,CLOSEOUT默认全平交易账户买卖持仓)。7、公式条件单在程序化运行过程中的规则请参照下方链接答:http://www.wenhua.com.cn/popwin/tiaojiandan-sm.htm

三、 过滤模型 - 开平对应实现趋势跟踪策略很多做趋势交易和波段交易的投资者有一套自己的交易策略,这些策略通常周期较长,

因此在观察 K线或者技术分析指标的时候不易发现微小的变化,而当变化足够明显时又可能已经错过了最佳进场时机。过滤模型的全自动程序化交易系统,由电脑监控趋势跟踪策略,

25

Page 28: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

软件监控到入场时机时会立即出现信号并按照信号执行方式确认后自动下单交易。(一) 案例:利用过滤模型实现经典唐吉安通道策略   唐吉安通道是一个经典的趋势策略,其核心是三条轨道线,即上轨、中轨和下轨,我们可 使 用麦语言按照唐吉安通道的 思 想 编 写 出 一套趋 势追踪 的 策 略 模 型 。 下图中,AA、BB、DD 分别是唐吉安通道的上中下轨道,在行情上行于中轨和上轨之间时,模型会自动监测并发出做多信号。

当行情由中轨之上转向运行于中轨和下轨之间时,模型会敏锐的发现这一转折行情的变化,及时调整策略,平掉多单反手开空单。如果不是程序化的观察我们可能要迟一两个小时甚至一两天才能发现行情的这一变化,错过了出场的最佳时机。如下图:

26

Page 29: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二) 过滤模型编写规则1、模型的最后一句以 AUTOFILTER结尾。2、过滤模型支持的指令:BK、BP、BPK、SK、SP、SPK、CLOSEOUT;支持指令分组,不支持 BK(5)等带手数的指令。如下图所示:

(三)相关常见问题解答1、什么是过滤模型?答:如下图所示,过滤模型不允许连续出开仓信号或者连续出平仓信号,有多个开仓信号都

27

Page 30: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

满 足条件的时候,取第一个信号作为有效信号,后面 k线上的同样信号将被过滤掉。出信号的顺序是开-平-开-平-开.....

2、过滤模型有什么用途?答:对于不需要进行加仓操作的交易者,在策略执行的时候希望开仓后的下一个动作是平仓

如果是非过滤模型,那么当模型中多个开仓条件连续满足时软件会连续开仓,无法保证开仓后的下一个动作是平仓。过滤模型本身自带的过滤机制可解决这个问题,软件会取第一个信号作为有效信号,后面 K线上的同样信号将被过滤掉。

3、过滤模型指令后面不能写手数,那么开平仓手数如何设置?答:开仓信号:下单手数按照加载模组设置的默认开仓手数执行(如下图所示)。    平仓信号:平掉模组全部持仓手数(包括在模组运行界面进行的手动干预下单)。

28

Page 31: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

4、过滤模型在程序化运行过程中的规则请参照下方链接答:http://www.wenhua.com.cn/popwin/guolvmx.htm

四、 非过滤模型 - 实现加仓、资金管理策略     过滤模型是开平对应的,开仓后只能是与之对应的平仓操作。可有时我们想实现加减仓等策略,显然过滤模型无法实现,而非过滤模型开仓后可继续加仓,实现了自由加减仓以及更高级的资金管理策略。(一)案例 1:利用非过滤模型实现波段突破加仓策略

下图是基于长短周期波段突破思想编写的策略模型,在行情有效突破周期指定价格时开仓入场,入场后继续判断行情,若行情继续向有利方向做有效突破,策略执行加仓动作,若行情向不利方向发展并满足出场条件,清仓出场。

29

Page 32: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

上图是该波段突破加仓模型的信号效果,图中的指标线形是我们的突破判断标准,当行情有效突破时,软件会自动开仓和加仓。(二)案例 2:利用非过滤模型实现资金管理策略

资金管理在交易中是一个非常重要的思想,我们常用控制资金使用率、按资金的固定百分比下单等方式来控制交易的风险。这些策略都可通过非过滤模型的编写来实现。 1、控制资金使用率思想:交易思路:在已经有 1 手持仓的情况下,控制做多开仓交易的资金使用率不超过资金的百分

之 30。编写方法:BKVOL>=1 && A && BARSBK>1 && MONEYRATIO<0.3,BK(1);(其中 A为开仓条件,红

色为资金控制部分代码,MONEYRATIO 表示资金使用率)

30

Page 33: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、按资金的固定百分比下单思想:交易思路:在已经有 1 手持仓的情况下,每次加仓手数按照可用资金的 20%计算编写方法:BUYVOL>=1 && A && BARSBK>1,BK(MONEY*0.2/(C*MARGIN*D

+FEE) );(其中A为开仓条件,红色为资金控制部分代码,MONEY 表示模组资金余额)

注:MONEY*0.2/(C*MARGIN*D +FEE)解析:用可用资金的百分之二十除以每一手开仓所需资金即可计算出下单手数。其中“每一手开仓所需资金”可用“(最新价*合约保证金比例*合约交易单位)+合约手续费算出”,D为合约的交易单位 。

(三)非过滤模型编写规则

1、源码中不能有 AUTOFILTER 过滤函数。2、不支持不带手数的开平仓指令(如,BK;)和反手指令(如,BPK、SPK)。3、支持的指令 BK(N)、BP(N)、SK(N)、SP(N)、CLOSEOUT;支持指令分组。(四) 相关常见问题解答1、什么是非过滤模型?答:非过滤模型,允许连续出开仓信号或者连续出平仓信号,可实现加仓、减仓。     下图为编写示范及运行效果。

31

Page 34: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、非过滤模型有哪些作用?答:对于需要进行加、减仓操作的交易者,在策略执行的时候希望开仓后的下一个动作依然可

以是开仓,或者能够连续分批平仓。如果是过滤模型,开仓后只能是与之对应的平仓操作,这样就无法实现加仓、减仓策略。非过滤模型允许连续出开仓信号或者连续出平仓信号,可解决这个问题。

3、非过滤模型编写时需要注意的问题有哪些?答:A、加仓模型中,加仓语句需要判断是否是第一次开仓 方法:可利用判断当前是否有持仓或判断上一个信号是否是相同信号的方法确定是否是

第 一 次 开 仓 。 如 , 加 仓 条 件 &&BKVOL>0,BK(N); 或 者 加 仓 条 件&&ISLASTBK=1,BK(N);

B、减仓模型中,减仓语句需要判断当前是否有可平持仓 方法:可利用 BKVOL或 SKVOL 这样的函数来判断持仓情况。如,平仓条件

&&BKVOL>0,SP(BKVOL);

C、要注意考虑前一信号的方向防止锁仓 方法:在开仓语句中加入判断前一信号方向的函数。如,开仓条件&&ISLASTBK=0,SK(N);

4、为什么非过滤模型编写时指令后面一定要有手数?答:由于非过滤模型中可进行加仓,或者减仓,每笔交易的手数可能会不一样,所以需要具

32

Page 35: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

体指定。

5、为什么我的非过滤模型不加仓?答:在非过滤模型运行时“一个指令行,在一次“开仓 ->平仓”交易过程中只发一次信号”。如

果想让非过滤模型的开仓或平仓指令重复执行可在模型中加入MONO_SIGNAL 函数。     例:     CLOSE>OPEN,BK(1);

     CLOSE<OPEN,SP(1);

     MONO_SIGNAL;

注:有 MONO_SIGNAL 函数的模型支持同一指令连续发,因此能够实现加减仓。

6、非过滤模型在程序化运行过程中的规则请参照下方链接答:http://www.wenhua.com.cn/popwin/feiguolvmx.htm

五、 多模型组合分散交易风险很多投资者在寻找一种模型可分辨趋势行情和震荡行情,因为一个在趋势行情中表现不

错的模型到了震荡行情可能损失惨重,甚至反盈为亏。而使用多模型组合可将震荡模型和趋势模型同时加载到一个合约中,当行情震荡时,震荡模型的盈利可冲抵趋势模型的亏损。而当趋势行情到来的时候,这种多模型组合可共振盈利。

(一)案例下图是一个适用于螺纹钢的趋势模型,我们从图中的白色资金曲线走势可看出,在单边

下跌行情中,资金曲线不断增长,但当震荡行情到来时,大量获利资金回吐,资金曲线不断下降。试想,如果这样的震荡行情持续下去,我们还能在市场中坚持多久?如果为了先活下来而暂时从市场中出来,我们又是否能在下一次趋势行情到来的时候准确判断及时回到市场?

33

Page 36: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

通常在市场处于趋势行情下,获利是一件相对比较容易的事情,趋势策略的程序化模型往往能够收到不错的回报。但在震荡行情中,趋势策略由于不能适应频繁波动的行情又使得获利的资金回吐甚至反盈为亏。能否找到一个模型可让我们在震荡行情中保住固有资金,在趋势行情到来的时候又能及时参与到市场中?答案是否定的,但我们可通过组合投资来解决这个问题。     下图是一组针对螺纹钢设计的投资组合,我们并没有让趋势模型孤军奋战,而是为它配备 3 分钟周期日内波段模型和 15 分钟周期波段模型。从图中可看出,当趋势模型遇到震荡行情资金回吐时,震荡模型却是盈利的。这些盈利恰好冲抵了趋势模型的亏损。而当趋势行情到来,三个周期的模型会呈现同时盈利的共振局面,实现财富的增长。

34

Page 37: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

下图可直观的揭示投资组合的优势。组合的形式起到了削峰填谷的作用。为的是追求资金曲线平滑稳定的增长,避免资金的大幅回撤所导致的交易风险。

(二)对组合策略进行测试1、如下图①-③所示是如何对组合策略进行测试:

35

Page 38: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(三) 相关常见问题解答36

Page 39: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

1、已经进行过测试的组合,能否保存起来以便于下一次直接调出?答:可以,可通过下图所示的方法对当前组合进行保存。再次打开点击【打开现有组合文件】 即可。

2、为什么添加组合成员后“进度”中显示的是未计算?答:这是由于在添加组合成员时没有勾选【添加后自动计算】;选中未计算的组合成员,点击

下方【更新】按钮即可,如下图:

3、组合成员的资金曲线颜色可修改么?答:可修改,如下图所示是如何修改资金曲线颜色:

37

Page 40: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

4、已经添加的组合成员如何修改合约参数?答:选中要修改的组合成员,点击组合测试界面下方的【编辑】按钮,即可对组合成员参数进

行修改。 5、为什么组合测试界面的【回测】中,有左右两个纵坐标,分别代表什么?答:左侧纵坐标为各策略组合后的资金曲线坐标,右侧纵坐标为各个策略的资金曲线坐标。6、组合测试界面的【阶段总结】中,权益增长速度如何计算?答:权益增长速度=(本期净利润-上期净利润)/本期期初权益 。7、回撤贡献度得分越高越好么?答:是的,回撤贡献度分数越高说明回撤小,贡献大。 贡献度分数算法: 1)策略 1 和策略 2每个时点上比较,回撤小的得 2 分,回撤大的得 1 分,总分就是每个

时点得分之和,比如在某一个时点上,策略 1 的回撤小,策略 2 的回撤大,那么策略 1

就得 2 分,策略 2就得 1 分,此时总分是 3 分。每个时点上都会计算得分,然后把策略 1 和策略 2 的得分分别加起来就是各自的得分。 得分高说明策略的回撤小,贡献就大。

2)回撤贡献度是绝对值得分,回撤比贡献度就是比例,就是每个策略各自的得分,比上38

Page 41: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

所有策略加起来的总得分。8、如何实现快速将同一模型加载至不同合约进行测试?答:如下图所示,利用合约篮子功能可实现该想法。(1)在组合测试界面点击菜单栏中的【合约篮子】—>【新建篮子】(2)在弹出的窗口中选择选择一些要加载的合约。(3)点击“合约篮子”中的【加载合约篮子】,在弹出窗口中设置一些选项,点击【加载】, 可实现快速对同一模型加载至不同合约进行测试。

9、如何实现快速将同一合约同一周期加载不同模型进行测试?答:如下图所示,利用模型篮子功能可实现该想法。 (1)在组合测试界面点击菜单栏中的【模型篮子】—>【新建篮子】 (2)在弹出的窗口中选择选择一些要加载的模型。 (3)点击“模型篮子”中的【加载模型篮子】,在弹出窗口中设置一些选项,点击【加载】, 可实现快速对同一合约同一周期加载不同模型进行测试。

39

Page 42: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

六、 挖掘微观市场数据实现高频交易高频交易对市场变化敏感、反应迅速、多以秒周期为单位并且交易机会更多。但受到主

观交易需经过"分析—判断—交易"等过程的限制,想在决战于秒周期的高频交易中挖掘机会是几乎不可能的。而程序化高频交易在电脑的支持下,能够迅速对大量数据进行计算和分析在毫秒间完成从分析到交易的全过程,完美实现秒抓机会。(一)案例 1:判断单位时间内大单动向,跟随主力交易

期货交易中有一种理念叫做“跟随市场而不去预测市场”,但在秒周期这种微观市场中,我们很难从 K线形态上看出市场的动向。高频交易又是一种以高交易频率获得更高收益的方式,因此“趋势行情”这一概念并不是高频交易要考虑的。那么高频交易如何跟随市场呢?     从下面的 K线图看,行情几乎是没有任何规律的。高频程序化却可利用数据统计发现规律,我们都知道,大单在市场行情中起到了举足轻重的作用,我们可把跟随市场进一步理解为跟随大单。

40

Page 43: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

思路:提取各笔大单进行统计,比较单位周期内主动买的量和次数及主动卖的量和次数;当连续两个周期大单的主动买量大于主动卖量并且主动买次数大于主动买次数则认为是做多进场时机,反之做空进场。根据合约特点配合止损作为出场条件。

需要用到的高频函数:L2_SETBIGVOL(N) 设置大单闸值函数L2_BIDBIGTOTVOL 秒周期主动买的大单成交量L2_ASKBIGTOTVOL 秒周期主动卖的大单成交量L2_BIDBIGCOUNT  秒周期主动买的大单成交次数L2_ASKBIGCOUNT  秒周期主动卖的大单成交次数需要取到的比较数据:设置大单标准:L2_SETBIGVOL(25);//设置大单手数,25 手以上为大单

41

Page 44: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

比较大单主动买量和主动卖量:T1:=L2_BIDBIGTOTVOL>L2_ASKBIGTOTVOL;//主动买的量大于主动卖的量T2:=L2_BIDBIGTOTVOL<L2_ASKBIGTOTVOL;//主动买的量小于主动卖的量比较大单主动买次数和主动卖次数:P1:=L2_BIDBIGCOUNT>L2_ASKBIGCOUNT;//主动买的次数大于主动卖的次数P2:=L2_BIDBIGCOUNT<L2_ASKBIGCOUNT;//主动买的次数小与主动卖的次数做出判断:EVERY(T1&&P1,2),BK;//连续两个周期主动买量>主动卖量并且主动买次数>主动卖次数,买开EVERY(T2&&P2,2),SK;//连续两个周期主动买量<主动卖量并且主动买次数<主动卖次数,卖开根据合约设置止损出场条件。根据上面思路编辑模型,加载到秒周期上测试程序化效果,从下图可看出,通过挖掘大

单动态,在当天菜粕行情以下跌为主的走势中,程序化开仓方向以做空为主,成功的跟随了行情的走势。

42

Page 45: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二)量能周期,揭示价量关系交易中我们通常需要用价格配合成交量来判断行情,传统的蜡烛图 K线每一根 K线所代

表的时间是相同的,通过价格的变化来绘制 K线,我们可把它看做是“反应价格和时间关系的 K线”。但这种 K线无法看出“价和量”之间的关系,或者说,如果我们想知道某个级别的成交量累计过程中,K线的价格是如何变化的则无从下手。赢智特有的量能周期解决了这个问题,利用价量关系绘制 K线。     下图是沪银 1312 合约某日的 1 秒钟周期走势图,从宏观看当天的沪银行情是有一定趋势的,但中间充斥着很多杂音(震荡行情)。

43

Page 46: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

下图是沪银 1312 合约同一日的量能周期走势图,根据沪银近期成交量表现,我们设置每根 K线成交量容量为 8000 手,可以看出,通过量能周期绘制的 K线图过滤掉了很多杂音,趋势性更明显。我们可提取量能周期特有的数据来编写价量关系模型。

思路:比较相邻两根 K线量能周期形成的时间和相邻两根 K线量能周期中包含的 TICK 笔数,44

Page 47: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

由于每根 K线的成交量容量相同,那么一根量能周期形成的时间越短,包含的 TICK 笔数越少,说明市场的意愿越坚决。当断定市场意愿坚决时,跟随价格走势交易。

需要用到的高频函数:VOLTIME  当根量能周期形成的时间VOLTICK  当根量能周期包含的 TICK 笔数需要取到的比较数据:TMP1:VOLTIME<REF(VOLTIME,1)&&VOLTICK<REF(VOLTICK,1);

//当根量能周期形成的时间短于上一根量能周期形成的时间并且当根量能周期包含的 TICK 笔数少于上一根量能周期包含的 TICK 笔数H>REF( MA(H,2),1);

H<REF( MA(H,2),1);

//当前 K线最高价和前两根 K线的最高价均值比较其他判断市场方向的思路,如 K线振幅,N周期内涨幅等也可加入做出判断:TMP1&&H>REF( MA(H,2),1)&&判断行情是否向上,BK;

TMP2&&H<REF( MA(H,2),1)&&判断行情是否向下,SK;

加入行情拐头平仓语句下图是基于量能周期编写的模型,由于量能周期 K线图的趋势性更明显,因此更容易发

现微观市场的趋势行情,这种表现价量关系的形式兼顾了高频交易高资金使用效率和常规周期趋势行情容易获利的双重优点。

45

Page 48: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(三) 案例 3:白天没空盯盘,晚上复盘研究对于一些白天时间不能自由分配的投资者来说,研究行情和完善策略的时间只能留在晚

上。但盘后静态数据无法形象反应当天每根 K线的形成过程,我们对静态数据进行测试可看到信号出现在哪一根 K线上,却不能知道这根关键 K线的行程过程和当时市场的动态。高频交易的逐笔回放测试功能解决了这个问题。 如下图,软件按照当日的逐笔数据复原的 K线行程的过程,再现了各信号出现的时间,这样,即使白天没有时间盯盘,晚上也可利用逐笔回放测试功能进行复盘分析。

46

Page 49: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(四)高频模型的编写高频模型的编写步骤与过滤模型、非过滤模型的编写过程相同,在软件的麦语言公式编

写平台中,点击菜单栏的【插入函数】,可在分类中找到“日内秒周期数据引用”,这里收录了所有取高频数据的函数,如下图所示:

47

Page 50: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(五)高频程序化的调出和使用 1、调出

如下图所示是如何调出高频程序化:

48

Page 51: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

49

Page 52: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、模型测试如下图所示是如何对高频程序化模型进行测试:

3、逐笔回放测试复盘当日行情如下图所示是如何进行逐笔回放测试,在日内秒周期页面点击鼠标右键,按照下图步骤。

50

Page 53: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(六)相关常见问题解答1、下图中的红绿圆点以及黄色圆点分别代表什么含义?

51

Page 54: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

答:上图中    黄点:提示最新成交价格的成交量达到或超过了所设置“大单”量;     红点:提示离最新成交价最近的,并且达到或超过所设置“大单”量的买盘报价具体价位;     绿点:提示离最新成交价最近的,并且达到或超过所设置“大单”量的卖盘报价具体价位;2、添加合约时,弹出界面的“大单设置”是什么含义?

答:上图红框中,大单设置是指界定每笔交易是否是大单的标准即大单阀值;可自己手动设置,也可使用软件自动推荐的阀值。

3、模型中如果用到取五档数据的函数,是否需要有五档授权?52

Page 55: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

答:引用取五档数据的函数,需要有五档行情授权才能够取到行情数据。4、为什么日内秒周期界面有两种成交明细?答:日内秒周期的成交明细部分,上方是大单成交明细,下方是正常的逐笔成交明细。5、在日内秒周期界面可查看历史某一天的秒周期和 TICK 数据么?答:可以,在日内秒周期界面单击鼠标右键,选择【切换数据日期】,在弹出的设置框中选择

要查看数据的日期即可。注:在日内秒周期中可切换数据日期,但不能够查看连续多天的历史数据。

第四部分 模型测试详解

一、 海量数据检测模型当模型编写好后,通常需要对这个模型做测试,检验这个模型在历史 k线图上的运行效

果,但如果测试的数据不够多,那么测试结果会由于样本少不能涵盖较全面的行情而片面不客观,导致程序化的执行效果和预期相差甚远。因此,历史数据的多少从一定程度上决定了测试平台价值高低。嬴智WH8 提供海量历史数据,并且能够灵活选择测试起止时间,让模型效果测试真正做到有实际参考意义。(一)案例:国内合约提供从开市至今的全部历史数据

由于趋势模型通常要加载在较大的周期上,因此在进行效果测试的时候需要更长的时间历史数据作为测试样本,如果测试数据不够多,则无法达到检测模型的目的。赢智WH8中提供各合约从上市开始的数据,下图是对股指合约上市至今的全部数据进行的效果测试。

53

Page 56: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二)申请海量历史数据的操作方法1、如下图所示,是如何做申请数据前的准备工作。

54

Page 57: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、待 “回测”中 k线图显示后,可以按照下图所示步骤申请历史数据:

55

Page 58: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

申请后,在进行“回测“时,我们便可使用更多的数据对模型进行效果测试,如下图所示:

56

Page 59: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(三)相关常见问题解答1、因为网络断线或其他原因,程序化数据管理中存下了错误的数据,如何将错误数据更正?答:当您发现现有 K线数据存在错误时,可点击“补数据”,在其中选择“刷新当屏数据”—>“下

载”,这样会从服务器重新下载当前屏幕所显示 K线数据,解决错误数据问题,如下图。

57

Page 60: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、为什么在【补充数据】的左上角的合约选择中找不到我要申请的合约?答:补充数据的前提是该合约已进行过回测,因此,没有进行过回测的合约是不能在这里找到

的。3、 已经进行过回测,为什么在【补充数据】中找不到相应周期的合约。答:加载列表中所列出的合约周期是基础周期;其他周期的数据由这些周期合成,因此,在申请数据的时候只对基础周期做申请。

合成原则:1~15 分钟以下周期数据(不含 15 分钟)由 1 分钟数据合成,补充 1 分钟数据即可。15 分钟及日周期以下数据(不含日周期):由 15 分钟数据合成,补充 15 分钟数据即可。日周期以上数据(含日周期):由日周期数据合成,补充日线数据即可。

二、 分析报告分分钟检验模型好坏对一个模型进行测试时,我们需要计算每一次历史交易的盈亏、回撤等来得出收益率、

最大回撤、胜率等我们需要的数据,但这些数据如果全靠手动计算几乎是不现实的。程序化交易软件充分利用了计算机强大的运算能力,可针对测试的模型瞬间出具一份含有众多参考数据的详细报告,分分钟就能检验模型好坏。(一)案例:利用分析报告360 度检测模型

下图是一个分析报告的一部分,图中②、③指标是我们通常最关注的数据,很多人会认为盈利率高,胜率高的模型就是好模型,真的是这样的么?让我们再来看看图中的①、④衡量指标。

58

Page 61: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

报告显示该模型在效果测试中最大回撤高达 153860,最大回撤比已经逼近了 50%,这就意味着该模型并不是一个稳定的模型,如此大的回撤一方面会在实盘中带来权益的锐减,另一方面会使交易者的心态受到严重的影响。再看④指标,空头交易的平均盈利/平均亏损测算结果是 0.88,这就说明该模型的空头交易绝大多数是亏损的,实盘中,做空的操作很可能成为模型的短板。     所以在衡量一个模型的好坏时,我们要充分利用软件提供的测算报告,根据各个测算指

59

Page 62: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

标全面考量模型。(二)案例:效果测试结果的升级应用很多经典理论为我们提供了一些计算交易数据的公式,而“分析报告”可帮助我们计算

出这些公式中所需要的数值。     例如著名的凯利公式,可通过胜率和盈亏比计算出开仓的最佳资金比例;凯利公式f*=(b*p -(1-p))/b,其中 f* 为开仓最佳资金比例、b为模型的平均盈利/平均亏损、p

为胜率,在测试报告中,平均盈利/平均亏损和胜率均已经算出,我们只需要把这些数据代入公式中就能得到模型最优的开仓比例,如下图。

(三)进行收益率测算的操作方法如下图所示是如何进行收益率测算:

60

Page 63: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(四)相关常见问题解答1、在进行回测载入数据设置时,三种信号执行方式分别是什么意思?

61

Page 64: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

答:① K线走完,确认信号后下单 原理:如果 K线走完信号仍然存在,则将这根 k线的收盘价作为成交价计算盈亏。 ② 出信号立即下单,K线走完进行信号复核 原理:K线中有满足条件的价格即出现信号下单,如果 K线走完信号不存在,则计算信

号消失成本;一根 k线只出一个信号。 ③ 出信号立即下单,不进行信号复核 原理:K线中有满足条件的价格即出现信号下单,即使后来不满足条件信号也不消失,

一根 k线可能出现多个信号。注:进行回测时,选择“K线走完,确认信号下单”,同时选中下面的“指令价取值下一根 k线的开盘价进行回测”,模型以下一根 k线开盘价进行回测,分析报告里,下单价格会显示开盘价位。

62

Page 65: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、“回测”中的三种资金曲线显示模式是什么含义?答:如下图所示: 全局缩略:全局缩略软件会自动显示加载起止时间所有的数据,以及完整的资金曲线形态, 投资者可清晰看到软件资金曲线的整体情况。

局部细节:显示模型的局部细节信息, 不显示:只显示 K线形态,不显示资金曲线。 在“回测“的 k线图上单击鼠标右键,可在三种模式下设置显示信号、设置原型指标线、显 示信号连线。

3、效果测试指标项说明:63

Page 66: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

注:对于盈利、亏损的计算,带有*的是都是以从开仓到持仓为 0 算一次交易计算盈亏,未标注*的是按照一开一平来计算盈亏。测试天数 测试的自然天数(包括当天)测试周期数 测试的 K线根数指令总数 出现指令数目初始资金 初始投入总资金空仓周期数 没有持仓的周期数最长连续空仓周期数 连续无持仓的 K线根数*最长交易周期 开仓到持仓为 0 这个过程一共占用的周期数称为交易周期;多头,空头所有交易都

有一个对应的交易周期值,取其中的最大值标准离差 √(SUM((每次盈利-平均盈利)^2,N)/ N)

标准离差率 离差/平均盈利夏普比率 夏普比率计算公式:=[E(Rp)-Rf]/σp;

E(Rp):平均年收益率=年化单利收益率

Rf:无风险利率(大约是 3%)

σp:收益率的标准差率(年化标准差率)=标准差率/sqrt (测试天数/365)

标准差率=标准离差/初始资金*盈亏总平均/亏损平均 ((总盈利-总亏损)/交易次数) / (总亏损/亏损交易次数)权益最大回撤 从测试开始到结束,动态权益计算出来的波段从高点到低点回撤的最大值权益最大回撤时间 最大回撤出现的时间权益最大回撤比 最大回撤和最大回撤时的最大权益的比值的最大值权益最大回撤比时间 最大回撤比出现的时间损益最大回撤 从测试开始到结束,动态损益计算出来的波段从高点到低点回撤的最大值(损益最

大回撤是以持仓等于 0 时的资金为标准计算的)

64

Page 67: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

损益最大回撤时间 损益最大回撤出现的时间损益最大回撤比 损益最大回撤和损益最大回撤时的最大权益的比值的最大值损益最大回撤比时间 损益最大回撤比出现的时间风险率 本金最大回调/本金收益率/风险率 收益率/风险率每手最大回撤 每手回撤的最大值。(每手回撤:对于每次交易,用该次交易的亏损值除以这次交

易过程中的成交手数)每手平均盈亏 (总利益-总亏损)/ (总成交量的 1/2)期间最大权益 整个测试过程中每个周期已缴保证金+剩余可用资金+持仓浮盈所得结果中的最大

值。期间最小权益 整个测试过程中每个周期已缴保证金+剩余可用资金+持仓浮盈所得结果中的最小

值。手续费 交易产生的总手续费成交额 成交价*(开仓或者平仓手数)*交易单位盈利率 盈利占初始资金百分比年化单利收益率 单利收益率/(交易天数/365)月化单利收益率 单利收益率/(交易天数/30)年化复利收益率 期末权益/起初权益^(360/交易天数)-1

月化复利收益率 期末权益/起初权益^(30/交易天数)-1

胜率 非亏损交易周次数/总交易次数风险收益评级 星指数越多说明模型风险越小越稳定*平均盈利/最大回调(最大回撤)

平均盈利 = 总盈利/盈利交易次数

*平均盈利/平均亏损 平均亏损 = 总亏损/亏损交易次数;平均盈利 = 总盈利/盈利交易次数净利润 净利润 = 总盈利 - 总亏损

65

Page 68: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

总盈利 盈利的总和总亏损 亏损的总和其中持仓浮盈 其中持仓的浮动盈亏,最后交易状态如果是有持仓,按照收盘价计算盈亏。*交易次数 发生交易的次数*盈利比率 盈利次数/总交易次数*盈利次数 盈利的交易次数*亏损次数 亏损的交易次数*持平次数 持平的交易次数平均交易周期 总周期数/交易次数*平均盈利交易周期 总周期数/盈利次数*平均亏损交易周期 总周期数/亏损次数平均盈亏(利润) 总利润率/总交易次数平均盈利 每一次的盈利额比总资金额的均值平均亏损 每一次的亏损额比总资金额的均值*最大盈利 单笔最大盈利*最大亏损 单笔最大亏损最大盈利/总盈利 最大盈利和总盈利的比值最大亏损/总亏损 最大亏损和总亏损的比值净利润/最大亏损 (总盈利-总亏损)/最大亏损*最大连续盈利次数 测试周期内连续盈利交易的次数最大连续亏损次数 测试周期内连续亏损交易的次数平均持仓手数 持仓手术/持仓周期数最大持仓手数 在持仓周期内持仓手数最大值平均使用资金额 持仓保证金求和/持仓周期数最大使用资金额 在持仓周期内,持仓保证金额最大值

66

Page 69: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

平均资金使用率 ((持仓保证金/当前权益)求和)/持仓周期数最大资金使用率 (在持仓周期内持仓保证金/当前权益)的最大值扣除最大盈利后收益率 (最终权益-最大赢利-初始资金)/初始资金扣除最大亏损后收益率 (最终权益+最大亏损-初始资金)/出始资金

三、 敏感性测试了解模型脾性模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称

之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。     我们将模型的敏感性绘制成图表,就可更直观的分析出模型的优劣。例如在分析滑点对模型收益率的影响时,用横坐标表示滑点,纵坐标表示收益率,很明显滑点对收益率影响小的模型是更优的模型。(一)案例:盈利的模型就是好模型么?

如下图所示,这是一个盈利的模型,也许 40.92%的胜率和 8.44%的最大回撤会让我们觉得这个模型还算可以,但这一定是一个好模型么?

67

Page 70: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

让我们从一个二维关系去审视这个模型,看一下滑点和收益之间的关系:从下图可很明显的看出,滑点每增大一点,收益率就会大幅下降;当滑点为 2个最小变动价位的时候模型已经失去了盈利能力。而实际交易的时候,我们很难做到 0滑点,这个模型也就很难盈利。

68

Page 71: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

分析报告得到的是各衡量指标的独立数据,而敏感性测试可告诉我们一些重要指标的变化对盈利、胜率等的影响,让我们深度了解模型的脾性。(二)进行敏感性测试的操作方法

如下图所示,是如何进行敏感性测试

69

Page 72: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

70

Page 73: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

四、 参数优化让模型达到最优交易过程中有时会发现在一段时间内表现很好的模型,过了一段时间就好像失效了一样 ,

这种情况是由于模型参数不再适应当前行情引起的,我们需要尽快寻找新的最优参数,而在海量的历史数据中仅凭人工去寻找如大海捞针,费时费力,机会渺茫。 "参数优化",可在指定的参数范围内让计算机很快筛选出最适合当前行情的参数。(一)案例:利用参数优化,让止损参数顺势而为

下图是一个带有追踪止损策略的沪胶品种 5 分钟策略模型,结束了小半年的单边下跌行情后,市场开始调整形态,从下图白色资金曲线可清楚的看到,资金曲线在近六个月不再保持稳定上升形态,证明原来的止损价差参数已经不能适应现在的市场,模型已经失效。

71

Page 74: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

下图是利用参数优化对模型的参数进行初选和精选后的结果,在使用新参数后,白色资金曲线更平滑稳定,新的参数更能适应市场行情。

72

Page 75: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二)进行参数优化的操作步骤1、如下图所示是如何进行初选:

73

Page 76: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

注:设置参数关系可提高优化效率,并保持参数间的逻辑关系。如下图所示,软件正在进行初选参数优化,为您筛选最优参数配置。

74

Page 77: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、参数优化计算完会以排序的方式显示优化出来参数组(如下图所示),按照下图步骤完成参数组的保存后,点击“关闭”按钮即可。

3、结束初选后,点击保存好的“优化参数组 1/2/3/4”,准备进行精选(如下图所示)。例如,刚才我们将初选优化的结果保存到了“优化参数组 1”中,现在,我们就切换到“优化参

75

Page 78: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

数组 1”,在点击【精选】按钮,对上次初选的结果进行精选。

4、如下图所示设置好优化使用的线程数、精调范围,参考标准的比重后,点击“确定”按钮,开始进行精调。

76

Page 79: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

5、按照和初选同样的方法来保存精调后的结果,以便进行回测(如下图所示)。

77

Page 80: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

6、如下图,选择保存好的“优化参数组 1/2/3/4”,点击【用新参数重新测算】,新的参数组计算的结果就会显示在“分析报告”中了。

(三)相关常见问题解答1、为什么有“初选”和“精选”两种参数优化方式,原理是什么?答:初选是在每个参数最小值与最大值之间抽选几个效果最好的参数值,精选是在初选好的参

数值基础上进行微调,让参数达到最优。原理:假设有两个参数 A,0,100,缺省值是 3

78

Page 81: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

B,0,100,缺省值是 4

初选:设置抽选个数为 5。步骤 1:固定参数 B=4,将 A 在 0 到 100中按照步长((最大值-最小值)*5%)抽样,将抽取

的个数分别代入参数 A中,会计算出 20个结果,从这 20个结果中挑出最优的前 5个参数值,参与步骤 3;

步骤 2: 固定参数 A=3,将 B 在 0 到 100中按照步长抽样,将抽取的个数分别代入参数 B中,会计算出 20个结果,从这 20个结果中挑出最优的前 5个参数值,参与步骤 3;

步骤 3:将 A 参数挑选出来的 5个数与 B 参数挑选出来的 5个数进行排列组合,这种组合有25 种结果,从这 25 种结果中挑选最优的一组,比如说最优参数组是 A=5,B=7; 这时候,参数列表变为:A,1,100,缺省值是 5;B,1,100,缺省值是 7。

在进行精选:设置精调范围为 3。步骤 1:参数 A 的精调范围为 5±3,即[2,8];参数 B 的精调范围为 7±3,即[4,10]

步骤 2:参数 A 的 7个数(2,3,4,5,6,7,8)与参数 B 的 7个数(4,5,6,7,8,9,10)进行组合排列,一共有 49个结果,选出其中最优结果的一组。

这一组最优的参数组很有可能不是通过抽样结算出来的最优参数。原因:精调范围内的参数中有可能是上述初选的 5个数之外的数,而这两个数组合在一起结果比初选的最优结果优。这种可能性就是为什么要初选参数优化和精选参数优化一起使用会更好的原因。 2、参数写在模型源码中和写在参数列表中有什么区别。答:两者对模型的运行没有区别,但参数列表中的参数可进行参数优化,写在源码中的参数则不能。3、优化线程数有什么作用?答:线程指的是电脑的线程数,意思是在参数优化中要使用电脑的几个线程,如果您正在看盘或者在做些其他工作,可选择比较小的线程数,以便不影响您做其他工作。

第五部分 模组使用详解模型源码是信号出现的依据,但信号出现到成交之间还有很多问题需要解决。如,模型

满足条件出现信号后是即刻发出委托,还是等 k线走完信号稳定在发委托?如何委托才能提

79

Page 82: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

高成交几率?如何在开仓的同时设置止损止盈等等。您可能遇到的问题软件都已经为您考虑到,可在模型加载过程中设置好,最终完成程序化全自动交易。(一)加载模型前需要做的设置如下图所示,是如何加载运行模组。

1、第一步 定义数据区

80

Page 83: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

数据量:     程序化的运行离不开 k线,k线数据量越少,初次加载模型的运算速度就越快。但有的模型用到跨周期函数,或模型使用的参数值很大,就需要更多的 k线支持,函数才能正常返回数值,才不影响模型信号的计算。

81

Page 84: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、第二步 加载参数

(1)休市前最后一根判断 k 线走完前 M秒,然后不在下单:     在程序化交易中可能会遇到这样的问题,使用“k线走完,确认信号后下单“,但在当天最后一根 k线上出了开仓信号,只能在第二天开盘发委托。但开盘价格跳空,本来的能赚到的利润损失了大半。针对类似问题,软件中提供了“休市前最后一根判断 k线走完提前m 秒,然后不在下单”的功能,可在上午小节、中午,下午休市前的最后一根 k线上提前确认 k线走完,对信号提前发出委托,不需要在第二根 k线出现时再发委托,避免开盘后的跳空对程序化交易策略的影响。注:15 分钟周期会在 10:15收盘的 k线提前确认 k线走完;但如果是 1 小时周期,在 10:15 时 k线并不会

82

Page 85: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

走完,所以不会提前确认 k线走完。其他周期也同理,只有在休市时间正好当根 k线走完时间,此设置才起作用,在自定义周期上也同样适用。

(2)信号执行方式:     在看指标手动交易时经常会遇到这样的情况,在 k线形成过程中指标值交替的达到又不达到交易条件。遇到这样的情况,有的用户习惯在指标满足交易条件时立即就委托;有的用户习惯在指标满足条件一定时间后再委托;也有的用户习惯等 k线走完指标彻底满足条件且不在变化时再委托。在程序化自动交易中也可做到如此灵活,软件中提供了七种常用和一种自定义的信号执行方式,完全满足程序化用户需求。

83

Page 86: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

84

Page 87: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(3)委托失败后复位:     当满足模型条件发出委托时,可能由于资金不足或网络故障等原因委托失败,委托失败后仓位和信号不能完全匹配,程序化无法继续运行,需要重新复位。

85

Page 88: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

自动复位:委托失败时自动将失败前的模组持仓情况带入程序化模组,程序化继续运行。手动复位:委托失败时弹出模型运行出错是否复位的确认框,点“否”模型暂停下单; 点“是”,           程序化会弹出类似模组手动初始化的窗口,客户需要手动自己初始仓位,模组根据

手动初始化的仓位情况继续运行。3、第三步 下单精细控制

价格(委托方式):     有的期货合约盘中价格波动幅度比较大,有的合约则相反,如果对不同合约都使用同一种价格委托方式可能会不利于成本。如:豆粕盘中波动幅度比较小,在同一价格上反复的概率比较大,即使使用“排队价”委托,成交的几率也会比较大;而股指价格波动幅度比较大使用“排队价”委托成交的几率小很多,使用对价或超价委托成交几率就会大很多。程序化自动下单中也提供了多种价格委托方式,可根据您的需求进行选择。

86

Page 89: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

4、第四步 模型参数修改

87

Page 90: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

对不同合约,加载同一模型使用的参数值可能是不同的。如在使用模型参数做止损时,不同合约使用的止损参数值是不一样的,难道仅仅因为止损参数值的不同就要新建几个模型当然不需要,加载模型中的第四步就可解决这个问题,对同一模型每次加载时“默认”位置设置不同的参数值(每次加载的模组都是独立保存,参数值互不影响)就可以了,如上图所示。5、第五步 保证金参数

88

Page 91: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

有的用户模型源码中使用资金管理函数实现头寸控制,头寸大小可能是信号的判断条件 。模型的历史 k线图上,也需要计算信号,就需要给历史 k线赋予一定的资金、合约的保证金比例、手续费,否则历史 k线图可能会因为头寸计算错误不显示信号,或者没按照我们的思路计算信号。在加载模型的第五步中“模组起始资金”设置的值会赋予历史 k线中的第一根k线,参与之后历史 k线图上的信号计算。带有资金管理函数的模型在历史 k线图上就能正确计算信号了。注:1、未使用资金管理函数的模型,不具有头寸管理功能,第五步的设置对模型的运行是无用的,模组起始资金、保证金比例、手续费将不可设。2、“模组起始资金”只会影响模型历史 k线图的信号计算,模型加载后参与信号计算的资金是模组手动初始化里的“模组可用资金”。6、模组手动初始化

89

Page 92: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(1)模组可用资金:     张先生投入 10 万元资金做程序化自动交易,想把仓位控制在资金的 80%,但不同合约的价格不一样,需要的保证金不同,每次都要在加载时重新计算交易手数,非常麻烦。解决张先生的问题很简单,只要在模型源码中通过资金管理函数编写按照资金的 80%计算委托手数,再在模组手动初始化中 “模组可用资金”(上图红框)处设置赋予这个模组的可用资金,模组开仓时就会取到赋予的可用资金值,并按照模型编写条件计算委托手数,无需用户手动计算。 注:1、如果模型源码中没有资金管理函数,模组可用资金对模型的运行是无用的,所以“模组可用资金”位置是不能填写的。资金管理函数有:FEE 合约手续费、MARGIN 合约保证金、MONEY 模组资金余额、MONEYRATIO 资金使用率、MONEYTOT 模组权益、OFFSETPROFIT 返回当前模组的平仓盈亏、PROFIT

90

Page 93: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

模组逐笔浮盈、SETDEALPERCENT 设置模型下单用的模组资金比例、VOLMARGIN 持仓保证金、BKVOL

模 组 信 号 多头持 仓 、 SKVOL 模 组 信 号空头持 仓 GROUPBKVOL 取模 型 分 组后的 模 组 多头持 仓GROUPSKVOL取模型分组后的模组空头持仓。2、这里设置的是模组的可用资金,并不是权益,如果“初始持仓手数”填入 0,那么填写的模组可用资金就是模组的权益;如果“初始化持仓手数“填入 1,那么模组的权益就为“填写的可用资金+1 手持仓占用的保证金”。3、模组权益和可用资金会随着持仓过程中价格变化实时变动。4、程序化的每个模组都是独立运行的,与其他模组互不干扰,每个模组可设置其独立的合约保证金比例、手续费、初始的模组可用资金、初始持仓手数和价格,当模模型运行后需要用到这些值时,就会自动取到了。(二)相关常见问题解答1、用 “IF 加权”合约数据加载模型,计算模型信号,对 IF1310 合约下单是否可以实现?答:在加载模型的第一步中,合约位置选择“if 加权”,在加载模型的第二步“交易合约”位置选    择 if1310即可,如下图所示,那么模型加载后用 if 加权数据计算模型条件,下单时交易

if1310 合约。

91

Page 94: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、模型源码中指令后面写有手数了,如 bk(1),加载模型第二步的“下单手数”也填写了值,下单手数以哪个为准?答:源码中写的手数优先级高于加载模型第二步的手数,所以如果源码中指令后面有手数,就

按照源码中的手数下单,加载第二步的手数不起作用。当源码中指令后面没有手数的时候,再取加载模型第二步的手数值。

3、模型源码中已经写了止损条件,加载模型的第三步中也有启动止损,两者冲突吗,是否一定要启用?如果启用了止损,启动后如何修改止损参数?答:两者没有冲突,相互独立的。 两者区别:在源码中写的止损,属于源码中指令平仓条件,当满足条件时在 k线图上会出

92

Page 95: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

现一个平仓信号,第三步启动的止损,不属于源码中指令平仓条件,止损平仓后不会在图上出信号,模型继续按照自己的信号显示规则出信号。 止损参数需要在交易界面(快捷键:F12)修改,如下图所示,在交易界面左侧"止损参数"中"国内合约价差参 数"修改后模型会自动读取到,修改之后程序化开的仓使用新止损参数。修改之前程序化开的依旧使用旧的止损参数。

4、加载模型第三步中“使用软件内置模块”和“使用自编下单组件”应该选哪个?答:软件内置模块:是指信号出现后的委托价格、信号消失处理、止损止盈部分已经在软件的

内置模块中写好,您需要做的就是在软件写好的功能模块中(第三步可选项)设置需要的选项。使用自编下单组件:是指信号出现后需要解决的问题(委托方式、委托手数、信号消失处理方式、止损止盈),需要您通过自编下单组件编写实现,使用自编下单组件的好处是不局限于软件提供的默认的委托方式、信号消失处理方式、止损止盈策略,完全可根据自己的需求来编写这些。

5、模型加载完成后弹出的窗口(模组手动初始化)中“初始持仓手数”和“持仓价格”如何填写?有什么用?答:根据您自己的需求填写,如果在初始化持仓手数和价格位置填入数值,模型会认为是它自

93

Page 96: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

己按照此价格开的仓,就会管理这个仓位,当出现平仓信号时,可对初始化进来的持仓平

仓。如果您不想模型替您管理您真实账户的持仓,可填入 0 手,当模型出现平仓信号时就不会将您真实账户的持仓平掉。

注:1、并不是所有真实持仓都能初始化进来,如果 k线图中最近一个固定信号是 bk或者 bpk 信号,只能初始化多头持仓;如果是 sk、spk 信号,只能初始化进来空头持仓,如果是 bp、sp 信号,无法初始化进来持仓。2、填入的初始持仓手数只能小于等于您真实交易账户里的持仓。3、如果初始化时填写的手数大于加载模型时第 2 步中填写的手数,当出现平仓信号时会按照初始化的手数平仓;如,初始化的手数填写的是 3 手,加载第 2 步中填写的是 2 手,平仓信号出现时会平掉 3 手。

6、模型加载完成后弹出的窗口(模组手动初始化)中的“模组可用资金”与交易账户的实际资金有什么区别,不按实际资金填写是否有问题?

答:模组可用资金是该模组所用的模型在运行中取到的可用资金值,与您的交易账户资金没有 直接关系,但在模型出现信号委托时使用的还是您的实际资金,所以建议您设置值不大

于交易账户的实际资金,否则可能会因为实际资金不足,无法开仓。

“模组可用资金”的存在使得程序化资金管理策略得以实现,可将交易账户的实际资金以“模 组可用资金”的方式分配给多个模组,每个模组会按照分配到的资金参与模型的运算,并 且在交易的过程中随着盈亏实时变动,当退出模组时软件会记住退出时的可用资金值,

下次打开组群加载模组时会自动读取到。

7、加载模型的第三步中“信号消失处理”是什么意思?答:信号消失是指在加载模型第二步中信号执行方式选择了“……,k线走完进行信号复核”时,

k线形成过程中出现的信号在 k线走完时不再满足条件而信号消失的情况。信号消失处理

是指在出现94

Page 97: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

这样的情况后,软件自动将持仓恢复为信号出现前状态的过程。如,bk、sk 信号消失,软件会自动执行平仓操作,如下图。

注:“……,不进行信号复核”的信号执行方式,信号出现后不管之后信号条件是否满足,信号一直固定不消失,所以选择此种信号执行方式不存在信号消失的情况,也不会进行信号消失处理。

第六部分 下单组件使用详解很多成功的程序化交易投资者每年算一笔账,在滑点上的损失比交的手续费还要多。随

着投资者对程序化交易的认识不断提高,投资者之间将逐渐从交易策略的较量转变为下单精细化控制的博弈上来。下单组件可对程序化委托的每个环节进行精细化控制,达到降低交易成本的目的,如何减小滑点成本,减小交易的摩擦成本是他们的着力点。(一)案例 1:追价组件确保成交

模型满足开仓条件发出委托信号后,因行情变动快,加之下单手数多等原因,可能无法快速成交。通过绑定自己编写的追价下单组件,可及时将没有成交的部分进行自动撤单,然

95

Page 98: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

后自动按照编写的价格方式重新发出委托,如果出现价差过大或长时间无法成交等则放弃本次交易。下图为组件策略部分源码。

组件执行效果如下图所示,在第一次委托没有成交时,组件对委托进行了撤单,撤单后重新追价,确保了委托的成交。

96

Page 99: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(二)案例 2:分批下单,实现大单拆分大客户由于资金量大,满足模型条件时如果一次下单手数过多很可能无法成交或直接将

价格打穿。通过绑定自己编写的分批下单组件,可在下单时由系统自动拆分成合适的小单分批委托,也可由组件监测价差过大时是否放弃后续委托。下图为组件策略部分源码。

97

Page 100: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

组件执行效果如下图所示,利用下单组件,将 20 手委托拆分成 4批委托,每批 5 手。

98

Page 101: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(三) 案例 3:实现自己的止盈止损策略软件中会提供几种默认止赢止损策略,但有时还是无法完全满足用户的多样性需要,下

单组件的函数可取到盘口价格和持仓合约的信息(持仓价格、数量、和盈亏等),通过编写组件可定制属于您自己的止损止盈策略。     跟踪止盈是软件默认提供的策略,但如果希望在盈利达到一定值时在启动跟踪止盈策略 ,就无法实现了,下图为按照此需求编写的独立运行的下单组件的部分源码(盈利达到 3个点后启动跟踪止损策略)。那么在开仓后,独立运行的下单组件就会开始取盘口价格和持仓价格实时监测,满足了条件会自动发平仓委托。

99

Page 102: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(四)下单组件的建立和运行1、建立下单组件: 如下图所示是如何建立下单组件:

100

Page 103: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、运行下单组件:101

Page 104: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

下单组件的运行有两种方式,独立运行和绑定运行。(1)独立运行下单组件:独立运行的组件:不需要绑定交易模型,可独立运行,通过编写组件代码可取到盘口或持仓信息(持仓手数、价格、盈亏等),编写一定条件对合约进行开平仓。操作方法:如下图所示,是如何运行独立下单组件:

102

Page 105: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(2)绑定运行组件:绑定运行的组件:需要和策略模型一起运行,策略模型负责监测信号;组件负责处理以什么样的形式对信号发送委托。操作方法:在加载模型的第三步“下单精细控制”部分,将控制方式修改成“使用自编下单

103

Page 106: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

组件”,点击图中红圈处,选择要加载的组件进行绑定。

(五)相关常见问题解答1、下单组件的编写语法在哪里可以找到?答:如下图所示,点击软件上方菜单的【程序化】—>编写下单组件,在弹出的窗口中点击【帮 助】—>基本语法,即可弹出下单组件编写语法的网页。

104

Page 107: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、下单组件可以使用策略模型的函数么?答:模型和下单组件的函数库是相互独立的,不能互相引用的。3、手动开仓的单子可用下单组件平仓么?如何平仓?答:手动开仓的单子可使用独立运行的下单组件平仓。在组件中可利用发出委托函数(T_Deal) 指定平仓的合约。4、下单组件能识别具体的信号么?答:可根据行数来判断,使用 F_SigPos()函数判断当前信号在模型中是第几个有指令的语句。5、组件可以进行效果测试么?答:由于组件是对下单进行精细控制的,因此不能做效果测试,只能在实盘中运行。6、绑定下单组件的执行是否受模组加载时的信号确认时间影响?

105

Page 108: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

答:是有影响的,模型会根据模组的加载参数判断何时出信号,在模型出现信号后,组件对该

信号进行控制。7、程序化自动下单一定要使用下单组件么?答:也可以不编写下单组件的;软件自带的精细控制功能也可使用。8、绑定运行的下单组件和模型加载设置中信号执行方式的关系是什么?答:模型绑定了下单组件运行,信号执行方式受组件影响; 信号执行方式为“下单组件接管所有原信号”,信号执行完全按照组件中策略执行。 信号执行方式为其他几种的,信号执行时间和复核时间按照信号执行方式设置中的执行, 但信号消失的处理按照组件里策略执行,

例如:信号执行方式选择“出信号立即下单,K线走完复核”,同时绑定运行信号消失处理

下单组件,那么当模型出现信号时,软件会按照信号执行方式中的“出信号立即下单”发出委托,K线走完时由模组进行信号复核,如果信号消失,按照组件中编写的策略执行信

号消失处理。

第七部分 常见问题解决1、过滤模型、非过滤模型、公式条件单的运行规则是什么? 过滤模型运行规则:http://www.wenhua.com.cn/popwin/guolvmx.htm

非过滤模型运行规则:http://www.wenhua.com.cn/popwin/feiguolvmx.htm

公式条件单运行规则:http://www.wenhua.com.cn/popwin/tiaojiandan-sm.htm

也可在运行模组的下方的“模组的运行规则说明”处直接打开连接,如下图所示:

106

Page 109: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

2、模组和模型的区别?答:模型:文华软件提到的模型是指在编辑平台上使用麦语言编写的包含变量、交易条件、交

易指令等的源码。 模组:文华软件中提到的模组是指将模型、合约、周期 k线、委托手数、委托方式等组合

在一起能够实现程序化自动下单的模块。3、如何进行多品种的程序化交易?答:如下图,点运行模组左上方的模组—>新建,可以在运行模组中多次建立新模组。

107

Page 110: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

4、软件中能加载多少个模组?答:软件中共有三个运行模组,每个运行模组功能都是一样的,每个运行模组可以加载 36个

模组。 5、运行程序化的电脑需要什么样的配置?答:运行赢智(wh8)需要 2G 以上内存,对电脑的其他硬件没有要求。在软件运行时,点击下方

的“网络状况指示按钮”在弹出的性能查看器中观察 cpu 和内存,不超过建议值即可(如

下图所示)。如果经常超过建议值,建议提高电脑硬件性能或减少模组加载的数量。

108

Page 111: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

6、模组运行状态列表中的“复核”是什么意思?答:复核是指模型信号是否是固定的,如下图所示,如果“复核”位置显示为“是”,那么信

号就是固定的。为“否”信号不固定,可能会信号消失。

7、程序化运行过程中能否暂停?答:点击下图红框位置的“切断账号”按钮,切断与交易账号的连接,程序化继续出信号,但

不委托。希望程序化信号能发出委托时点击绿框的“连接账号”按钮即可。

109

Page 112: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

8、如何取消主窗口 k 线图上信号、信号连线显示?答:如下图所示,在主窗口 k线图上单击鼠标右键—>设置技术指标,取消勾选下图红框位置选项。

9、程序化开的仓,手动平掉可以吗,程序化再出平仓信号,会有什么反应?答:无论以什么形式开的仓,都可以在交易界面平掉,注意,是交易界面,不是程序化里的

110

Page 113: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

“主观干预”。

在交易界面进行平仓:如果平掉的是之前手动开的仓,对模组没有影响。如果平掉的是程序化的开仓,那么当程序化再出现平仓信号时,会先核实实际持仓,这时候核实的结果应该是实际持仓少于程序化默认委托手数,那么,实际有几手平几手,没有持仓,不委托。当程序化再出现开仓信号时,正常开仓。

10、在加载模型的第三步中启用了止损止盈,止损平仓后,模型满足了平仓条件,这时程序化会如何操作;如果出现平仓信号当时,交易账户中有手动开的持仓,持仓会被平掉吗?答:止损平仓只委托,不会在 k线图上产生信号,但模组是知道仓位已经平掉了,所以不管交

易账户中是否有持仓,等到模型出现平仓信号,都只出信号不会委托。程序化继续正常运

行,等之后出现开仓信号,正常发开仓委托。11、如何可以实现一根 k 线多个信号?如,一根 k 线上出现了 BK 信号后,再同一根 k 线上再满足卖平条件时又能出现 SP 的信号。答:条件 1:加载模型的信号执行方式选择“……,不进行信号复核”或“下单组件接管所有原信号”,不能选择“……,k线走完进行信号复核”。

条件 2:源码中没有 MONO_SIGNAL、限制信号函数; 条件 3:如果源码中有 SETSIGMAXNUM(N) 设置一根 K线最大信号个数的函数,参数 N 值

大于 1。12、模型可以取到其他合约或其他周期的指标值吗?如模型加载在 if1311 合约的 1 分钟周期上但需要取 if 指数在 3 分钟周期的指标数值。 答:可以通过#IMPORT跨周期函数来实现,如下图所示,在模型开发平台中点击【插入】—>

插入函数,在“历史数据引用”里找到#IMPORT 函数,具体使用方法请参考“插入函数”

里的函数说明。

111

Page 114: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

13、如何在模型中插入声音提示? 答:在模型源码中加入声音函数 PLAYSOUND(条件满足时,播放指定声音)即可。如下图所示方法,可找到声音函数及其用法。

112

Page 115: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

14、如何增加提示音类型?答:(1)用软件录制声音。 ①调出录音软件 如下图所示,点击电脑左下角的开始->程序->附件->娱乐->录音机,调出录音机。

113

Page 116: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

② 开始录音 下图为调出的录音机,点击图中红框按钮开始和暂停录音。

③保存录音 完成录音后,按下图所示方法将录制的声音保存。下图将文件保存在桌面,名字为 123。

114

Page 117: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(2)在软件中调用录制的声音文件   回到赢智软件的“模型开发平台”,打开“设置声音文件”,按下图所示方法调用桌面的“123”声音文件,再使用声音函数时即可播放自己的声音文件了。

115

Page 118: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

15、运行模组的监控 k 线图中显示的信号和主图上显示的信号怎么不一样?答:主图上的信号是按照 k线走完的方式计算的;运行模组监控 k线图中的信号是按照您所选

的信号执行方式计算的,如您选择出信号立即下单,不进行信号符合,那么在 k线形成过程中满足过条件就会出现信号,不管之后是否一直满足信号都不会消失,而主图上如果不满足条件了,信号就消失,只有在 k线走完时还满足,信号才存在,所以与主图上的信号可能会有差别。

16、运行模组的信号执行方式选择的是“k 线走完确认信号后下单”在最后一根 k 线上产生了信号,第二天开盘会发委托吗?答:如果您在开盘前就打开了模组,会发委托。如果您在开盘后再打开模组,已经过了开盘时

116

Page 119: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

刻,就不会在委托了。 另,如果设置了“休市前最后一根判断 k线走完提前 n 秒然后不再下单”(如下图所示),那么会在当天的收盘前就发委托了,第二天就不会委托了。

17、模组中的浮动盈亏为什么与下单界面中的实际的盈亏不一样?答:模组中的浮动盈亏如果是手动初始化,软件根据初始化中设置的价格作为开仓均价计算浮

动盈亏;如果是自动初始化,软件根据前面信号的指令价作为开仓均价计算浮动盈亏。而

下单界面中的逐笔浮盈和盯市浮盈是与开仓均价(当老仓是盯市浮盈与昨结算)比较盈亏。 由于计算盈亏时比较的基准价的取值不同,所以我们看到的模组浮动盈亏和下单窗口不一

样。如果想让模组的浮动盈亏和下单界面中的实际的盈亏一致怎么做?可以在监控 k线图上点击鼠标右键—>模组重新初始化,将价格设置成与下单界面的开仓均价一样,这样计算出来的盈亏就一致了。

18、打开一/二/三页运行模组时,以前建好的模组有时会弹出“模组手动初始化”的确认框,117

Page 120: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

有时又不会弹出,有何规律?答:以下 5 种情况都满足时可以自动初始化,否则弹出初始化对话框 (1)退出时模组实际持仓等于模组理论持仓(模组实际持仓为程序化列表中显示的持仓,

理论持仓为 K线十字光标中显示的持仓)。 (2)最后信号是 BK、BPK ,退出时模组实际多头持仓大于 0,退出时模组多头持仓小于等

于下单界面多头持仓。 (3)最后信号是 SK、SPK ,退出时模组实际空头持仓大于 0,退出时模组空头持仓小于等于

下单界面空头持仓。 (4)最后信号是 BP、SP、CLOSEOUT, 模组多头持仓等于 0,模组空头持仓等于 0。 (5)含有资金管理函数的模组退出时的资金小于等于实际下单界面中的可用资金。19、模组的监控 k 线图中如何显示指标线?答:如下图,首先,在模型编写时用冒号(:)声明变量(可以显示线),不要用冒号等号(:

=)定义的变量(不能显示线)。 然后,模型加载后,在监控 k线图上点击鼠标右键—>设置原型指标线,在弹出的窗口中

将希望显示的指标线选到右侧框,点击【确定】即可。如下图所示:

118

Page 121: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

20、模组初始化界面默认显示的“模组可用资金”怎么得来的,是否需要修改?答:如果首次加载模型,模组手动初始化界面默认的“模组可用资金”(如下图所示),是加载

模型第五步设置的模组起始资金在加载的 k线图上运行后的结果值,如,第五步的“模组

119

Page 122: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

起始资金”设置为 10 万,加载的 k线数据从 13年 1月 1日开始,那么“模组可用资金”

的默认显示值就是 10 万元资金从 13年 1月 1日运行到加载时间为止的可用资金值。 如果是直接打开运行模组或者通过“模组—>打开”的方式弹出的“模组手动初始化”界

面,默认的“模组可用资金”是上次退出时的模组可用资金;但如果您有一段时间没有打

开模组了,没打开的这段时间的 k线也要参与可用资金的计算(按您选的信号执行方式计

算成交价),如,上次退出时的模组可用资金为 50 万,1个星期后再次打开该模组时默认显示的“模组可用资金”是 50 万资金在这一个星期行情中运行后的可用资金值。

“模组可用资金”的值修改后,模型就按照赋予的可用资金继续运行了,是否需要修改可根据您的情况而定。

21、程序化运行日志中的信号出现价和信号执行价、滑点是什么意思?

120

Page 123: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

答:如上图红框所示,    信号出现价:模型条件满足时的最新价     信号执行价:信号委托时的最新价     滑点:成交价与信号执行价之间的差值     买入滑点=成交均价-信号执行价位     卖出滑点=信号执行价位-成交均价 22、主力合约换月之后程序化加载的合约能否自动换月?答:模组中的交易合约不能自动换月,主力换月时需要您重新加载模型。 但有一种情况可以不用重新加载,如果模型加载在指数合约,交易具体的合约,则可以在

“加载参数”中的【另外指定】处直接换成新主力合约(如下图所示),那么模型的信号计

算还用指数合约,当出现信号委托时会对修改后的新合约下单。但建议在没有旧主力持仓

时载修改此处,否则当出现平仓信号后,会对新主力发平仓委托,而旧主力持仓程序化无

法管理。

121

Page 124: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

23、模型给他人使用,又不想他人看到模型源码,即如何进行加密销售?答:点击软件上方的程序化—>麦语言模型开发平台,在弹出的窗口中点击设置—>模型加密输

出即可, 如下图所示。

122

Page 125: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

24、如何将模型加载到主窗口 k 线图上? 答:点击软件上方菜单的【系统工具】—>指标管理器,建立好模型后点击【加载】按钮即可,

如下图 所示:

123

Page 126: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

25、模型运行过程中,如果想人工进行手动干预,如何操作能够不影响模型的运行? 答:在程序化运行过程中,如果需要进行手动干预,例如,希望干预加仓并且让程序化记住这次加仓动作,在下次出现平仓时能够将该仓位一起平掉;或者希望提前将程序化开的仓

平124

Page 127: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

掉,并让模组知道自己的仓位已经被平,在出现平仓信号时不再委托。就可以使用模组运

行界面的“主观干预”功能 注:主观干预会改变模组持仓,但不会在 k线图中显示信号。 程序化界面的主观干预和下单界面的手动下单有何区别:主观干预是作用于模型的持仓的。 相应的操作会造成模组持仓的增减,而在交易界面的干预不作用于模型的持仓,虽然实际持仓增减了 ,但是对模组持仓不产生影响。所以主观干预的优势在于,如果平仓语句写了 SP(BKVOL)指令,使用“主观干预”开的仓在模型出现平仓信号时就能全平,但在交易界面手动新开的仓,程序化出现平仓信号时就没法全部平掉了。操作方法:如下图所示,点击【主观干预】按钮,在弹出的下单框中进行主观干预。

程序化的主动干预规则:125

Page 128: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(1)有挂单不能进行手动干预 (2)有未处理完的操作不能进行手动干预 (3)有多头持仓不能干预卖开 (4)有空头持仓不能干预买开 (3)没有多头持仓不能干预卖平 (4)没有空头持仓不能干预买平 过滤模型主观干预规则:http://www.wenhua.com.cn/popwin/guolvmx.htm

非过滤模型主观干预规则:http://www.wenhua.com.cn/popwin/feiguolvmx.htm

26、模型源码中有很多开仓和平仓条件,如果希望某个条件开的仓用特定的条件平,该如何操作?答:可以在编写模型的交易指令时使用分组指令,分组指令可以对开平条件分成 n个组,某个组的条件开的仓位只有某个组对应的平仓条件条件才能平,其他组的平仓条件满足不会出信号,也就不会委托。过滤模型:不同的开仓条件如果想以不同的平仓策略进行平仓,可以利用指令分组来进 行控制。如下图 :

非过滤模型:入场策略和加仓策略可能有所不同,相应的止损及出场策略的使用亦不相同,这时可以采用指令分组的方式实现。如下图:

126

Page 129: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

分组指令编写、运行机制: 过滤模型:如果上一根 K线信号是组 A 发出的开仓信号(bk sk bpk spk) 当前 K线只能是组 A 的平仓信号如果上一根 K线信号是组 A 发出的平仓信号(bp sp) 当前 K线可以是任意组的开仓信号(以信号出现的顺序取第一个开仓信号)。注:不分组的平仓条件只能平不分组的开仓条件非过滤模型:如果上一个信号为组 A 发出的开仓信号,则下一信号必须为组 A 的加仓信号或平仓信号如果上一个信号为组 A 的平仓信号并且组 A 持仓为 0,下一信号可以为任意组的开仓信号;如果 A 组持仓大于 0,则必须为 A 组的开仓信号或平仓信号注:不分组的平仓条件只能平不分组的开仓条件 更多分组指令的编写方法,可以参见模型开发平台中“插入指令”中的说明,如下图所示。

127

Page 130: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

27、赢智规范用语(1)软件左侧,显示软件后台运行程序的地方为“工作台”。

128

Page 131: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(2)下图为“隐藏按钮”。

129

Page 132: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(3)如下图所示,红框处为“菜单”。

130

Page 133: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(4)如下图所示,红框处为“工具条”。

(5)软件中,点击之后会切换到对应内容的部分为“选项卡”,如下图红框所示。

131

Page 134: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

132

Page 135: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(6)下图红框分别为“模型编辑窗口”和“模型信息提示窗口”。

133

Page 136: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

(7)如下图所示,红框处为“交易窗口树形选项”。

(8)报价列表回车进入的 K线界面为"系统 K线图"。

134

Page 137: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

第八部分 如何查阅函数表如下图所示,调出函数及详细说明。

135

Page 138: –‡华赢智... · Web view模型的效果受很多因素影响,如滑点、手续费、杠杆倍数等,我们将模型的这种特性称之为模型的敏感性。敏感性小的模型是更稳定、更好的模型。

136