1.波动性突破实盘系统介绍
1.1系统设计思想
波动性突破, 本身带有一定程度自适应市场的特点, 为趋势跟踪系统中的上品, 我们再加入时间清仓、 顺势下轿的元素, 在中性的盘整市道中主动退出突破交易, 或在发生第二次波动性突破的时候顺势平仓,这样就部分解决了利润回撒的问题, 至于参数, 个人倾向于没有参数的交易系统模型最好, 最具有未来市场的适应能力, 如果必须要有一两个参数, 那么以该参数在大幅度变动的测试环境下, 仍然可以盈利为佳。
1.2波动性突破系统的文华财经源码:
TR:= MAX(MAX((HIGH-LOW),ABS(REF(CLOSE, 1)-HIGH)), ABS (REF(CLOSE, 1)-LOW));ATR := MA(TR, 10);DT:=CLOSE>REF(CLOSE, l)+REF(ATR, l)×1.5;KT:=CLOSEREF(CLOSE, l)+REF(ATR, l)×1.5, 2)=1&&DT:KT2:=COUNT(CLOSE<REF(CLOSE, 1)-REF(ATR, l)×1.5, 2)=1&&KT:DT,BPK;KT,SPK;CROSS (BARSLAST (DT),N) || DT2, SP;CROSS (BARSLAST (KT),N) || KT2, BP;
1.3文华财经函数注解:
文华中:
1、买开/卖开(BK/SK)、买平/卖平(BP/SP)和买平开/卖平开(BPK/SPK)的字母缩写。简单说,就是前者每次交易有间隔,类似于一般人的交易方式;而后者就是平仓后立即反手,是连续在市场交易。
2、REF(X,N) 引用X在N个周期前的值。
3、BARSLAST(X) 求上一次条件成立到当前的周期数。
4、COUNT(X,N) 表示统计在N周期内满足X条件的周期数。
5、CROSS(X,Y) 表示X上穿Y。
2.策略代码分享
2.1策略文件
function WATR(Int,Begin,cellPar)global idexKglobal Tlenglobal TimeDTglobal TimeKTN=cellPar{1};if InttraderSetParalMode(false);idexK=traderRegKData(day,1);Tlen=length(idexK(:,1));TimeDT=zeros(Tlen,1);TimeKT=zeros(Tlen,1);else%提取数据[mp,~,~] = traderGetAccountPositionV2(1,(1:Tlen));[~,HandListCap,~,~,~]=traderGetAccountInfoV2(1);iddexK = traderGetRegKData(idexK, 30, false);[Multiple, ~, ~, ~, ~, ~, ~] = traderGetFutureInfoV2(1:Tlen);for i=1:TlenidddexK=iddexK(1+8*(i-1):8*i,:);time=idddexK(1,:);high=idddexK(3,:);low=idddexK(4,:);close=idddexK(5,:);sharenum=floor(HandListCap*0.8/close(end)/Multiple(i)/Tlen);%指标计算TR=max(max((high(1:end-1)-low(1:end-1)),abs(close(1:end-1)-high(1:end-1))),abs(close(1:end-1)-low(1:end-1)));ATRValue=MA(TR,10);DT=close(end)>close(end-1)+ATRValue(end-1)*1.5;KT=close(end)-1)-ATRValue(end-1)*1.5;if DT==1TimeDT(i)=time(end);elseif KT==1TimeKT(i)=time(end);endD1=close(end-1)>close(end-2)+ATRValue(end-2)*1.5;D2=close(end-2)>close(end-3)+ATRValue(end-3)*1.5;K1=close(end-1)
end
end-2)-ATRValue(end-2)*1.5;K2=close(end-2)
end-3)-ATRValue(end-3)*1.5;DT2=(D1+D2==1)&&DT;KT2=(K1+K2==1)&&KT;SP=(time(end-N+1)>TimeDT(i))||DT2;BP=(time(end-N+1)>TimeKT(i))||KT2;%开平仓动作if mp(i)==0if KTtraderBuyV2(1,i,sharenum,0,market,buy);elseif DTtraderSellShortV2(1,i,sharenum,0,market,sell);endelseif mp(i)>0if DTtraderPositionToV2(1,i,0,0,market,stop);elseif BPtraderPositionToV2(1,i,0,0,market,stop);endelseif mp(i)<0if KTtraderPositionToV2(1,i,0,0,market,stop);elseif SPtraderPositionToV2(1,i,0,0,market,stop);endendendendendfunction MAValue=MA(Price,Length)MAValue=zeros(length(Price),1);for i=Length:length(Price)MAValue(i)=sum(Price(i-Length+1:i))/Length;endMAValue(1:Length-1)=Price(1:Length-1);end
股票投资小常识:股价已上涨了较大的涨幅,如果某日外盘大量增加,但股价却不涨,说明可能是庄家在制造假象准备出货。
2.2执行文件
targetList1 = traderGetCodeList(dce000);targetList2 =traderGetCodeList(czce000);targetList3 = traderGetCodeList(shfe000);targetList=[targetList1,targetList2,targetList3];targetList=targetList([2 16 17 18 33 47]);traderSetBacktest(100000000,0.0025,0.02,0,1,0,0);AccountList(1) = {FutureBackReplay};N=7;traderRunBacktestV2(WATR,@WATR,{N},AccountList(1),targetList,day,1,20110101,20170820,FWard);
股票投资小常识:大盘在大熊市的时候不能买入,即使是好企业、好行业的在技术买点好股票。
3.回测表现
对几种不同类型同时成交量活跃的商品期货2010年至2017年进行回测
点宽精品课程推荐
本周值得读的文章
2020大湾区杯粤港澳金融数学建模竞赛获奖名单
2020大湾区杯粤港澳金融数学建模竞赛优胜奖名单
点宽金融科技实验室预研课题新进展
股票投资小常识:企业的美好远景,鲜有实现的,关注现有业务更重要。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186