金字塔决策交易系统—高级教程(2016修订版).doc

上传人:hw****26 文档编号:4057354 上传时间:2019-09-20 格式:DOC 页数:99 大小:1.67MB
下载 相关 举报
金字塔决策交易系统—高级教程(2016修订版).doc_第1页
第1页 / 共99页
金字塔决策交易系统—高级教程(2016修订版).doc_第2页
第2页 / 共99页
金字塔决策交易系统—高级教程(2016修订版).doc_第3页
第3页 / 共99页
金字塔决策交易系统—高级教程(2016修订版).doc_第4页
第4页 / 共99页
金字塔决策交易系统—高级教程(2016修订版).doc_第5页
第5页 / 共99页
点击查看更多>>
资源描述

1、金字塔决策交易系统初级教程2016金字塔决策交易系统高级教程上海金之塔信息技术有限公司金字塔决策交易系统初级教程 本教程主要介绍金字塔的后台程序化交易,VBA、C+二次开发的编程。目录目录 .2第一章 金字塔的后台程序化交易 .11.1 后台程序化工作机理 .11.2 后台程序化交易函数 .21.3 后台套利模型范例 .51.4 后台程序化的启用 .71.5 后台程序化的调试 .81.6 后台程序化注意事项 .10第二章 图表交易和后台交易的主要区别和联系 .122.1 图表、交易函数的区别 .122.11 图表交易函数 .122.12 后台交易函数 .122.3 图表交易和后台交易的主要区别

2、 .13第三章 基于 VBA 的二次开发 .143.1 金字塔 VBA 与 OFFICE VBA 区别和联系 .143.2 VBA 原理的隐喻 .143.3 VBA 简介 .153.3.1VBA 及其 IDE 初步 .153.3.2 模块、函数和过程 .183.3.3 数据类型和变量 .203.3.4VBA 语言基础 .233.3.5 用户窗体 .293.4 金字塔的对象模型 .333.4.1Application 对象 .343.4.2Order 对象 .36金字塔决策交易系统初级教程3.4.3MarketData 对象 .453.4.4 ReportData 对象 .493.4.5 His

3、toryData 对象 .503.4.6 Document 对象 .523.4.7 Frame 对象 .543.4.8 Grid 对象 .563.4.9 Formula 对象 .623.4.10 NetWork 对象 .633.4.11 TestReport 对象 .65第四章 VBA 实用范例 .754.1 跨期套利交易范例 .754.2 金字塔 VBA 指标调用数据库教程 .764.2.1 数据库的准备工作(vba 使用数据库首先我们需要连接数据库) .764.2.2 数据库操作方法(具体代码和注释 ) .77第五章 基于 C+二次开发 .855.1 使用金字塔 C+ API 开发策略的优

4、势 .855.2 金字塔的 C+ API 与主程序的组织结构 .865.3 金字塔的接口范例下载与简要说明 .865.3.1 API 接口报价行情订阅 .865.3.2 报价行情变化通知 .875.3.3 获取指定市场全部合约报价 .875.3.4 历史数据的获取 .875.3.5 下单委托指令 .885.3.6 订单状态推送回报 .885.3.7 策略编写调试与跟踪 .895.3.8API 接口更多功能信息 .90第六章 自定义 PEL 函数 .916.1 使用 VBA 自定义 PEL 函数 .916.1.1 自定义函数的格式 .91金字塔决策交易系统初级教程6.1.2 自定义函数的两种工作

5、模式 .926.2 使用 C+DLL 扩展函数程序调用 .94金字塔决策交易系统初级教程1第一章 金字塔的后台程序化交易金字塔提供功能性和扩展性更为强大的基于后台预警模式的程序化交易模式(后台程序化),可以在不影响用户前台图形操作的情况下,高效地与预警系统一起工作,实现自动交易。由于该模式运行在后台,不需要打开图表占用过多的资源,且只需最后一个周期的信号,所以原则上公式不做多余计算,效率高,便于对多个品种同一个策略进行轮循监控。从某种意义讲,后台程序化属于图表程序的深化,它的优点是更注重于策略的高效执行,更完美地实现策略的设计初衷。虽然后台程序化的功能强大,但用户切忌直接使用后台策略,而跳过学

6、习图表程序化的过程。原因是在后台程序化中用户无法直接在图表上看到信号的整个出现过程,因此对用户的公式编写水平有一定的要求。其次,用户需要对金字塔的后台交易系统工作机理有比较深的了解,并且要对自己的公式系统有清晰的认识,这样一旦遇到问题也能及时找到原因。后台交易过程中,一旦遇到问题,需要客户掌握第八章后台程序化交易调试的技巧。以我们多年的经验来看,用户先将策略经测评、优化、图表实盘上运行后,再转化成后台策略,会取得非常好的效果。1.1 后台程序化工作机理在初级教程中,我们介绍了基于虚拟数据技术的图表程序化交易。想必经过一段时间的学习,大家已将图表程序化运用的相当纯熟。不过当你进行实盘的时候,是否

7、发现在某些情况下,例如碰到未成交单、未完全成交单、需要进行追撤单等更精细的下单操作时,图表程序化就束手无策了。这是由于图表基于虚拟数据的特性,无法与真实账户进行交互,虚拟数据的成交并不考虑实盘的的流动性情况,只要价格达到即成交。而实际情况可能并不是这样。另一方面,当图表程序化碰上多品种、多策略、或者较复杂的策略时,有时系统会显得相对较慢、不流畅。这是由于图表需要计算大量以往的历史数据进行判断操作,并在图表上进行输出。这消耗了相当多的资源。但实盘并不需要考虑历史曾经如何,实时交易需要考虑的是如何高效的执行,其实只需根据最后一根 K线上的数据,来确定开平仓的动作。这也就是例如 DYNAINFO 等

8、这些常数函数无法进行测评而实盘的公式确可以用的主要原因,因为 DYNAINFO 只有最新的一笔行情数据,而没有历史的序列数据。金字塔后台程序化也是这个道理,因为金字塔的后台程序化只注重交易,因此无法用来测评。总结一下,金字塔的后台程序化交易是金字塔很大的特色。从工作机制的角度看,后台程序化在沿用PEL 语言体系的情况下,为用户创造了近似 VB、C+才能达到的精细化、高效快捷程序化下单模式。因此它特别适合那些多周期、多策略、多品种的组合交易以及对效率要求较高的套利交易,为您的交易带来无与伦比的便捷。金字塔决策交易系统高级教程21.2 后台程序化交易函数金字塔的后台程序化交易只能在专业版及更高级的

9、版本中使用,它可以运行在序列和逐 K 线两种模式,但是推荐序列模式运行,这样可以极大提高后台执行的效率。为了让用户更快的编写和熟悉金字塔的后台程序化交易,金字塔的程序化交易函数,前面都在交易系统函数名称前加 T 字母,比如 BUY 改为 TBUY, 使用方法大致相同,用户仔细注意查看函数的使用说明。与图表交易系统函数不同的是,后台程序化交易的函数都使用实际的用户持仓和资金。让我们通过案例来学习后台程序化交易函数。例 1:MA 指标后台公式/中间变量MA3:MA(C,3);MA5:MA(C,5);/交易系统TBUY(CROSS(MA3,MA5),1,LMT,C); /按照最新价限价开多TSELL

10、(CROSS(MA5,MA3),0,LMT,C);/按照最新价限价平多,0 表示平掉全部持仓请注意 TBUY 和 TSELL 函数的参数出现了变化,真正的下单时,需要指定下单类型和价格的,否则系统会按照市价进行交易。 用以模拟交易的函数和真实交易的函数,大部分只是有了前面 T 字母差别,大部分的用以交易评测的交易系统,只要将交易函数部分前面加 T 字母即可解决,唯一区别最大的就是TBUY,TSELL,TBUYSHORT,TSELLSHORT 这 4 个函数与模拟交易用的函数区别较大,请仔细辨别。请注意后台程序化交易不能使用图表交易功能,且图表交易和后台交易的函数不能混用。交易控制符 THISC

11、LOSE 在真实交易中被 LMT 等真实交易控制符所取代,金字塔的模拟交易控制符和真实交易控制符两者不能通用。金字塔的真实下单函数只支持 LMT 限价 MKT 市价 STP 止损 STPLMT 限价止损 这 4 个交易控制符。真实下单交易函数,下单数量不再支持百分比模式。程序化交易的函数介绍:程序化交易系统之开多操作:用法:TBUY(COND,V,Type,P1,P2,AC,STOCK);表示当 COND 条件成立时,买入 V 股(手)当前品种,TYPE 表示开仓类型,LMT 限价 MKT 市价 STP 止损 STPLMT 限价止损P1 表示开仓价格,当 TYPE 为 LMT 和 STP,ST

12、PLMT 时为指定限价和止损价格,其他情况填 0P2 为止损限价, 当 TYPE 为 STPLMT 时, 必须指定 P2 的止损限价 ,其他情况填 0,当 P1 止损价触发时按照金字塔决策交易系统高级教程3P2 价格止损操作.当 TYPE 参数省略时,为市价开仓。AC 为帐户 ID,为空时为系统默认帐户, 否则将下单到指定帐户中STOCK 为品种代码,比如SH600215,为空或者不填时为当前品种后台程序化交易不能使用图表交易功能,且图表交易和后台交易的函数不能混用。例如,限价在图表中函数为 Limit,后台为 Lmt。市价在图表是函数 Market,在后台是 Mkt。例如:TBUY(CO ,

13、1000,LMT,C);表示收阳线则在本周期收盘价上买入 1000 股(手)。TBUY(C0,1000,STP,CLOSE+0.2);表示收阳线则在本周期收盘价高于 0.2 元下 1000 股(手)止损单, 当盘中价格到了触发价时按市价开仓止损.TBUY(C0,1000,STPLMT,CLOSE+0.2,CLOSE);表示收阳线则在本周期收盘价高于 0.2 元下 1000 股(手)止损单, 当盘中价格到了触发价时按 CLOSE 价格开仓止损。程序化交易系统之平多操作:TSELL(COND,V,Type,P1,P2,AC,STOCK); 用法同上程序化交易系统之开空操作:TBUYSHORT(CO

14、ND,V,Type,P1,P2,AC,STOCK); 用法同上程序化交易系统之平空操作:TSELLSHORT(COND,V,Type,P1,P2,AC,STOCK); 用法同上注意:程序化交易系统的函数中交易类型 Type 与交易测试系统的差别例2:唐奇安通道模型/中间变量input:N(20,5,100,1),NS(10,0,60,1);Price:=AVGENTERPRICE;/持仓价位/交易条件开多平空条件:=CROSS(H, hhv(ref(h,1),N);开空平多条件:=CROSS(llv(ref(l,1), N),L);/交易系统SELLSHORT(开多平空条件 and 持仓0,持

15、仓,market);SELL(持仓0,持仓 ,Stopr,Price-NS);/止损BUYSHORT(开空平多条件 and 持仓=0,30%,market);/其他资产:asset,noaxis,colorgreen;金字塔决策交易系统高级教程4持仓:HOLDING,LINETHICK0;总次数: TOTALTRADE,LINETHICK0;盈利:NUMWINTRADE,LINETHICK0;胜率:ROUNDS(100*PERCENTWIN,1),LINETHICK0;连亏:MAXSEQLOSS,LINETHICK0;连盈:MAXSEQWIN,LINETHICK0;将交易模型转换成程序化交易系

16、统,主要是涉及交易系统函数的转化,即在交易系统函数前加“t”,以及交易类型的改动; 并且程序化交易函数都是在后台运行,不能在图表中显示 ;交易数量不能用 30%的写法,只能用具体数量。因此,唐奇安通道模型转化为可程序化交易的系统:/中间变量input:N(20,0,60,1) ,NS(30,0,100,1);持仓:=tHOLDING,LINETHICK0;KCS:= intpart(tasset*0.3/(close*multiplier);/也表示 30%的开仓数BUY1:=hhv(ref(h,1),N);SELL1:=llv(ref(l,1),N);Price:=tAVGENTERPRIC

17、E; /持仓价位/交易条件开多平空条件:=CROSS(H,BUY1);开空平多条件:=CROSS(SELL1,L);/交易系统TSELLSHORT(开多平空条件 and 持仓0,持仓,mkt);TSELL(持仓0,持仓,Stp,Price-NS);TBUYSHORT(开空平多条件 and 持仓=0, KCS,mkt);若想与交易模型完全一样,后句则需这样写:tSELLSHORT(ref(开多平空条件,1) and 持仓0,t 持仓,mkt);金字塔决策交易系统高级教程5tSELL(持仓0,持仓,Stp,Price-NS);tBUYSHORT(ref(开空平多条件,1) and 持仓=0, KC

18、S,mkt);注意:在公式编辑中,点击 0; 平多开空条件 :=MACD0 and THOLDING0,10, mkt, 0,0, 16802); /平空ENDIF THOLDING=0 THEN BEGINTBUY(MACD0 and THOLDING=0,10,mkt, 0,0, 16801);/开多TBUY(MACD0,10,mkt, 0,0, 16802);/开多ENDIF THOLDING0 THEN BEGINTSELL(MACD0, THOLDING,10, mkt, 0,0,16801); /平多TSELL(MACD0,10, mkt, 0,0,16802); /平多ENDIF THOLDING=0 THEN BEGINTBUYSHORT(MACD0 and THOLDING=0,10,mkt, 0,0,16801); /开空

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。