全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
2346 7
2017-02-28
策略原理:
          将资金分为N份,采取突破高点的形式入场,止损为10%,止盈为11%
          如果该份资金获利超过11%,则上移止盈止损线,且启动下一份资金抛点入场。
          仅多头入场

回测曲线(由Auto-trader软件提供回测报告):


网格资金管理(突破进场).png

策略源码:

function  Strategy1(freq)%


targetList  =  traderGetTargetList();  

%获取目标资产信息

HandleList  =  traderGetHandleList();

%获取账户句柄

global  record;

for  k=1:length(targetList);


        %--------------------仓位、K线、当前bar的提取-----------------------------%

        %获取当前仓位

        [marketposition,~,~]=traderGetAccountPosition(HandleList(1),targetList(k).Market,targetList(k).Code);

        %策略中每次取数据的长度

        lags=90;

        dlags=31;

        barnum=traderGetCurrentBar(targetList(k).Market,targetList(k).Code);

        %数据长度限制

        if(barnum<lags)

                continue;

        end

        if(barnum<dlags)

                continue;

        end

        %获取K线数据

        [time,open,high,low,close,volume,~,~]  =  traderGetKData(targetList(k).Market,targetList(k).Code,'min',freq,  0-lags,  0,false,'FWard');

        [Dtime,Dopen,Dhigh,Dlow,Dclose,Dvolume,~,~]  =  traderGetKData(targetList(k).Market,targetList(k).Code,'day',1,  0-lags,  0,false,'FWard');

        if  length(close)<lags  ||  length(Dclose)<dlags

                continue;

        end;        

        %-------------------------交易逻辑-------------------------------%

        %----------入场信号--------------------%

        stoplossratio=0.01;

        stopearnratio=0.011;

        remain_num=find(record.isopen==1);

        remain.isopen=record.isopen(remain_num);

        remain.isearn=record.isearn(remain_num);

        remain.pivotprice=record.pivotprice(remain_num);

        remain.entrybar=record.entrybar(remain_num);

        remain.unit=record.unit(remain_num);

        [ValidCash,MarketCap,OrderFrozen,MarginFrozen,PositionProfit]  =  traderGetAccountInfo(HandleList(1));

        [~,~,Multiple,~,~,~,~,~,~]  =  traderGetFutureInfo(targetList(k).Market,targetList(k).Code);

        remain_share=10-length(remain_num);

        con1=0;

        if  remain_share~=0;

                con1=1;

                buyunit=fix(ValidCash/remain_share/close(end)/Multiple);

        end;

        for  i=1:length(remain_num)

                index=remain_num(i);

                if  close(end)<remain.pivotprice(i)-stoplossratio*remain.pivotprice(i)  %  触发止损线

                        orderID2=traderDirectSell(HandleList(1),targetList(k).Market,targetList(k).Code,remain.unit(i),0,'market','sell');

                        if  orderID2==0

                                continue;

                        end;

                        record.isopen(index)=0;

                elseif  close(end)>remain.pivotprice(i)+stopearnratio*remain.pivotprice(i)  %  触发止盈线

                        record.pivotprice(index)=close(end);

                        record.isearn(index)=2;

                end;

        end;

        %  入场条件

        ma2=ma(Dclose,30);

        con2=high(end)>max(high(end-60:end-20))  &&  close(end)>ma2(end);

        con3=isempty(find(remain.isearn==1,1));

        buycon=con1  &&  con2  &&  con3;

        %---------------------------入场操作--------------------------------%

        if  buycon

                orderID1=traderDirectBuy(HandleList(1),targetList(k).Market,targetList(k).Code,buyunit,0,'market','buy');

                if  orderID1==0

                        continue;

                end;

                record.pivotprice=[record.pivotprice,close(end)];

                record.isearn=[record.isearn,1];

                record.isopen=[record.isopen,1];

                record.unit=[record.unit,buyunit];

                record.entrybar=[record.entrybar,barnum];

        end;

end

end



策略来源:atrader社区-策略服务

目测有上百个策略可以免费下载~





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-3-1 10:01:23
很好的思路   
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-3 16:01:44
进入看了,有好多策略
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-4 14:52:28
资金管理类策略都上传到社区了,需要的自取
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-7 19:23:51
ghjktdf 发表于 2017-3-4 14:52
资金管理类策略都上传到社区了,需要的自取
谢谢楼主
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-7 22:22:16
哪个社区?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群