金字塔决策交易系统—高级教程(2013修订版).
金字塔决策交易系统—高级教程(2013修订版).金字塔决策交易系统—高级教程(2013修订版).团金字塔决策交易系统初级教程4.2自定义函数的两种工作模式194.3VBA调用PEL指标范例第五章金字塔VBA指标调用数据库教程..12251数据库的准备工作…5.2数据库操作方法第六章DLL扩展函数程序调用接口31第七章金字塔插件接口32附录..::.:::::::.::::a::.::::::::.::.33后台程序化常用函数33版本时间修订人描述2013修订版2012125张晓斌创建团金字塔决策交易系统初级教程第一章金字塔的后台程序化交易金字塔提供功能性和扩展性更为强大的基于后台预警模式的程序化交易模式(后台程序化),可以在不影响用户前台图形操作的情况下,高效地与预警系统一起工作,实现自动交易。由于该模式运行在后台,不需要打开图表占用过多的资源,且只需最后一个周期的信号,所以原则上公式不做多余计算,效率高,便于对多个品种同一个策略进行轮循监控从某种意义讲,后台程序化属于图表程序的深化,它的优点是更注重于策略的高效执行,更完美地实现策略的设计初衷。虽然后台程序化的功能强大,但用户切忌直接使用后台策略,而跳过学习图表程序化的过程。原因是在后台程序化中用户无法直接在图表上看到信号的整个出现过程,因此对用户的公式编写水平有一定的要求。其次,用户需要对金字塔的后台交易系统工作机理有比较深的了解,并且要对自己的公式系统有清晰的认识,这样一旦遇到问题也能及时找到原因。后台交易过程中,一旦遇到问题,需要客户掌握第八章后台程序化交易调试的技巧。以我们多年的经验来看,用户先将策略经测评、优化、图表实盘上运行后,再转化成后台策略,会取得非常好的效果。11后台程序化工作机理在初级教程中,我们介绍了基于虚拟数据技术的图表程序化交易。想必经过一段时间的学习,大家已将图表程序化运用的相当纯熟。不过当你进行实盘的时候,是否发现在某些情况下,例如碰到未成交单、未完全成交单、需要迸行追撤单等更精细的下单操作时图表程序化就朿手无策了。这是由于图表基于虚拟数据的特性,无法与真实账户进行交互,虚拟数据的成交并不考虑实盘的的流动性情况,只要价格达到即成交。而实际情况可能并不是这样另一方面,当图表程序化碰上多品种、多策略、或者较复杂的策略时,有时系统会显得相对较慢、不流畅。这是由于图表需要计算大量以往的历史数据迸行判断操作,并在图表上进行输出。这消耗了相当多的资源。但实盘并不需要考虑历史曾经如何,实时交易需要考虑的是如何高效的执行,其实只需根据最后一根K线上的数据,来确定开平仓的动作。这也就是例如 DYNAINFO等这些常数函数无法进行测评而实盘的公式确可以用的主要原因,因为 DYNAINFC只有最新的一笔行情数据,而没有历史的序列数据。金字塔后台程序化也是这个道理,因为金字塔的后台程序化只注重交易,因此无法用来测评。总结一下,金字塔的后台程序化交易是金字塔很大的特色。从工作机制的角度看,后台程序化在沿用PEL语言体系的情况下,为用户创造了近似ⅤB、C++才能达到的精细化、高效快捷程序化下单模式。因此它特另适合那些多周期、多策略、多品种的组合交易以及对效率要求较高的套利交易,为您的交易带来无与伦比的便捷12后台程序化交易函数金字塔的后台程序化交易只能在专业版及更高级的版本中使用,它可以运行在序列和逐K线两种模式,但团金字塔决策交易系统初级教程是推荐序列模式运行,这样可以极大提高后台执行的效率。为了让用户更快的编写和熟悉金字塔的后台程序化交易,金字塔的程序化交易函数,前面都在交易系统函数名称前加T字母,比如BUY改为TBUY,使用方法大致相同,用户仔细注意查看函数的使用说明。与图表交易系统函数不同的是后台程序化交易的函数都使用实际的用户持仓和资金让我们通过案例来学习后台程序化交易函数。例1:MA指标后台公式/中间变量MA3: MA(C13)MA5: MA(CI5/交易系统TBUY( ROSS(MA3,MA5)1,LMTC);/按照最新价限价开多TSELL(CROSS(MA5MA3),O,LMTC);/按照最新价限价平多,0表示平掉全部持仓请注意TBY和 SELL函数的参数出现了变化,真正的下单时,需要指定下单类型和价格的,否则系统会按照市价进行交易。用以模拟交易的函数和真实交易的函数,大部分只是有了前面T字母差别,大部分的用以交易评测的交易系统,只要将交易函数部分前面加「字母即可解决,唯一区别最大的就是TBUYTSELL, TBUYSHORT, TSELLSHORT这4个函数与模拟交易用的函数区别较大,请仔细辨别。请注意后台程序化交易不能使用图表交易功能,且图表交易和后台交易的函数不能混用。交易控制符THISCLOSE在真实交易中被LMT等真实交易控制符所取代,金字塔的模拟交易控制符和真实交易控制符两者不能通用金字塔的真实下单函数只支持LMT限价MKT市价STP止损 STPLMT限价止损这4个交易控制符。真实下单交易函数,下单数量不再支持百分比模式程序化交易的函数介绍程序化交易系统之开多操作用法TBUY(COND,,[Type,P1,P2 AC STOCK])表示当COND条件成立时买入V股(手)当前品种TYPE表示开仓类型,LMT限价MKT市价STP止损 STPLMT限价止损P1表示开仓价格,当TYPE为LMT和 STP STPLMT时为指定限价和止损价格其他情况填0P2为止损限价当TYPE为 STPLMT时必须指定P2的止损限价其他情况填0,当P1止损价触发时按照P2价格止损操作,当TYPE参数省略时为市价开仓。AC为帐户ID,为空时为系统默认帐户否则将下单到指定帐户中STOCK为品种代码,比如SH600215,为空或者不填时为当前品种团金字塔决策交易系统初级教程后台程序化交易不能使用图表交易功能,且图表交易和后台交易的函数不能混用。例如,限价在图表中函数为Lmt,后台为Lmt。市价在图表是函数 Market,在后台是Mkt例如:TBUY(C>O,1000,LMTC);表示收阳线则在本周期收盘价上买入1000股(手)。TBUY(C>0,1000,STP, CLOSE+0.2)表示收阳线则在本周期收盘价高于0.2元下1000股(手)止损单当盘中价格到了触发价时按市价开仓止损TBUY(C>0,1000, STPLMT CLOSE+0.2 CLOSE)表示收阳线则在本周期收盘价高于0.2元下1000股(手)止损单当盘中价格到了触发价时按 CLOSE价格开仓止损。程序化交易系统之平多操作TSELLO( COND,V,lType, P1P2AC, STOCK);用法同上程序化交易系统之开空操作:TBUYSHORT( COND V[ Type, P1P2, AC STOCK]);用法同上程序化交易系统之平空操作TSELLSHORT( COND V,[Type,P1P2 ACSTOCK]);用法同上注意:程序化交易系统的函数中交易类型Type与交易测试系统的差别例2:唐奇安通道模型/中间变量input: N(20.5100,1)NS(10.0,60,1)Price:= AVGENTERPRICE;/持仓价位/交易条件开多平空条件:= CROSS(H,hhv(ref(h,1),N);开空平多条件:= CROSS(v(ref(l,1),N),D/交易系统SELLSHORT(开多平空条件and持仓<0,持仓, market)SELLSHORT(持仓<0持仓 Stop, Price+NS;/上损BUY(开多平空条件and持仓=0,30% market);SELL(开空平多条件and持仓>0持仓, market);SELL持仓>0持仓, Stop, Price-NS);/上损BUYSHORT(开空平多条件and持仓=0,30% market);/其他资产: asset, hoaxEs, colorgreen;持仓: HOLDING LINETHICKO;总次数: TOTALTRADE LINETHICKO盈利 NUMWINTRADE, LINETHICKO团金字塔决策交易系统初级教程胜率: ROUNDS(100* PERCENTWIN,1), LINETHICKO连亏 MAXSEQLOSS,凵 LINETHICK0;连盈 MAXSEQWIN, LINETHICKO将交易模型转换成程序化交易系统,主要是涉及交易系统函数的转化,即在交易系统函数前加"t',以及交易类型的改动并且程序化交易函数都是在后台运行,不能在图表中显示交易数量不能用30%的写法,只能用具体数量。因此,唐奇安通道模型转化为可程序化交易的系统:/中间变量input: N(20,0601)NS(30.0,100,1);寺仓:= tHOLDING LINETHICK0KCS:= Impart( tasse*0.3/( close*multiplier)/1表示30%的开仓数BUY1: =hhv(ref(h, 1),N);SELLl: =llv(ref(l, 1),N)Price:= tAVGENTERPRICE;/持仓价位/交易条件开多平空条件:= CROSS(HBUY1开空平多条件:= CROSS(SELL1,L);交易系统TSELLSHORT(开多平空条件and持仓<0t持仓,mktTSELLSHORT(持仓<0持仓Stp, Price+NS)TBUY(开多平空条件and持仓=0, KCS mkt);TSELLO开空平多条件and持仓>0,持仓,mkt);TSELLO(持仓>0持仓Stp, Price-NS);TBUYSHORT(开空平多条件and持仓=0,KCS,mkt)若想与交易模型完全一样,后6句则需这样写:tSELLSHORT(ref(开多平空条件,1)and持仓<0,t持仓mkt;tSELlSHOrt(持仓<0,持仓Stp, Price+NS)tBUY(ref(开多平空条件,1)and持仓=0,KCs,mkt);sELL(ref(开空平多条件,1)and持仓>0,t持仓mkt)seLL(持仓>0,持仓Stp,Prce-NS);tBUYSHORT(ref(开空平多条件,1)and持仓=0,KCS,mkt);注意:在公式编辑中,点击[<<]可弹出函数列表,可按类查找需要的函数,双击该函数将直接引入公式。团金字塔决策交易系统初级教程公式中的蓝色宇段为函数名,将鼠标放在未知的蓝色字段上,将看到该函数的描述和基本用法。13后台套利模型范例基于后台程序化效率高、操作灵活的特性,用来处理对价格异常敏感的套利交易就非常合适了。以下我们选取了常见的集中情况作为范例。(1)简单价差类型的套利模型C1为两个品种的价差。当价差小于300时,买入开仓前一品种RB05,卖出开仓后一品种RB03当价差大于500时,卖出平仓前一品种,买入平仓后一品种当价差大于600时,卖出开仓前一品种,买入开仓后一品种当价差小于400时,买入平仓前一品种,卖出平仓后一品种由于涉及到需要同时下单到不同的品种,这里直接使用后台程序化交易系统编写。/中间变量Cl: ="Rb05 S close"-"RB03 S close/交易系统TBUY(CROSS(300, C1),10, mkt, 0,0, "'SQRB05): //33TBUYSHORT(CROSS(300, C1),10, mkt, 0,0, SQRB03);//T3TSELL(CROSS(C1,500), 10, mkt, 0, 0, ,'SQRBO5')://F3TSELLSHORT(CROSS (C1, 500), 10, mkt, 0,0, "'SQRB03);//Y=TBUYSHORT(CROSS(C1, 600), 10, mkt, 0,0,"SQRB05: //+f3TBUY(CROSS(C1, 600),10, mkt, 0,0, 'SQRB03)://TsTSELLSHORT(CROSS (400, C1), 10, mkt, 0,0, "'SQRB05); //135TSELL(CROSS (400, C1), 10, mkt, 0,0, ",'SQRB03); //13注意在后台程序化交易监控中,用户至少需要监控RBO5或者RB03其中的一个。(2)如何编制技术指标的套利模型:/中间变量C1:=“RB05$ close"-“RB03$ close";DIFF: EMA(C1, 12)-EMA(C1, 26)DEA: EMA(DIFF 9)MACD: =2*(DIFF-DEA)交易条件团金字塔决策交易系统初级教程平空开多条件:=MACD>0;平多开空条件:=MACD<0;/交易系统TSELLSHORT(平多开空条件10,mkt0,0,","SQRB03");/平空TBUY(平空开多条件,10,mkt,0,0,","SQRB05";/)多TSEL(平多开空条件10,mkt,00,","SQRB05);/平多TB∪ YSHORT(平空开多条件10,mkt,00,",SQRB03);/开空(3)如何编制技术指标的多账户模型:账户1:16801账户2:16802/中间变量DIFF: EMA(C,12)-EMA(C, 26)DEA: EMA(DIFF, 9)MACD: =2*(DIFF-DEA)/交易系统IF THOLDING0 and THOLDING0,10,mkt,0,0,16802);平空ENDIF THOLDING=0 THEN BEGINTBUY(MACD>0 and THOLDING=0, 10, mkt, 0,0, 16801): //ETBUY(MACD>0,10,mkt00,16802)//开多ENDIF THOLDING>O THEN BEGINTSELL(MACDo, THOLDING, 10, mkt, 0,0, 16801;//3TSELL(MACD<0,10,mkt,0.0,16802;//平多ENDIF THOLDING=0 THEN BEGINTBUYSHORT(MACD<0 and THOldING=0, 10, mkt, 0,0, 16801); //3T33TBUYSHORT(MACD<0,10,mkt,00,"16802);//开空END所有上述模型仅供参考,据此交易风险自负。团金字塔决策交易系统初级教程更多范例请登陆金字塔论坛—一策暗发布区http:/www.weistock.com/bbs/index.asp?boardid=1014后台程序化的启用选择“交易→后台程序化交易″或按Ctr+A会岀现图7.3本地预警交易。国安基一(止其有2个理警分单月动客序号H警名明警要□r4组式北互基式化中条件当开日务据劝后,下的围警两容将动就送到授的害尺第说明名称B时属围现/专1c米F唱7]0063400F11不断出控)无论有无新行督都对计量)3警记录最多保)查扫毁)厂且动时日动动警图141本地预警交易(1)选“新增条件”,将出现图7.4程序化条件设定程式化条件设定预警名称,说明,允许程式化交易模式运行单需手工确认①警粪型厂目定义分品种下单量C市场重达弹川顸框〔〕复椒数q〕C指标公式)卩后保持监控匙时问问隔走完一根以后予间BG):F05沪铜1消失周期自动恢复持厂时百启用〕发送电子邮件個)置觉关手机短信)设置厂行下单换作的改血性导记「种计莉类C板块国线皆中厂监控板块①)厂查出声音⑩y临掉停的品种Q名称过源坐槟:易囗匚程式化易下单设置图142程序化条件设定(2)参数设置第一步:首先,点“指标公式”,选择你的模型和使用周期第二步:加入要监控的品种第三步:其它各种设置
用户评论