您好,欢迎访问三七文档
程序化交易入门文华财经施巍巍理解并规范使用交易模型、技术指标等以下名词**交易模型:指能够发出BK、SP等交易指令但是不绘出图线的公式,模型还包含止损、止赢,交易手数等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。**指标:也叫技术指标,指能够绘出图线但是不发出交易指令的公式。指标是一个技术分析范畴的概念。**公式:泛指指标、模型。不建议大家使用这个词,因为大家搞不明白你说的到底是指标还是交易模型。**交易系统:这个词太笼统,不建议使用这个词。有时候指的是指标,有的时候指的是模型,有的时候指的是存在心中的交易思想和经验,有的时候还指交易软件。**交易信号:指技术指标上出现的提示投资者买卖的指示,可以是图线交叉、文字、图形。投资者需要按照信号指示去手动委托下单。交易信号是一个技术分析范畴的概念。**交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在K线图上以不用颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。一、技术指标掌握:(1)公式基本语法(2)基础函数意义(3)函数组合应用例1简单公式A:=(HIGH-OPEN)-(OPEN-LOW);B:SUM(A,0),COLORWHITE;C:0,COLORRED;例2KDJ公式RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:SMA(RSV,M1,1),COLORWHITE;D:SMA(K,M2,1),COLORYELLOW;J:3*K-2*D,COLORMAGENTA;例3移动平均线MA1:MA(CLOSE,5),COLORRED;MA2:MA(CLOSE,10),COLORYELLOW;MA3:MA(CLOSE,30),COLORGREEN;MA4:MA(CLOSE,60),COLORMAGENTA;例4K线公式TMP:=OPEN-CLOSE;DRAWLINE(TMP0.00001,HIGH,TMP0.00001,OPEN,COLORCYAN);DRAWLINE(TMP0.00001,LOW,TMP0.00001,CLOSE,COLORCYAN);DRAWLINE(TMP-0.00001,HIGH,TMP-0.00001,CLOSE,COLORRED);DRAWLINE(TMP-0.00001,LOW,TMP-0.00001,OPEN,COLORRED);DRAWLINE(ABS(TMP)0.00001,LOW,ABS(TMP)0.00001,OPEN,COLORWHITE);DRAWLINE(ABS(TMP)0.00001,HIGH,ABS(TMP)0.00001,OPEN,COLORWHITE);STICKLINE(TMP0,OPEN,CLOSE,COLORCYAN,0);STICKLINE(TMP=0,OPEN,CLOSE,COLORRED,1);组合应用TMP:=OPEN-CLOSE;DRAWLINE(TMP0.00001,HIGH,TMP0.00001,OPEN,COLORCYAN);DRAWLINE(TMP0.00001,LOW,TMP0.00001,CLOSE,COLORCYAN);DRAWLINE(TMP-0.00001,HIGH,TMP-0.00001,CLOSE,COLORRED);DRAWLINE(TMP-0.00001,LOW,TMP-0.00001,OPEN,COLORRED);DRAWLINE(ABS(TMP)0.00001,LOW,ABS(TMP)0.00001,OPEN,COLORWHITE);DRAWLINE(ABS(TMP)0.00001,HIGH,ABS(TMP)0.00001,OPEN,COLORWHITE);STICKLINE(TMP0,OPEN,CLOSE,COLORCYAN,0);STICKLINE(TMP=0,OPEN,CLOSE,COLORRED,1);MA1:MA(CLOSE,N1),COLORRED;MA2:MA(CLOSE,N2),COLORYELLOW;MA3:MA(CLOSE,N3),COLORGREEN;MA4:MA(CLOSE,N4),COLORMAGENTA;例5成交量STICKLINE(OPENCLOSE,VOL,0,COLORCYAN,0);STICKLINE(OPEN=CLOSE,VOL,0,COLORRED,0);例6期货指南针STICKLINE(SMA(CLOSE,3,1)SMA(CLOSE,22,1),OPEN,CLOSE,COLORCYAN,0);DRAWLINE(SMA(CLOSE,3,1)SMA(CLOSE,22,1),HIGH,SMA(CLOSE,3,1)SMA(CLOSE,22,1),LOW,COLORCYAN);STICKLINE(SMA(CLOSE,3,1)SMA(CLOSE,22,1),OPEN,CLOSE,COLORRED,0);DRAWLINE(SMA(CLOSE,3,1)SMA(CLOSE,22,1),HIGH,SMA(CLOSE,3,1)SMA(CLOSE,22,1),LOW,COLORRED);二、交易模型掌握:交易模型的几种基本形式1、交叉问题10周期的均线上穿20周期的均线时买开;5周期的均线下叉10周期的均线时卖平;10周期的均线下叉20周期的均线时卖开;5周期的均线上穿10周期的均线时买平;关键函数:CROSS(X,Y)例7交叉模型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;交易模型中的交易指令2、同时有多个条件5周期均线上穿10周期均线并且前个周期的J值(KDJ)少于70或者KD金叉时并且J值小于30时买开;KD出现死叉并前个周期J值大于70时卖平5周期均线下叉10周期均线并且前个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时卖开;KD出现金叉并前个周期J值小于30时卖平关键操作符:&&(并且)||(或者)例8多条件RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;MA5:=MA(CLOSE,N1);MA10:=MA(CLOSE,N2);(CROSS(MA5,MA10)&&REF(J,1)70)||(CROSS(K,D)&&J30),BK;CROSS(D,K)&&REF(J,1)70,SP;(CROSS(MA10,MA5)&&REF(J,1)30)||(CROSS(D,K)&&J70),SK;CROSS(K,D)&&REF(J,1)30,BP;REF(X,N)作用(1)解决当前周期交易指令不稳定(2)判断线类指标值是否拐头(3)其它模型1RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;(CROSS(J,0)||((REF(K,1)20)&&(REF(D,1)20)&&(CROSS(K,D)))),BK;CROSS(50,K),SP;CROSS(K,50),BP;(CROSS(100,J)||((D80)&&(K80)&&(CROSS(D,K)))),SK;模型2豆一合约5分钟MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);CROSS(MA10,MA5)||(CLOSE-MA5)8,SK;(MA5-CLOSE)6,BP;CROSS(MA5,MA10)||(MA5-CLOSE)8,BK;(CLOSE-MA5)6,SP;止损问题逻辑判断函数VALUEWHEN与时间函数TIME在一分钟周期上如何实现:根据最新价与当日开盘价的大小关系作为买卖条件编写交易模型;问题:1、如何在分钟周期上取得日开盘数据?2、如何使交易模型不留隔夜单?1、使用逻辑判断函数取得当日开盘价:VALUEWHEN(COND,DATA)当条件COND满足时,取当时的DATA的值,否则取得VALUEWHEN的前一个值。当日开盘价可以表示为:O:VALUEWHEN(TIME=0900,OPEN);2、使用时间函数在尾盘时将所有仓单了结:TIME=1455,BP;TIME=1455,SP;因此可编写交易模型如下:A:=VALUEWHEN(TIME=0900,OPEN);CLOSE=A&&TIME1455,BK;CLOSEA||TIME=1455,BP;CLOSEA&&TIME1455,SK;CLOSEA||TIME=1455,SP;效果图如下,图中黄色水平线为当日开盘价逻辑判断EVERYEVERY(COND,N)判断过去N个周期内是否一直满足条件COND。例:EVERY(CLOSEOPEN,5);表示5个周期内一直是阳线使用此函数可以简化交易模型内容,比如要表示均线MA5、MA10、MA20在5周期内的多头排列,不必使用“MA5MA10&&REF(MA5,1)REF(MA10,1)&&REF(MA5,1)REF(MA20,1)&&REF(MA5,2)REF(MA10,2)...&&REF(MA5,5)REF(MA20,5)”这样繁琐的语句,只需要使用EVERY(MA5MA10,5)&&EVERY(MA10MA20,5)就可以了。5周期内均线多头排列即开多仓,5周期内均线空头排列即开空仓的交易模型即可表示如下:•MA5:=MA(CLOSE,5);•MA10:=MA(CLOSE,10);•MA20:=MA(CLOSE,20);•EVERY(CLOSEOPEN,5)&&EVERY(MA10MA20,5),BPK;•EVERY(MA5MA10,5)&&EVERY(MA10MA20,5),SPK;金融统计函数BARSLASTBARSLAST(X)求上一次条件成立到当前的周期数。使用BARSLAST函数可以起到过滤作用,例如KD数值接近纠结在一起时交叉过于频繁,使用BARSLAST就可以过滤掉一些交叉:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M2,1);CROSS(K,D)&&BARSLAST(CROSS(K,D))P,BPK;CROSS(D,K)&&BARSLAST(CROSS(D,K))P,SPK;上图为使用过滤条件的效果图,下图为直接使用KD交叉为买卖条件的模型效果示意图
本文标题:程序化交易入门
链接地址:https://www.777doc.com/doc-3440035 .html