《赢智程序化交易培训.ppt》由会员分享,可在线阅读,更多相关《赢智程序化交易培训.ppt(119页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课课 程程 安安 排排1程程序序化化交交易易概概念念及及应应用用指指南南2模模型型基基本本结结构构和和编编写写要要点点3如如何何编编写写带带有有资资金金管管理理和和止止损损的的策策略略模模型型4如如何何进进行行多多维维的的模模型型评评估估5如如何何编编写写基基于于Tick逐逐笔笔数数据据的的日日内内高高频频模模型型6如如何何编编写写下下单单组组件件对对下下单单过过程程进进行行精精细细控控制制第一章第一章 程序化交易概念程序化交易概念什么是程序化交易?什么是程序化交易?程序化是一个程序化是一个交易的概念交易的概念,用户可以把平时的交易思想,写成交,用户可以把平时的交易思想,写成交易策略模型,让电
2、脑去执行这些交易思想,自动下单。利用电脑的计易策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能力和铁面无私,提高下单的速度和效率,避免交易受到情绪的干算能力和铁面无私,提高下单的速度和效率,避免交易受到情绪的干扰,实现理性交易。扰,实现理性交易。程序化也是一个程序化也是一个研究的概念研究的概念,程序化平台提供丰富的历史数据和,程序化平台提供丰富的历史数据和收益、风险等多角度的模型评估报告,用户可以在电脑的仿真交易环收益、风险等多角度的模型评估报告,用户可以在电脑的仿真交易环境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不境下,去测试、改进策略模型,这样交易思想就可以快
3、速成熟了,不再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力,能节省时间、节省金钱。能力,能节省时间、节省金钱。程序化交易应用指南程序化交易应用指南 不同用户群体对程序化的需求也不尽相同,我们把程序化应不同用户群体对程序化的需求也不尽相同,我们把程序化应用,从初级应用到高级应用,分成用,从初级应用到高级应用,分成6个级别向大家介绍。个级别向大家介绍。信号预警盒子信号预警盒子公式条件单公式条件单趋势跟踪策略趋势跟踪策略(过滤模型)(过滤模型)加仓资金管理策略加仓资金管理策略(非过滤模型)(非过滤模型)模型组合模型组合高频
4、交易高频交易 一级:信号预警盒子一级:信号预警盒子 信号预警盒子是一种信号预警盒子是一种半自动半自动程序化程序化下单下单功能,用户可以在信功能,用户可以在信号预警盒子中设定预警模型,在满足模型号预警盒子中设定预警模型,在满足模型条件条件的时候,系统能够的时候,系统能够弹出预警窗口,手动确认就可以直接下单了。弹出预警窗口,手动确认就可以直接下单了。这个功能类似以前版本的半自动,但是增加了显示加载模型这个功能类似以前版本的半自动,但是增加了显示加载模型运行情况的列表,我们叫做盒子。运行情况的列表,我们叫做盒子。盒子还可以后台运行,加载了盒子还可以后台运行,加载了信号预警以后,可以做看盘等其他操作,
5、不影响模型出信号的。信号预警以后,可以做看盘等其他操作,不影响模型出信号的。信号预警盒子的主要功能:信号预警盒子的主要功能:1、支持多项平铺,可同时监控多个信号;、支持多项平铺,可同时监控多个信号;2、点击盒子列表中的一行,可以打开、点击盒子列表中的一行,可以打开k线图上查看设定预警模线图上查看设定预警模型型 的信号;的信号;3、支持设置信号持续时间和信号消失确认时间。、支持设置信号持续时间和信号消失确认时间。二级:公式条件单二级:公式条件单 公式条件单适用于公式条件单适用于只按照某种特定条件进行交易只按照某种特定条件进行交易的用户,提的用户,提供的一种灵活的程序化执行方式。供的一种灵活的程序
6、化执行方式。公式条件单让条件单不再停留在简单的价格条件和时间条件公式条件单让条件单不再停留在简单的价格条件和时间条件上,可以利用文华麦语言编写出上,可以利用文华麦语言编写出思路更广的条件思路更广的条件。用户可以在组群中加载条件单模组,系统根据写入的条件进用户可以在组群中加载条件单模组,系统根据写入的条件进行自动交易。行自动交易。公式条件单的主要功能:公式条件单的主要功能:1、只写开仓条件,按照条件自动开仓;、只写开仓条件,按照条件自动开仓;2、只写平仓条件,将初始化带入模组的持仓自动平掉;、只写平仓条件,将初始化带入模组的持仓自动平掉;3、信号独立,没有过滤机制;、信号独立,没有过滤机制;4、
7、可以随意进行主观干预;、可以随意进行主观干预;5、可以后台运行。、可以后台运行。三级:趋势跟踪策略(过滤模型)三级:趋势跟踪策略(过滤模型)为有完整交易策略的投资者提供的为有完整交易策略的投资者提供的全自动程序化交易功能全自动程序化交易功能。交易策略中一开一平,且交易手数开平对应,不会出现锁仓和加交易策略中一开一平,且交易手数开平对应,不会出现锁仓和加仓的情况。仓的情况。客户自己在组群中加载模组后,出现信号按照信号执行方式客户自己在组群中加载模组后,出现信号按照信号执行方式确认后自动下单交易。确认后自动下单交易。不加仓模型的主要功能:不加仓模型的主要功能:1、可以通过麦语言,编写各类技术分析指
8、标、形态、止损止盈、可以通过麦语言,编写各类技术分析指标、形态、止损止盈等策略;等策略;2、模型中必须加入、模型中必须加入AUTOFILTER过滤函数以实现交易指令的开过滤函数以实现交易指令的开平对应;平对应;3、可以主观干预;、可以主观干预;4、可以后台运行。、可以后台运行。四级:加仓资金管理策略(非过滤模型)四级:加仓资金管理策略(非过滤模型)为资金量较大,且交易周期跨度较大的投资者提供的全自动为资金量较大,且交易周期跨度较大的投资者提供的全自动程序化交易。程序化交易。在制定交易策略的时候,可以对资金进行合理规划,确定首在制定交易策略的时候,可以对资金进行合理规划,确定首次开仓手数和后续加
9、仓手数,在策略中实现次开仓手数和后续加仓手数,在策略中实现加减仓操作加减仓操作和和更灵活更灵活的资金管理的资金管理。用户自己在组群中加载模组后,出现信号按照信号执行方式用户自己在组群中加载模组后,出现信号按照信号执行方式确认后自动下单交易。确认后自动下单交易。加仓模型的主要功能:加仓模型的主要功能:1、除过滤模型可以实现的策略外,还可以实现带有资金管理、除过滤模型可以实现的策略外,还可以实现带有资金管理 的策略;的策略;2、编写时可以利用头寸函数进行过滤,避免锁仓;、编写时可以利用头寸函数进行过滤,避免锁仓;3、可以主观干预;、可以主观干预;4、可以后台运行、可以后台运行。五级:模型组合五级:
10、模型组合 任何一个模型,都有一定程度的缺陷。程序化交易想实现稳定盈利,就需要模型组合,可以把各种不同策略类型的模型,合理分配每一个模型的资金量,行情不好的时候模型之间盈亏互抵,行情好的时候共同盈利,即可以平滑整体资金曲线,达得稳定盈平滑整体资金曲线,达得稳定盈利的效果。利的效果。WH8的模组,为用户提供一个合约上加载多个模型,每一个模型分配不同的资金,每一个模型在分配的资金内运行的功能。WH8也提供组合测试功能组合测试功能,可以将一篮子模型组合到一起测试,研究模型组合的历史盈亏情况。确定好模型组合后,可以将这些组合加载到模组中一起运行,达到投资组合交易的目的。其中任何模型出现信号都会按照信号执
11、行方式确认后自动下单。组合的主要功能:组合的主要功能:1、组合测试可以提供组合内组合测试可以提供组合内各模型的资金曲线各模型的资金曲线和和组合后的总资组合后的总资金曲线金曲线2、组合测试可以提供组合后的组合测试可以提供组合后的详细测试数据详细测试数据,如:总的盈亏、,如:总的盈亏、总的最大回撤、总的胜率等总的最大回撤、总的胜率等3、组合测试可以提供组合后的阶段总结,可以组合测试可以提供组合后的阶段总结,可以按年或者按月按年或者按月统统计盈利率、胜率等计盈利率、胜率等4、模型组合在模组中运行时,模型组合在模组中运行时,互相独立,互不干扰互相独立,互不干扰5、模型组合的模组,可以后台运行模型组合的
12、模组,可以后台运行六级:高频交易六级:高频交易 日内高频是为以研究日内高频是为以研究市场微观结构市场微观结构为主要交易基础的投资者为主要交易基础的投资者提供的全自动程序化交易。提供的全自动程序化交易。在日内高频平台中,用户可以使用在日内高频平台中,用户可以使用日内高频函数日内高频函数,取得,取得盘口盘口的多档挂单的多档挂单,及,及逐笔成交数据逐笔成交数据,编写,编写资金流资金流或者其他市场微观结或者其他市场微观结构策略的交易模型,一些国内的炒单思路,也可以编写成高频模构策略的交易模型,一些国内的炒单思路,也可以编写成高频模型。型。客户可以自己将高频模型加载在某一合约上,出现信号按照客户可以自己
13、将高频模型加载在某一合约上,出现信号按照信号执行方式确认后自动下单。信号执行方式确认后自动下单。此外,客户还可以使用此外,客户还可以使用下单组件下单组件编写日内高频模型,利用下编写日内高频模型,利用下单组件独立运行的方式实现高频交易。单组件独立运行的方式实现高频交易。日内高频的主要功能:日内高频的主要功能:1、可以切换到各级秒周期;、可以切换到各级秒周期;2、可以进行高频模型的、可以进行高频模型的TICK逐笔回放测试逐笔回放测试;3、具有、具有独特的量能周期功能独特的量能周期功能,更好的实现价量策略;,更好的实现价量策略;4、可以自己定义大单,将成交数据按类取出大单数据,如取主动、可以自己定义
14、大单,将成交数据按类取出大单数据,如取主动买大单成交次数;买大单成交次数;5、可以后台运行。、可以后台运行。第二章第二章 模型基本结构和编写模型基本结构和编写 课程内容课程内容一、模型的基本结构和跨指标模型一、模型的基本结构和跨指标模型二、跨周期模型二、跨周期模型三、画线函数模型三、画线函数模型 赢智赢智“麦语言麦语言”MY language”MY language MY 语言的编写是基于文华财经赢智程序化交易平台。通过本节课的学习,了解文华公式编写平台的基本函数与语法,设计自己的指标和程序化交易策略模型,实现全自动的委托发单交易。指标指标 指能够绘出图线但不发交易指令的公式。指标是一个技术分
15、析范指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。畴的概念。交易指令交易指令 指交易模型自动发出的下单委托指令,可以不经过投资者确认直指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在接下单,也可以等待投资者回车确认再下单。交易指令在K K线图上线图上以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。畴的概念。交易模型交易模型 指能够发出指能够发出BKBK、SPSP等交易指令,模型还包含下单方向,交易手数,等交易指令,模型还包含下单方向,交易手数,
16、止盈止损等与交易、资金使用相关的参数设置。交易模型是一个止盈止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。交易范畴的概念。理解以下名词:理解以下名词:KDJ指标源码:RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1);J:3*K-2*D;指标指标用指标监测行情:K线上穿D线交易指令交易指令将指标转化为模型:RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1)
17、;J:3*K-2*D;/以下是加入的交易指令CROSS(K,D),BK;/K向上穿越D,发出买开交易指令CROSS(J,100),SP;/J向上穿越100,发出卖平交易指令CROSS(D,K),SK;/K向下穿越D,发出卖开交易指令CROSS(0,J),BP;/J向下穿越0,发出买平交易指令AUTOFILTER;模型模型运作模型:运作模型:一、模型的基本结构和跨指标模型的编写一、模型的基本结构和跨指标模型的编写1 1、模型编写的语法与操作符、模型编写的语法与操作符 MY language 编写语法MY language 操作符1、定义变量名称变量名称不能相互重复;不能与参数名重复;不能与函数名
18、重复;2、半角输入法的全英大写状态;3、每个语句应该以分号结束;MY language MY language 编写语法:编写语法:命名命名参数参数MY language MY language 操作符操作符如何运用操作符:A:(O+C)/2;B:CO;/判断是否收阳;满足条件返回1,否则返回0D:TIME=0900&CO;/用于多条件逻辑关系编写练习:定义变量:当根K线最高价;结算价:15周期收盘价均线(显示定义);REF(A,1);REF(MA15,1);A:=H;S:=SETTLE;MA15:MA(C,15);衍生:当前K线的前一个周期最高价;当前K线的前一个周期15均线;交易模型基本结
19、构交易模型基本结构:1 1、定义变量定义变量2 2、交易条件交易条件+交易指令交易指令2、模型的基本结构 MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10),BK;CROSS(MA10,MA5),SP;CROSS(MA10,MA5),SK;CROSS(MA5,MA10),BP;AUTOFILTER;定义思路中涉及到的变量交易条件,写入交易指令编写练习1:关键字:反手指令MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10),BPK;CROSS(MA10,MA5),SPK;AUTOFILTER;均线上穿平空做多,均线下穿平多做空
20、;具体细化思路:5日均线上穿10日均线,平空做多;5日均线下穿10日均线,平多做空;39 跨指标模型,是指多个指标交易思想结合在一起进行看盘断势。关键词:多个交易条件多个交易条件1、以均线结合KD交叉指标为例2、练习编写:MACD、KDJ指标模型3、跨指标模型的编写 均线结合KD交叉指标模型:MA5:=MA(C,5);MA10:=MA(C,10);MA5MA10,BK;/5日均线大于10日均线买入。MA5MA10&CROSS(K,D),BK;/5日均线大于10日均线并且KD金叉买入MA5MA10&CROSS(D,K),SP;/10日均线大于5日均线并且KD死叉卖出AUTOFILTER;MACD
21、、KDJ指标模型:DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);DEA:=EMA(DIFF,N);DEA:=EMA(DIFF,N);MACD:=2*(DIFF-DEA);MACD:=2*(DIFF-DEA);RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;K:=SMA(RSV,M1,1);K:=SMA(RSV,M1,1);D:=SM
22、A(K,M1,1);D:=SMA(K,M1,1);J:=3*K-2*D;J:=3*K-2*D;(CROSS(K,D)(CROSS(K,D)&J30)J1),BK;MACD1),BK;(CROSS(D,K)(CROSS(D,K)&REF(J,1)70)REF(J,1)70)|(CROSS(DEA,DIFF)(CROSS(DEA,DIFF)&MACD-1),SP;MACD70)(CROSS(D,K)&J70)|(CROSS(DEA,DIFF)&MACD-1),SK;(CROSS(DEA,DIFF)&MACD-1),SK;(CROSS(K,D)&REF(J,1)30)(CROSS(K,D)&REF(
23、J,1)1),BP;(CROSS(DIFF,DEA)&MACD1),BP;AUTOFILTER;AUTOFILTER;总结:多条件下用总结:多条件下用“()()”明确逻辑关系明确逻辑关系 二、跨周期模型的编写二、跨周期模型的编写跨周期函数介绍跨周期函数介绍引用某品种在某个周期上加载了某个指标的数据。用法:#IMPORT CODE,PERIOD,FORMULA AS VAR引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名跨周期跨合约模型的编写规则跨周期跨合约模型的编写规则1.只能引
24、用如下周期:MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 DAY WEEK MONTH 2.只能短周期引用长周期3.被引用的指标中不能存在引用4.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb12015.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外的名称。举例举例:同一合约不同周期的数据调用同一合约不同周期的数据调用交交易思路易思路n当日均线出现多头排列时,5分钟KD线金叉,做多。n当日均线出现空头排列时,5分钟KD线死叉,做空。先建立一个指标 名称AAAMA5:=MA(C,5);MA10:=MA(C,10);MA30:=M
25、A(C,30);在建立你的模型#IMPORT ,DAY,AAA AS VARDM5:=VAR.MA5;DM10:=VAR.MA10;DM30:=VAR.MA30;RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1);J:3*K-2*D;DM5DM10&DM10DM30&CROSS(K,D),BPK;DM5DM10&DM10DM10&CROSS(MA5,MA10)&TIME1505,BPK;DM5DM10&CROSS(MA10,MA5)&TIME=1505,SP;TIME=1505,BP;
26、AUTOFILTER;三、画线函数模型三、画线函数模型关键字:画线函数关键字:画线函数趋势线趋势线交易思路:1.1.突破突破5 5周期均线与周期均线与3030周期均线周期均线金叉金叉k k线最高点线最高点和和2020周期均线与周期均线与 60 60周期均线周期均线金叉金叉k k线最高点线最高点直接的连线,平空做多。直接的连线,平空做多。2.2.突破突破5 5周期均线与周期均线与3030周期均线周期均线死叉死叉k k线最低点线最低点和和2020周期均线与周期均线与 60 60周期均线周期均线死叉死叉k k线最低点线最低点直接的连线,平多做空。直接的连线,平多做空。函数介绍:TRENDLINES趋
27、势线返回值n趋势趋势线线返回值返回值 用法:TRENDLINES(COND1,DATA1,COND2,DATA2);n从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点形成趋势线,该函数返回K线对应的趋势值。n举例:TRENDLINES(OC,H,CO,H);相距最近的阴线和阳线最高价形成一条趋势线,该函数返回K线对应的趋势值。实例源码:实例源码:MA5:=MA(C,5);MA20:=MA(C,20);MA30:=MA(C,30);MA60:=MA(C,60);TMP1:=TRENDLINES(CROSS(MA5,MA30),H,CR
28、OSS(MA20,MA60),H);TMP2:=TRENDLINES(CROSS(MA30,MA5),L,CROSS(MA60,MA20),L);HTMP1,BPK;LTMP2,SPK;AUTOFILTER;第三章第三章 资金管理和止损的策略模型资金管理和止损的策略模型课程内容课程内容1 1、头寸函数介绍、头寸函数介绍2 2、资金管理,止盈止损模型的编写思路及案例、资金管理,止盈止损模型的编写思路及案例3 3、使用资金管理,止盈止损模型需要注意的问题、使用资金管理,止盈止损模型需要注意的问题1 1、常用头寸函数介绍常用头寸函数介绍2、资金管理模型的编写思路及案例、资金管理模型的编写思路及案例利
29、用头寸函数实现对仓位的加减。利用头寸函数实现对仓位的加减。例例1 加仓模型加仓模型A:=多头开仓条件;A1:=多头加仓条件;B:=空头交易条件;B1:=空头加仓条件;D:=多头平仓条件;E:=空头平仓条件;A&NOT(ISLASTSK|ISLASTBK),BK(2);B&NOT(ISLASTBK|ISLASTSK),SK(2);BKVOL=2&A1&ISLASTBK,BK(1);SKVOL=2&B1&ISLASTSK,SK(1);D&ISLASTBK,SP(BKVOL);E&ISLASTSK,BP(SKVOL);注意,交易时要考虑前一信号方向防止锁仓。注意,交易时要考虑前一信号方向防止锁仓。例
30、例2:对交易资金的管理:对交易资金的管理/过滤模型过滤模型每次下单使用当时资金的每次下单使用当时资金的20%SETDEALPERCENT(20);DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9);DIFF0&DEA0&CROSS(DEA,DIFF),SK;DIFF0&DEA0&DEA0&CROSS(DIFF,DEA),BK;DIFF0&DEA0&CROSS(DEA,DIFF),SP;AUTOFILTER;10日均线之上开多仓(开仓资金可用资金日均线之上开多仓(开仓资金可用资金20%),价格每上涨),价格每上涨10%止盈平止盈平仓仓50%仓位,
31、上涨仓位,上涨20%止盈全部仓位。跌破止盈全部仓位。跌破5日线止损。日线止损。N为合约单位为合约单位 MA10:=MA(C,10);MA5:=MA(C,5);BKVOL=0&CROSS(C,MA10),BK(MONEY*0.2/(N*C*MARGIN);BKVOL0&CROSS(C,BKPRICE*1.1),SP(BKVOL*0.5);BKVOL0&CROSS(C,BKPRICE*1.2),SP(BKVOL);BKVOL0&CROSS(MA5,C),SP(BKVOL);/非过滤模型非过滤模型 2、止盈止损模型的编写思路及案例、止盈止损模型的编写思路及案例例例1:限价止损、限价止盈模型:限价止损
32、、限价止盈模型A:=多头交易条件;B:=空头交易条件;E:=多头平仓条件;F:=空头平仓条件;A,BK;E|C=BKPRICE+150,SP;B,SK;F|C=SKPRICE+100|CMA1,BK;(C=BKPRICE&C=HH-N*(HH-BKPRICE),SP;AUTOFILTER;例例2 2:回撤止损止盈模型:回撤止损止盈模型3 3、使用资金管理,止盈止损模型需要注意的问题使用资金管理,止盈止损模型需要注意的问题1.1.编写加减仓位时要注意对编写加减仓位时要注意对反向反向信号的判断信号的判断(避免锁仓避免锁仓)2.2.对应加仓或减仓信号时对已有仓位的考虑(准确加仓)对应加仓或减仓信号时
33、对已有仓位的考虑(准确加仓)第四章第四章 多维模型评估多维模型评估收益率测算信号和资金记录表敏感性测试图多线程参数优化推荐实盘头寸多维的效果测试功能多维的效果测试功能信号和资金记录表关注资金回撤敏感性测试图寻找关键点多线程参数优化确定最优参数推荐实盘头寸控制交易风险收益率测算了解模型详情信号和资金曲线关注资金回撤敏感性测试图寻找关键点参数优化确定最优参数推荐实盘头寸控制交易风险收益率测算了解模型详情73信号和资金记录表关注资金回撤敏感性测试图寻找关键点参数优化确定最优参数推荐实盘头寸控制交易风险收益率测算了解模型详情74信号和资金记录表关注资金回撤敏感性测试图寻找关键点参数优化确定最优参数推荐
34、实盘头寸控制交易风险收益率测算了解模型详情75信号和资金记录表关注资金回撤敏感性测试图寻找关键点参数优化确定最优参数推荐实盘头寸控制交易风险收益率测算了解模型详情76第五章第五章 日内高频模型日内高频模型77课程内容课程内容一、日内高频函数介绍一、日内高频函数介绍二、日内高频模型编写思路及案例二、日内高频模型编写思路及案例三、使用日内高频模型需要注意的问题三、使用日内高频模型需要注意的问题日内高频日内高频:什么是高频交易,它的魅力何在呢?什么是高频交易,它的魅力何在呢?相较于低频交易而言,高频交易的主要创新之处在于其在电脑驱动下,对变化的市场迅速做出反应,并且实现资金的快捷周转。高频交易的特征
35、:交易次数更多、每笔交易的平均利润小。盘口数据盘口数据分笔数据分笔数据大单显示大单显示1、日内高频函数介绍日内高频函数介绍引用盘口数据:挂单数据和成交数据引用数据类型:TICK数据和秒周期数据挂单数据挂单数据L2_BID1 取买一价取买一价 L2_BIDVOL1 取买一量取买一量 L2_BID2 取买二价取买二价 L2_BIDVOL2 取买二量取买二量L2_BID3 取买三价取买三价 L2_BIDVOL3 取买三量取买三量L2_BID4 取买四价取买四价 L2_BIDVOL4 取买四量取买四量L2_BID5 取买五价取买五价 L2_BIDVOL5 取买五量取买五量注:注:K K线图和线图和TI
36、CKTICK都可以使用都可以使用挂单数据挂单数据L2_ASK1 取卖一价取卖一价 L2_ASKVOL1 取卖一量取卖一量 L2_ASK2 取卖二价取卖二价 L2_ASKVOL2 取卖二量取卖二量L2_ASK3 取卖三价取卖三价 L2_ASKVOL3 取卖三量取卖三量L2_ASK4 取卖四价取卖四价 L2_ASKVOL4 取卖四量取卖四量L2_ASK5 取卖五价取卖五价 L2_ASKVOL5 取卖五量取卖五量注:注:K K线图和线图和TICKTICK都可以使用都可以使用挂单数据挂单数据ASKBIGVOLPRICE:返回返回TICK图中该笔图中该笔TICK盘口中空头满足大单条盘口中空头满足大单条件
37、的与最新价的最近价格。件的与最新价的最近价格。BIDBIGVOLPRICE:返回返回TICK图中该笔图中该笔TICK盘口中多头满足大单条件盘口中多头满足大单条件的与最新价的最近价格。的与最新价的最近价格。CALVOLPRICELIS:TICK图中初始化盘口大单价格表图中初始化盘口大单价格表,主要在主要在BIDBIGVOLPRICE 与与ASKBIGVOLPRICE 前使用,提供初始化前使用,提供初始化注:仅限注:仅限TICKTICK使用使用函数解释函数解释1、ASKBIGVOLPRICE、BIDBIGVOLPRICE最近大单价格最近大单价格 大单:自动或手动定义大单:自动或手动定义2、CALV
38、OLPRICELIST:TICK图中初始化盘口大单价格表图中初始化盘口大单价格表 初始化五档或者五档之外大单列表,供提取初始化五档或者五档之外大单列表,供提取成交数据成交数据L2_PRICE:返回返回TICK图中该笔图中该笔TICK的成交价。的成交价。L2_VOLUME:返回返回TICK图中该笔图中该笔TICK的成交量。的成交量。注:仅限注:仅限TICKTICK使用使用成交数据成交数据L2_SETBIGVOL(nVol)L2_SETBIGVOL(nVol)设置大单成交手数阈值,成交手数大于设置大单成交手数阈值,成交手数大于nVolnVol的为大单的为大单注:注:1 1、仅限秒周期使用、仅限秒周
39、期使用 2 2、定义下面红色字体函数的大单算法、定义下面红色字体函数的大单算法成交数据成交数据L2_BKVOL L2_BKVOL 返回当前秒周期买开的成交量返回当前秒周期买开的成交量L2_SKVOL L2_SKVOL 返回当前秒周期卖开的成交量返回当前秒周期卖开的成交量L2_BPVOL L2_BPVOL 返回当前秒周期买平的成交量返回当前秒周期买平的成交量L2_SPVOL L2_SPVOL 返回当前秒周期卖平的成交量返回当前秒周期卖平的成交量L2_BKBIGCOUNT L2_BKBIGCOUNT 返回当前秒周期买开的大单成交次数返回当前秒周期买开的大单成交次数L2_SKBIGCOUNT L2_
40、SKBIGCOUNT 返回当前秒周期卖开的大单成交次数返回当前秒周期卖开的大单成交次数L2_BPBIGCOUNT L2_BPBIGCOUNT 返回当前秒周期买平的大单成交次数返回当前秒周期买平的大单成交次数L2_SPBIGCOUNT L2_SPBIGCOUNT 返回当前秒周期卖平的大单成交次数返回当前秒周期卖平的大单成交次数L2_BKBIGTOTVOL L2_BKBIGTOTVOL 返回当前秒周期买开的大单成交量返回当前秒周期买开的大单成交量L2_SKBIGTOTVOL L2_SKBIGTOTVOL 返回当前秒周期卖开的大单成交量返回当前秒周期卖开的大单成交量L2_BPBIGTOTVOL L2
41、_BPBIGTOTVOL 返回当前秒周期买平的大单成交量返回当前秒周期买平的大单成交量L2_SPBIGTOTVOL L2_SPBIGTOTVOL 返回当前秒周期卖平的大单成交量返回当前秒周期卖平的大单成交量注:仅限秒周期使用注:仅限秒周期使用成交数据成交数据L2_BIDVOL L2_BIDVOL 返回当前秒周期主动买的成交量返回当前秒周期主动买的成交量L2_ASKVOL L2_ASKVOL 返回当前秒周期主动卖的成交量返回当前秒周期主动卖的成交量L2_BIDBIGCOUNT L2_BIDBIGCOUNT 返回当前秒周期主动买的大单成交次数返回当前秒周期主动买的大单成交次数L2_ASKBIGCO
42、UNT L2_ASKBIGCOUNT 返回当前秒周期主动卖的大单成交次数返回当前秒周期主动卖的大单成交次数L2_BIDBIGTOTVOL L2_BIDBIGTOTVOL 返回当前秒周期主动买的大单成交量返回当前秒周期主动买的大单成交量L2_ASKBIGTOTVOL L2_ASKBIGTOTVOL 返回当前秒周期主动卖的大单成交量返回当前秒周期主动卖的大单成交量注:仅限秒周期使用注:仅限秒周期使用 小节小节 引用函数,相对比较简单,直接将函数写进相应的语句,函数即代表其本身所表示的数值。2、日内日内高频高频模型的编写案例模型的编写案例 日内高频模型的主要编写思路,是通过对盘口数据的分析,判断行情
43、短暂的方向,快速进场,将国内炒单的思路程序化,实现程序化炒单。M:=10;P:=15;HH:=HHV(H,BARSBK);LL:=LLV(L,BARSSK);A:=L2_BIDVOL1+L2_BIDVOL2+L2_BIDVOL3;/买一量+买二量+买三量B:=L2_ASKVOL1+L2_ASKVOL2+L2_ASKVOL3;/卖一量+卖二量+卖三量TIME3*B,BK;TIME145900&A*3B,SK;CSKPRICE+M,BP;TIME=145930|C=145930|CLL+P,BP;AUTOFILTER;量能周期量能周期-价量关系价量关系1、量增价涨,量价配合,看涨。2、量增价平,看
44、平。3、量增价跌,看跌。4、量缩价涨,无量空涨,看涨 5、量缩价平,看平 6、量缩价跌,绵绵阴跌。VOLTIMEMA(VOLTIME,3)&VOLTICKREF(H,1),BK;/当根量能周期形成的时间短于3根量能周期形成的时间均值并且当根量能周期包含的tick笔数少于上一根量能周期包含的tick笔数并且当根最高价大于前一根最高价VOLTIMEMA(VOLTIME,3)&VOLTICKREF(VOLTICK,1)&LREF(HHV(H,2),1),BP;LREF(LLV(L,2),1),SP;AUTOFILTER;3 3、使用日内高频模型需要注意的问题使用日内高频模型需要注意的问题nTIME函
45、数返回6位n日内交易的开平仓逻辑关系n止损止盈策略的重要性n高频周期函数的适用性第六章第六章 下单组件编写下单组件编写策略模型何时发出信号?下单组件如何进行下单?交易系统交易成功。什么是下单组件什么是下单组件下单组件的作用下单组件的作用控制成交成本智能分批下单。实现个性化交易自定义止损止盈。下单组件如何编写下单组件如何编写基本语法函数简介流程图解编写范例基本语法基本语法一、变量的定义及赋值:一、变量的定义及赋值:VAR N1;/定义变量定义变量N1VAR N2;/定义变量定义变量N2VAR N3;/定义变量定义变量N3N1=3000;/整型赋值整型赋值N2=88.888;/浮点型赋值浮点型赋值
46、N3=“股指期货股指期货”;/字符串型赋值字符串型赋值基本语法基本语法二、函数的定义:二、函数的定义:VOID MAIN()/定义主函数定义主函数 VAR BKDEAL()/带返回值的函数带返回值的函数RETURN(10)/返回值返回值 VOID BKDEAL()/不带返回值函数不带返回值函数下单组件包括的系统函数下单组件包括的系统函数盘口信息Offers(Code,strContent)某合约买卖盘报价Volume(Code)某合约当前成交量交易系统信息T_Equity(Type),返回交易账号当前权益T_OrderState(OrderID)返回委托状态策略模型信号F_BuyAvgPric
47、e()返回模型多头持仓成本价F_Sig()返回模型当前的信号下单控制T_Deal(Code,bs,kp,vol,price)按指定价格发出委托T_DeleteOrderAll()撤掉所有未成交挂单函数简介函数简介三、常用函数三、常用函数判断判断IF(F_Sig()=BK)/如果当前是如果当前是BK信号信号 BKDeal();/运行开多仓函数运行开多仓函数ELSE IF(F_Sig()=SK)/如果当前是如果当前是SK信号信号 SKDeal();/运行开空仓函数运行开空仓函数函数简介函数简介三、常用函数三、常用函数信号信号IF(F_FreshSig()=1&F_SigValid()=1)/如果如
48、果是没有消失的新信号是没有消失的新信号 IF(F_Sig()=BK)/如果当前是如果当前是BK信号信号 函数简介函数简介三、常用函数三、常用函数委托委托T_Deal(Code,bs,kp,vol,price)T_AddBuyOpiTo(Code,Price,Vol)T_AddSellOpiTo(Code,Price,Vol)T_ReduceBuyOpiTo(Code,Price,Vol)T_ReduceSellOpiTo(Code,Price,Vol)Code=F_DealCode()函数简介函数简介三、常用函数三、常用函数注册注册A=ReadGlobal(“AA”);/读取读取A=A+1;/
49、计算计算WriteGlobal(“AA”,A);/更新更新“AA”读取读取注册注册策略一策略一日内交易:日内交易:1、单向交易策略。、单向交易策略。2、开仓信号发出后立即开仓。、开仓信号发出后立即开仓。3、平仓信号发出后等、平仓信号发出后等k线走完前线走完前N秒确认再发秒确认再发出。出。4、启用超价功能、启用超价功能第二步、编写流程图第二步、编写流程图:BK/SKSP/BP是是判断判断k线是否离线是否离走完差走完差N秒秒立即发立即发委托委托判断当判断当前信号前信号明确整体思路、确定逻辑关系明确整体思路、确定逻辑关系策略策略1关键点:关键点:1、信号的刷新与判断、信号的刷新与判断2、每根、每根k
50、线秒、分钟时间的读取线秒、分钟时间的读取3、避免重复发送委托的、避免重复发送委托的ZT判断判断4、组件的调试、组件的调试策略二策略二信号消失处理:信号消失处理:1、单向交易策略、单向交易策略 2、开仓信号消失后进行判断。、开仓信号消失后进行判断。a、如果没有成交留有挂单进行撤单处理。如果没有成交留有挂单进行撤单处理。b、如果委托成交则进行盈亏比较,如果单子盈利则如果委托成交则进行盈亏比较,如果单子盈利则保留,如果亏损则平仓。保留,如果亏损则平仓。编写流程图编写流程图:BKSK读取当前委托读取当前委托状态是否有挂状态是否有挂单单就判断单子就判断单子是否盈利是否盈利发撤单委托发撤单委托不进行操作不