您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 程序化交易(非常丰富)
程序化交易具有客观性。它是事先将投资者的交易策略和经验以计算机语言的形式输入电脑中,再以数据计算出来的买卖信号为依据去进行交易。交易中不会受交易者主观策略的影响而随时改变。杜绝投资人可能因为盘势所产生的情绪进行追涨杀跌的操作,从而避免人性化交易的缺点,也进而消除了交易中的主观随意性,大大减轻了交易者下单前的恐惧、持仓中的焦虑和平仓后的后悔交易中最大的敌人不是市场而是交易者自己。我们每一次失败的经历都说明:不是市场太聪明而是我们太自作聪明。为了避免我们被主观情绪所困扰,我们可以使用机械式的交易系统来规范我们的交易活动,但即使有了交易系统,交易是否成功还是决定于人本身,在于交易者能否始终坚持自己的交易体系。正确认识程序化交易强化的种类正强化—奖励负强化—惩罚消退—无效随机强化—挑战策略完善的过程策略的量化策略的图形化策略的程序化策略的验证策略的完善收盘价在年线上,K线显示红色。收盘价在年线下,K线显示兰色。MA200:MA(CLOSE,200);STICKLINE(CLOSEMA200,OPEN,CLOSE,COLORRED,0);STICKLINE(CLOSE=MA200,OPEN,CLOSE,COLORCYAN,0);DRAWLINE(CLOSEMA200,HIGH,CLOSEMA200,LOW,COLORRED);DRAWLINE(CLOSE=MA200,HIGH,CLOSE=MA200,LOW,COLORCYAN);策略的图形化趋势模型示范:K线变红,做多;K线变兰,做空。MA200:=MA(CLOSE,200);CLOSEMA200,BPK;CLOSE=MA200,SPK;策略的程序化交易指令示意图策略的验证持续N根K线变色,确定交易。MA200:=MA(CLOSE,200);EVERY(CLOSEMA200,N),BPK;EVERY(MA200=CLOSE,N),SPK;策略的完善能力扩展摆脱繁重的盯盘摆脱大量计算可以交易更多的品种当盘中价格上下波动,导致交易信号反复时,如何解决?在Mytrader一键通2009中可以使用“全自动交易信号消失以后,自动恢复持仓”解决指令忽闪的问题在全自动状态下,如果指令消失,系统会自动恢复到最近的一次交易指令的状态和手数例:使用模型自动交易沪铜0811在2008年8月22日发出卖出开仓信号,之后在2008年9月4号发出买开并平空指令,系统会自动将8月22日的持仓平掉并开多仓,此时如果买平开指令消失,系统会按照8月22日的开仓方向及手数重新开空仓,并平掉多单,这样既保住了8月22日到9月4日之间的盈利又保持了原来的趋势继续盈利.交易模型基础编写教程本节重点掌握:(一)操作符(二)基本函数和语法了解学习公式编写时常用的运算符号(加、减、乘、除法)、条件关系(大于、等于、小于等)以及定义变量操作符。重点内容:“:=”和“:”在定义变量上的区别。操作符意义例+加法CLOSE+OPEN表示求收盘价及开盘价的和。CLOSE-OPEN表示求收盘价及开盘价的差。CLOSE*OPEN表示求收盘价及开盘价的积。CLOSE/OPEN表示求收盘价及开盘价的商。-减法*乘法/除法&&与(并且)CLOSEOPEN表示判断当前周期是否收阳。CLOSE=OPEN表示判断当前周期是否平盘。||或(或者)大于小于=大于等于=小于等于不等于=等于:=只定义一个局部变量(这个变量在画图时是不画的)TMP1:=(OPEN+CLOSE)/2;MA1:MA(TMP1,10);上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句所求出的结果。:声明了一个变量,在画图时画出它并且按这个名字显示。1、如何查阅函数列表2、如何新建一个指标3、常用函数示范编写CLOSE引用收盘价(在盘中指最新价),也可简写为C。HIGH引用最高价,也可简写为H。LOW引用最低价,也可简写为L。OPEN引用开盘价,也可简写为O。OPI引用持仓量VOL引用成交量,也可简写为V。A:=CLOSE;MA5:MA(A,5);MA(X,N)求X在N周期内的简单移动平均。计算方法:MA=(A1+A2+A3+A4+A5)/5求A在5个周期内的简单移动平均MA5:MA(CLOSE,5);MA10:MA(CLOSE,10),COLORYELLOW;MA30:MA(CLOSE,30),COLORGREEN;MA60:MA(CLOSE,60),COLORMAGENTA;当需要书写的源代码比较长时,如果系统中已经有完整的指标,我们可以直接拿来引用,而不需要重复录入。本节掌握重点:如何通过【引用其他公式】功能,利用现有指标。RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:SMA(RSV,3,1),COLORWHITE;D:SMA(K,3,1),COLORYELLOW;J:3*K-2*D,COLORMAGENTA;SMA(X,N,M)得到X在N个周期内的移动平均,M为权重(M为常数)。计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N。HHV(X,N)得到X在N周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。例:HHV(HIGH,13);求13个周期内的最高价的最大值。LLV(X,N)得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。例:LLV(LOW,25);表示求25个周期内最低价的最小值。(一)、熟悉交易指令(二)、如何建立一个新的交易模型(三)、交易模型的几种基本形式编写步骤:1.定义要素先把模型编写需要的变量进行定义。2.归纳条件将交易条件归类编写。相同指令的交易条件需要归纳书写。交易模型基本格式:1.定义需要的每个变量2.组合交易条件+交易指令交易条件,交易指令;1.交叉类模型例如:均线交叉类,MACD交叉类,KDJ指标交叉。2.多条件模型例如:均线组合结合KDJ指标等3.日内模型例如:尾盘平仓类交易策略:10周期的均线上穿20周期的均线时买开;5周期的均线下叉10周期的均线时卖平;10周期的均线下叉20周期的均线时卖开;5周期的均线上穿10周期的均线时买平;关键函数:CROSS(X,Y)CROSS(X,Y)如果X上穿Y则返回1(yes),否则返回0(no)。例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA20:=MA(CLOSE,20);CROSS(MA10,MA20),BK;CROSS(MA10,MA5),SP;CROSS(MA20,MA10),SK;CROSS(MA5,MA10),BP;5周期均线上穿10周期均线时买开或者KD金叉时并且J值小于30时买开;KD出现死叉并前个周期J值大于70时卖平5周期均线下叉10周期均线时卖开或者KD死叉时并且J值大于70时卖开;KD出现金叉并前个周期J值小于30时买平REF(X,N)引用X在N个周期前的值例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价关键操作符:&&(并且)||(或者)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;MA5:=MA(CLOSE,N1);MA10:=MA(CLOSE,N2);CROSS(MA5,MA10)||(CROSS(K,D)&&J30),BK;CROSS(D,K)&&REF(J,1)70,SP;CROSS(MA10,MA5)||(CROSS(D,K)&&J70),SK;CROSS(K,D)&&REF(J,1)30,BP;在3分钟周期,根据价格与当日开盘后15分钟内最高\低价的大小关系作为买卖条件编写交易模型;问题:1、如何取开盘后15分钟的最高\低价数据?2、如何使交易模型不留隔夜单?1、使用逻辑判断函数:开盘后15分钟的最高价可以表示为:HH:=VALUEWHEN(TIME=0915,HHV(HIGH,6));2、使用时间函数在尾盘时将所有仓单了结:TIME=1454,BP;TIME=1454,SP;VALUEWHEN(COND,DATA)当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。例:VALUEWHEN(HIGHREF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。因此可编写交易模型如下:例10HH:=VALUEWHEN(TIME=0915,HHV(HIGH,6));LL:=VALUEWHEN(TIME=0915,LLV(LOW,6));HIGHHH&&TIME0915&&TIME1454,BK;HIGHHH||TIME=1454,BP;LOWLL&&TIME0915&&TIME1454,SK;LOWLL||TIME=1454,SP;指标编写结构定义需要的变量标注文字画图形变量名称:=或者:解释分号结尾其他绘图函数DRAWTEXT交易模型编写结构形成交易条件和指令定义需要的变量变量名称:=或者:解释分号结尾交易条件逗号BKSPSKBP分号结尾注意事项:1.模型中必须使用‘:=’定义变量名称。不允许只使用‘:’。2.容易引起歧义的条件,最好用括号把完整条件括起来在和其他条件进行对比。3.函数不允许作为变量名称4.结尾一定要用分号5.不要忘记写函数,例如(CLOSE,5)是错误的6.涉及到引用系统指标的时候,一定要记得加等号去除画线;如果有参数一定要补齐参数;去除BACKGROUNDSTYLE(1);7.多条件要用&&||连接,不能用逗号分隔。8.TIME1455,BP||SP是错误的,要分别书写正确格式:TIME1455,BP;TIME1455,SP;
本文标题:程序化交易(非常丰富)
链接地址:https://www.777doc.com/doc-6168720 .html