Upload
wan
View
161
Download
0
Embed Size (px)
DESCRIPTION
DF 登峰程序化交易平台 经典策略模型. ---------------- 深圳登峰科技有限公司. 交易策略形象化. 我有想法和理论,怎么变成 DF 策略呢?. 交易策略. 一个设计良好的交易系统,必须对投资决策的各个相关环节做出相应明确的规定,同时还必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。 ------------《 系统交易方法 》. R-Breaker. R-Breaker R-breaker 是一个专门使用在股票指数上的交易系统,该系统为日内交易策略,不持仓过夜。 R-Breaker 特点 - PowerPoint PPT Presentation
Citation preview
DF 登峰程序化交易平台 经典策略模型
---------------- 深圳登峰科技有限公司
深圳登峰科技有限公司
我有想法和理论,怎么变成 DF 策略呢?
交易策略形象化
深圳登峰科技有限公司
交易策略
一个设计良好的交易系统,必须对投资决策的各个相关环节做出相应明确的规定,同时还必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。
------------ 《系统交易方法 》
深圳登峰科技有限公司
R-Breaker R-Breaker R-breaker 是一个专门使用在股票指数上的交易系统,该系统为日内交易策略,不持仓过夜。 R-Breaker 特点 结合了趋势和反转两种交易方法,既进行趋势交易也进行反转交易。
观察区
深圳登峰科技有限公司
R-Breaker 交易原理R-Breaker 交易系统的基本原理: 当日内最高价超过观察卖出价 (Ssetup) 后,盘中价格出现回落,且进一步跌破反转卖出价 (Senter) 构成的支撑线
时,采取反转策略,即在该点位 ( 反手、开仓 ) 做空; 当日内最低价低于观察买入价 (Bsetup) 后,盘中价格出现反弹,且进一当日内最低价低于观察买入价 (Benter) 后
,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位 ( 反手、开仓 ) 做多;
在空仓的情况下,如果盘中价格超过突破买入价 (Bbreak) ,则采取趋势策略,即在该点位开仓做多;在空仓的情况下,如果盘中价格跌破突破卖出价 (Sbreak) ,则采取趋势策略,即在该点位开仓做空。
设定止损条件。当亏损达到设定值后,平仓。 设定过滤条件。当前一个交易日波幅过小,该交易日不进行交易。 在每日收盘前,对所持合约进行平仓。
深圳登峰科技有限公司
DF 策略编写 ---R-Breaker
ParamsNumber notbef(90000), notaft(145500),f1(0.35), f2(0.07), f3(0.25); Number reverse0(1.00), rangemin(0.2), xdiv(3), lots(10), ATRLength(20), TrailStop(3);
VarsArraySeries ssetup(0), bsetup(0),senter(0),benter(0),bbreak(0),sbreak(0),ltoday(0),hitoday(9999); ArraySeries startnow(0),div(0), rfilter(0),ATRValue(0),HiAfterEntry,LoAfterEntry;ArraySeries ATRValue(0),HiAfterEntry,LoAfterEntry;Array i_reverse, i_rangemin, StopLine;Bool B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17,B18,B19,B20;
Beginssetup=HIGHD(1)+f1*(CLOSED(1)-LOWD(1));// 昨日最高 +0.35* (昨天收盘 - 昨天最低)
senter=((1+f2)/2)*(HIGHD(1)+CLOSED(1))-(f2)*LOWD(1);// (( 1+0.07)/2*( 昨最高 + 昨最低) -0.07* 昨天最低
benter=((1+f2)/2)*(LOWD(1)+CLOSED(1))-(f2)*HIGHD(1);// (( 1+0.07)/2*( 昨最高 + 昨最低) -0.07* 昨天最高
bsetup=LOWD(1)-f1*(HIGHD(1)-LOWD(1));// 昨最低 -0.35* (昨最高 - 昨收盘)bbreak=ssetup+f3*(ssetup-bsetup);// ( ssetup+0.25*(ssetup-bsetup);
sbreak=bsetup-f3*(ssetup-bsetup);//bsetup-0.25*(ssetup-bsetup)
深圳登峰科技有限公司
DF 策略编写 ---R-Breaker
// 当日内最高价超过观察卖出价后,盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,采取反转策略,即在该点位(反手、开仓)做空;
hitoday=HIGHD(0);ltoday=LOWD(0);
B2=hitoday>ssetup;IF(B2){
B3=CROSS(senter,CLOSE) AND B0 AND rfilter AND MARKETPOSITION==1;IF(B3){
SELLSHORT(lots,CLOSE);}
}// 当日内最低价低于观察买入价后,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位(反手、开仓)做多;
B4= ltoday<bsetup;IF(B4){
B5=CROSS(CLOSE,benter) AND B0 AND rfilter AND MARKETPOSITION==-1;IF(B5){
BUY(lots,CLOSE);}
}
深圳登峰科技有限公司
DF 策略编写 ---R-Breaker
// 在空仓的情况下,如果盘中价格超过突破买入价,则采取趋势策略,即在该点位开仓做多; B6=MARKETPOSITION==0 AND CROSS(CLOSE,bbreak) AND B0 AND rfilter;IF(B6){
BUY(lots,CLOSE);}
// 在空仓的情况下,如果盘中价格跌破突破卖出价,则采取趋势策略,即在该点位开仓做空。
B7=MARKETPOSITION==0 AND CROSS(sbreak,CLOSE) AND B0 AND rfilter;IF(B7){
SELLSHORT(lots,CLOSE);}
深圳登峰科技有限公司
DF 策略编写 ---R-Breaker
// 设定止损条件。当亏损达到设定值后,平仓。B15 = MarketPosition == 1 and BarsSinceEntry == 0; IF(B15){
HiAfterEntry = High;}B16 = MarketPosition == 1 and BarsSinceEntry >= 1;If (B16){
HiAfterEntry = Max(HiAfterEntry,High);}B17 = MarketPosition == -1 and BarsSinceEntry == 0;If (B17){
LoAfterEntry = Low;}B18 = MarketPosition == -1 and BarsSinceEntry >= 1; If (B18){
LoAfterEntry = Min(LoAfterEntry,Low);}
ATRValue = ma(MAX(ref(close,1),h)-min(ref(close,1),l),ATRLength);B11 = BarssinceEntry > 0 and MarketPosition == 1;B12 = BarsSinceEntry > 0 and MarketPosition == -1;IF(B11){
StopLine = REF(HiAfterEntry,1) - TrailStop *REF(ATRValue,1);
B13 = Low <= StopLine;
IF(B13){
Sell(0, Min(Open, Stopline));
}}ELSE IF(B12){
StopLine = REF(LoAfterEntry,1) + TrailStop * REF(ATRValue,1);
B14 = High >= StopLine;If(B14){
BuyToCover(0, Max(Open,Stopline));
}}
深圳登峰科技有限公司
DF 策略编写 ---R-Breaker
// 指定日内交易B8=TIME>145500 AND TIME <150000;IF(B8){
B9=MARKETPOSITION==1;IF(B9){
SELL(0,CLOSE);}B10=MARKETPOSITION==-1;IF(B10){
BUYTOCOVER(0,CLOSE);}
}End
完
指定日内交易的部分
深圳登峰科技有限公司
Dual-Thrust
Dual-Thrust Dual-Thrust 是较为常见的日内交易策略之一,以今日开盘价加减一定比例的昨日振幅,确定上下轨。日内突破上轨时平空做多,突破下轨时平多做空。
Dual-Thrust 特点 Dual Thrust 在 Range 的设置上,引入前 N 日的四个价位,使得一定时期内的 Range 相对稳定,可以适
用于日间的趋势跟踪;
深圳登峰科技有限公司
Dual-Thrust 交易原理Dual-Thrus 交易系统的基本原理:•当日内最高价高于价格上轨后,在该点位开仓做多;•当日内最低价低于价格下轨后,在该点位开仓做空;•在持仓的情况下,如果盘中价格突破价格上下轨,则在该点位反手开仓。
深圳登峰科技有限公司
DF 策略编写 --- Dual-ThrustPARAMS
NUMBER k1(0.5);NUMBER k2(0.5);NUMBER Mday(1);NUMBER Nday(1);NUMBER lots(1);
VARSARRAY buyrange(0),sellrange(0),buytrig(0),selltrig(0),HH,LL,HC,LC,buypoint,sellpoint;BOOL B1,B2,B3,B4,B5,B6,B7;
BEGIN
HH=HHV(HIGHD(1),Mday);//M 日 high 的最高价HC=HHV(CLOSED(1),Mday); //M 日 close 的最高价LL=LLV(LOWD(1),Mday); //M 日 low 的最低价LC=LLV(CLOSED(1),Mday); //M 日 close 的最低价sellrange=max(HH-LC,HC-LL);// 计算空头触发区间
深圳登峰科技有限公司
DF 策略编写 --- Dual-ThrustHH=HHV(HIGHD(1),Nday);//N 日 high 的最高价HC=HHV(CLOSED(1),Nday);//N 日 close 的最高价LL=LLV(LOWD(1),Nday);//N 日 low 的最低价LC=LLV(CLOSED(1),Nday);//N 日 close 的最低价buyrange = max(HH-LC,HC-LL);// 计算多头触发区间
buytrig=k1*buyrange;selltrig=k2*sellrange;// 计算买入卖出触发条件
buypoint=OPEND(0)+buytrig;sellpoint=OPEND(0)-selltrig;// 计算买入卖出价格
OUTPUT("buypoint",buypoint);OUTPUT("sellpoint",sellpoint);// 输出买入卖出价格线
当 K1<K2 时,多头相对容易被触发 , 当 K1>K2 时,空头相对容易被触发。
因此,投资者在使用该策略时,一方面可以参考历史数据测试的最优参数。
另一方面,则可以根据自己对后势的判断,或从其他大周期的技术指标入手,阶段性地动态调整K1 和 K2 的值。
深圳登峰科技有限公司
DF 策略编写 --- Dual-ThrustB1=HIGH>=buypoint;B2=LOW<=sellpoint;
// 空仓状态下,日内价格突破价格区间,开仓B3=MARKETPOSITION==0 AND B1;IF(B3){
BUY(lots,MAX(open,buypoint));
} B4 = MARKETPOSITION==0 AND B2;
IF(B4){
SELLSHORT(lots,Min(open,sellpoint));}
// 持仓状态下,日内价格突破价格区间,反手开仓B4=MARKETPOSITION==-1 AND B1;IF(B4){
BUY(lots,Max(open,buypoint));| }
B5=MARKETPOSITION==1 AND B2;
IF(B5){
{SELLSHORT(lots,Min(open,sellpoint));
}END
深圳登峰科技有限公司
策略优化从哪些方面着手?
有完善的进出场规则
添加止盈止损条件
改成日内交易系统
通过 DF 参数优化,调试交易策略
配合 DF 风控系统运行策略
深圳登峰科技有限公司
Thank you!
深圳登峰科技有限公司